307 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			307 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# ZeroTier 结合rip 实现局域网互访
 | 
						||
 | 
						||
### 为什么选择 ZeroTier 与 rip 
 | 
						||
 | 
						||
个人使用ZeroTier体验不错,
 | 
						||
 | 
						||
### 网络拓扑图
 | 
						||
 | 
						||
```mermaid
 | 
						||
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
 | 
						||
```
 | 
						||
 | 
						||
 | 
						||
 | 
						||
如图
 | 
						||
 | 
						||

 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
#### 配置 openWrt  
 | 
						||
 | 
						||
##### 安装 ZeroTier
 | 
						||
 | 
						||
在 mi_4a,nx30pro 中分别安装 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  必须装 其他的选配
 | 
						||
 | 
						||
 | 
						||
 | 
						||
完整版如下
 | 
						||
 | 
						||
```bash
 | 
						||
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+ 中的地址
 | 
						||
 | 
						||

 | 
						||
 | 
						||
 | 
						||
 | 
						||
### 问题
 | 
						||
 | 
						||
- 在租房一侧 存在出入口不一致的情况, 因为在pro+ 上设置的路由 并没有下发到设备侧,
 | 
						||
 | 
						||
  如图所示 去程经过mi_4a一个路由,  两跳 到达目的地。回程 经过pro+,mi_4a,两个路由 三跳 到达目的地
 | 
						||
 | 
						||
  
 | 
						||
 | 
						||
  
 | 
						||
 | 
						||
  ```mermaid
 | 
						||
  sequenceDiagram 
 | 
						||
  
 | 
						||
  zt_192_pc->>mi_4a: 192.168.192.3->192.168.192.2  
 | 
						||
  
 | 
						||
  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远程桌面 远程桌面上 添加静态路由
 | 
						||
 | 
						||
  ```cmd
 | 
						||
  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.10(mi_4a) 权重10  走序号为 2的网卡
 | 
						||
 | 
						||
  网卡需要可以使用   route 命令查看,出来的网卡列表 前两个数字就是需要。
 | 
						||
 | 
						||
  ```cmd
 | 
						||
  route print  -4
 | 
						||
  ```
 | 
						||
 | 
						||
   |