文章介绍:使用VyOS Stream稳定版结合当前非常火热的一款开源去中心化组网软件EasyTier,完成点到点,点到多点,完全无公网IP实现高效稳定快速组网,助力企业构建自己的一张SDWAN网络。
一、EasyTier
1.1、官网
1.2、GitHub
1.3、菜鸟教程
二、VyOS
2.1、VyOS镜像
2.2、VyOS安装
2.3、VyOS配置
三、组网案例
3.1、组网需求
3.2、规划拓扑
3.3、架构说明
四、组网配置
4.1、总部VyOS
4.1.1、基础配置
set interfaces ethernet eth0 address '192.168.6.222/24'
set protocols static route 0.0.0.0/0 next-hop 192.168.6.254
set system name-server '223.5.5.5'
set system name-server '114.114.114.114'
4.1.2、创建et配置目录
sudo mkidr -p /config/easytier
4.1.3、进入配置目录
cd /config/easytier
4.1.4、下载配置文件
sudo wget https://ghfast.top/https://github.com/EasyTier/EasyTier/releases/download/v2.3.2/easytier-linux-x86_64-v2.3.2.zip
4.1.5、解压配置文件
sudo unzip easytier-linux-x86_64-v2.3.2.zip
4.1.6、进入配置目录
cd easytier-linux-x86_64
4.1.7、执行组网命令
sudo nohup ./easytier-core -i 100.64.0.1 --network-name yydy --network-secret sdwan -p tcp://public.easytier.top:11010 -p tcp://et.sh.suhoan.cn:11010 -p tcp://sh.993555.xyz:11010 --hostname=zongbu-vyos &
sudo
: 以管理员权限运行命令。nohup
: 让程序在后台运行。./easytier-core
: 运行easytier-core
主程序。-i 100.64.0.1
: 指定总部VyOS设备的EasyTier虚拟网卡的 IP 地址。总部V有OS设备将分配100.64.0.1
。--network-name yydy
: 指定要加入的 虚拟网络名称。只有网络名称相同的设备才能互相通信。--network-secret sdwan
: 指定虚拟网络的 密码/密钥 (sdwan
)。只有知道这个密码的设备才能加入yydy
这个网络,保证安全性。-p tcp://public.easytier.top:11010
-p tcp://et.sh.suhoan.cn:11010
-p tcp://sh.993555.xyz:11010
:-p
: 用于指定连接和中转的 中继服务器 或 打洞服务器。tcp://
: 使用 TCP 协议连接。
--hostname=zongbu-vyos
: 总部VyOS设备在easytier虚拟网络中的 主机名。&
:字符结合nohup命令让easytier程序在 后台运行。
4.1.8、创建GRE隧道
set interfaces tunnel tun1000 address '100.68.0.1/30'
set interfaces tunnel tun1000 description to-fenzhi
set interfaces tunnel tun1000 encapsulation 'gre'
set interfaces tunnel tun1000 remote '100.64.0.2'
set interfaces tunnel tun1000 source-address '100.64.0.1'
4.1.9、组网BGP配置
set policy prefix-list LAN rule 10 action 'permit'
set policy prefix-list LAN rule 10 prefix '192.168.6.0/24'
set policy route-map LAN rule 10 action 'permit'
set policy route-map LAN rule 10 match ip address prefix-list 'LAN'
set policy route-map LAN rule 20 action 'deny'
set protocols bgp address-family ipv4-unicast redistribute connected route-map 'LAN'
set protocols bgp neighbor 100.68.0.2 address-family ipv4-unicast prefix-list export 'LAN'
set protocols bgp neighbor 100.68.0.2 address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp neighbor 100.68.0.2 remote-as '65000'
set protocols bgp neighbor 100.68.0.2 update-source '100.68.0.1'
set protocols bgp parameters router-id '100.68.0.1'
set protocols bgp system-as '65000'
4.2、分支 VyOS
4.2.1、基础配置
set interfaces ethernet eth0 address '10.97.97.222/24'
set protocols static route 0.0.0.0/0 next-hop 10.97.97.1
set system name-server '223.5.5.5'
set system name-server '114.114.114.114'
4.2.2、创建et配置目录
sudo mkidr -p /config/easytier
4.2.3、进入配置目录
cd /config/easytier
4.2.4、下载配置文件
sudo wget https://ghfast.top/https://github.com/EasyTier/EasyTier/releases/download/v2.3.2/easytier-linux-x86_64-v2.3.2.zip
4.2.5、解压配置文件
sudo unzip easytier-linux-x86_64-v2.3.2.zip
4.2.6、进入配置目录
cd easytier-linux-x86_64
4.2.7、执行组网命令
sudo nohup ./easytier-core -i 100.64.0.2 --network-name yydy --network-secret sdwan -p tcp://public.easytier.top:11010 -p tcp://et.sh.suhoan.cn:11010 -p tcp://sh.993555.xyz:11010 --hostname=fenzhi-vyos &
4.2.8、创建GRE隧道
set interfaces tunnel tun1000 address '100.68.0.2/30'
set interfaces tunnel tun1000 description to-zongbu
set interfaces tunnel tun1000 encapsulation 'gre'
set interfaces tunnel tun1000 remote '100.64.0.1'
set interfaces tunnel tun1000 source-address '100.64.0.2'
4.2.9、组网BGP配置
set policy prefix-list LAN rule 10 action 'permit'
set policy prefix-list LAN rule 10 prefix '10.97.97.0/24'
set policy route-map LAN rule 10 action 'permit'
set policy route-map LAN rule 10 match ip address prefix-list 'LAN'
set policy route-map LAN rule 20 action 'deny'
set protocols bgp address-family ipv4-unicast redistribute connected route-map 'LAN'
set protocols bgp neighbor 100.68.0.1 address-family ipv4-unicast prefix-list export 'LAN'
set protocols bgp neighbor 100.68.0.1 address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp neighbor 100.68.0.1 remote-as '65000'
set protocols bgp neighbor 100.68.0.1 update-source '100.68.0.2'
set protocols bgp parameters router-id '100.68.0.2'
set protocols bgp system-as '65000'
五、EasyTier状态查询
5.1、进入easytier配置目录
cd /config/easytier/easytier-linux-x86_64
5.2、执行查询命令
sudo ./easytier-cli peer
六、组网业务查询
6.1、iperf3打流
6.1.1、总部iperf3服务端
sudo iperf3 -s
6.1.2、分支iperf3客户端
sudo iperf3 -c 100.64.0.1 -i 1 -t 20
6.2、BGP路由表
6.2.1、总部VyOS
run show bgp summary
run show ip route bgp
6.2.2、分支VyOS
run show bgp summary
run show ip route bgp
七、设置EasyTier开机自启动
7.1、编辑VyOS开机脚本文件
sudo nano /config/scripts/vyos-postconfig-bootup.script
7.2、添加启动ET命令
7.2.1、总部
cd /config/easytier/easytier-linux-x86_64/
sudo nohup ./easytier-core -i 100.64.0.1 --network-name yydy --network-secret sdwan -p tcp://public.easytier.top:11010 -p tcp://et.sh.suhoan.cn:11010 -p tcp://sh.993555.xyz:11010 --hostname=zongbu-vyos &
7.2.2、分支
cd /config/easytier/easytier-linux-x86_64/
sudo nohup ./easytier-core -i 100.64.0.2 --network-name yydy --network-secret sdwan -p tcp://public.easytier.top:11010 -p tcp://et.sh.suhoan.cn:11010 -p tcp://sh.993555.xyz:11010 --hostname=fenzhi-vyos &