利用群晖Zerotier套件虚拟组网 打通多个局域网互访

局域网A:路由器192.168.31.1 小米路由器;群晖DS920一台192.168.31.111,已加入zerotier。
局域网B:路由器192.168.9.1 openwrt路由器自带zerotier已加入;群晖DS918一台192.168.9.118,已加入zerotier。

功能需求:两个局域网内的所有设备都可以互访,包括没安装zerotier的局域网设备。

(如果只是希望B访问局域网A的内网资源,配置好A群晖的zerotier,局域网B的电脑安装个zerotier就行了)

一、配置局域网A
群晖DS920安装zerotier加入网络

1、SSH连接执行以下命令,自动在群晖系统 /etc/sysctl.conf 中增加
(ipv6按需,没的话可以不加)

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

2、ifconfig查看出口网卡,添加计划任务

ifconfig

如上图所示,因为开了虚拟机套件,192.168.31.111实际出口网卡名称是ovs_eth0(一般情况是eth0)

控制面板-任务计划-新增-触发的任务,注意用户账号:root,按照你网口实际情况修改ovs_eth0

sleep 1m
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

注意:仅DSM7可以完整使用iptables。控制面板-计划任务,新增-触发的任务,root权限。

 

二、配置局域网B

路由器openwrt配置zerotier,并勾选:自动允许客户端 NAT

如果。。。路由器不支持安装zerotier呢???可以按照局域网A配置,在局域网B中群晖DS918一样的操作即可!!!

三、配置zerotier路由表

在zerotier后台Advanced-Managed Routes里Add Routes增加两个路由表

192.168.31.0/24 192.168.192.15
192.168.9.0/24 192.168.192.34

192.168.192.15是局域网A中群晖920+在zerotier的ip地址
192.168.192.34是局域网B中openwrt路由器在zerotier的ip地址

 

 

如果不生效试试ssh运行一下 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

会不会报错:iptables v1.8.3 (legacy): can't initialize iptables table `nat': iptables who? (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

在计划任务增加一行sudo modprobe ip_tables

sleep 1m
sudo modprobe ip_tables
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

 

 

阅读剩余
THE END