article/openwrt/zeroTier结合rip动态路由协议实现互访.md
2023-11-19 14:01:45 +08:00

5.4 KiB
Raw Blame History

ZeroTier 结合rip 实现局域网互访

为什么选择 ZeroTier 与 rip

个人使用ZeroTier体验不错

名词解释

ZeroTier

自行了解

rip

rip 是一种动态路由协议 可以自动学习路由

frr

frr 是一个 实现了 rip bgp 等多种 路由协议的软件包,同类型的还有 Quagga 等

网络拓扑图

graph TD;
	
	LAN-124((LAN-124.0/24))
	ZT-17((zt-17.0/24)) 
	LAN-123((LAN-123.0/24))




	nx30pro(nx30pro)
	mi_4A(mi_4A)

	ZT-192((zt-192.0/24))
	ZT-191((zt-191.0/24))
	
	pro+(pro+)
	

	
	
	
	LAN-124-->|192.168.124.1|nx30pro
	nx30pro-->|192.168.124.100/24|LAN-124-pc1;
	nx30pro-->|192.168.124.120/24|LAN-124-pc2;
	

	LAN-123 -->|192.168.123.1|pro+

	ZT-17 -.->|10.147.17.214/24| mi_4A;
	ZT-17 -.->|10.147.17.219/24| nx30pro;
	   	
    ZT-192-.->|192.168.192.2|mi_4A;    	
	ZT-191-.->|192.168.191.2|mi_4A;
	
	ZT-192-.->|192.168.192.2|zt-192-pc1;    	
	ZT-191-.->|192.168.191.2|zt-191-pc1;   
	
	
   	pro+-->|192.168.123.100|LAN-123-PC;
    pro+-->|192.168.123.71|nas;
    pro+-->|192.168.123.10|mi_4A;
   	

	

	
	



 




LAN123 是本地局域网(租房) 路由器为中兴的 PRO+ 网段为 192.168.123.0/24

LAN124 是本地局域网 (家) 路由器为h3c的 nx30pro 网段为 192.168.124.0/24

zt17 虚拟局域网 (用于动态路由通信) 网段为 10.147.17.0/24

zt192 虚拟局域网 (用于节点接入) 网段为 192.168.192.0/24

zt191 虚拟局域网 (用于节点接入) 网段为 192.168.191.0/24

mi_4a 是刷了openWrt 固件的 小米4A路由器

在次拓扑中 充当网段的中转节点

ip 如下

192.168.123.10/24	本地局域网
192.168.192.2/24	zt节点接入
192.168.191.2/24	zt节点接入
10.147.17.214/24	动态路由互联

nx30pro 是刷了 openWrt 固件的新华三30pro路由器在次拓扑中充当两个网段的中转节点

由于直接采用的nx30pro 拨号 ,本节点比上一个节点少一个路由。

ip如下

192.168.124.1/24    本地局域网
10.147.17.219/24	动态路由互联

nas 是租房的nas 服务器 ip为 192.168.123.71/24

创建ZeroTier

创建三个 zt-lan

网段分别为

192.168.192.0/24 zt节点接入 192.168.191.0/24 zt节点接入 10.147.17.0/24 动态路由互联

在192.168.192.0/24 添加路由

192.168.191.0/24 via 192.168.192.2
192.168.123.0/24 via 192.168.192.2
192.168.124.0/24 via 192.168.192.2

在192.168.191.0/24 添加路由

192.168.192.0/24 via 192.168.191.2
192.168.123.0/24 via 192.168.191.2
192.168.124.0/24 via 192.168.191.2

如图

image-20230917124033764

配置 openWrt

安装 ZeroTier

在 mi_4anx30pro 中分别安装 ZeroTier

mi_4a

在mi_4a 中将三个zt-lan 添加至路由其中,

并为三个zt-lan 创建接口按照规划设置静态ip,防火墙区域选择lan

nx30pro

在nx30pro中将zt-17的id 添加至路由其中,

并创建 接口按规划的设置IP防火墙区域选择lan

安装 frr

ssh 登录 openWrt 安装 以下软件包

opkg update
opkg install frr frr-ripd frr-zebra frr-vtysh frr-watchfrr

说明:

frr frr-zebra frr-vtysh frr-watchfrr 必须装 其他的选配

完整版如下

opkg update
opkg install frr frr-babeld frr-bfdd frr-bgpd frr-eigrpd frr-fabricd frr-isisd frr-ldpd frr-libfrr frr-nhrpd frr-ospf6d frr-ospfd frr-pbrd frr-pimd frr-ripd frr-ripngd frr-staticd frr-vrrpd frr-vtysh frr-watchfrr frr-zebra

编辑配置

vi  /etc/frr/daemons

ripd=no 修改成 ripd=yes 保存

vi /etc/frr/frr.conf

添加网段 在图中红框位置 添加 mi_4a

router rip
 route 10.147.17.0/24
 network 192.168.123.0/24
 network 192.168.192.0/24
 network 192.168.191.0/24

添加网段 在图中红框位置 添加 (华三)

router rip
 route 10.147.17.0/24
 network 192.168.124.0/24

重启 frr

/etc/init.d/frr restart

查看状态

等一两分钟后

执行以下命令可以看到 已经在交换路由了也可以去openwrt 路由界面上观察 是否有rip 字样的路由

vtysh
show ip rip status 

pro+路由配置

登录本地 路由器 设置静态路由 将ZeroTier的网段指向 openWrt 在5400 pro+ 中的地址

image-20230917123812418

问题

  • 在租房一侧 存在出入口不一致的情况, 因为在pro+ 上设置的路由 并没有下发到设备侧,

    如图所示 去程经过mi_4a一个路由 两跳 到达目的地。回程 经过pro+,mi_4a,两个路由 三跳 到达目的地

    sequenceDiagram 
    
    zt_192_pc->>mi_4a: 192.168.192.3->192.168.192.10  
    
    mi_4a->>rdp远程桌面: 192.168.123.10->192.168.123.160
    
    
    rdp远程桌面->> pro: 192.168.123.160->192.168.123.1
    pro->> mi_4a: 192.168.123.1->192.168.123.10
    mi_4a->> zt_192_pc: 192.168.192.2->192.168.192.3
    

    解决办法:在 rdp远程桌面 远程桌面上 添加静态路由

    route ADD 192.168.192.0 MASK 255.255.255.0  192.168.123.10 METRIC 10 IF 2
    

    命令解释

    添加一条路由 匹配 192.168.192.0/24 的ip 下一跳 去往 192.168.123.10mi_4a 权重10 走序号为 2的网卡

    网卡需要可以使用 route 命令查看,出来的网卡列表 前两个数字就是需要。

    route print  -4