zerotier客户端所在的网络里的其它设备, 通过开启nat功能实现办公室访问这中的设备
在zerotier网站中做好这个路由,如下:

192.168.196.16是家中的一台设备。 安装了zerotier。
- 在这台设备上开启nat功能
- echo ‘net.ipv4.ip_forward=1’ >> /etc/sysctl.conf 或者(sysctl -w net.ipv4.ip_forward=1 )
- sysctl -p
- 查看设备中的网络接口信息
- ip a
- 设定两个变量 PHY_IFACE=eth0; ZT_IFACE=ztks5sgvtf
- iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
- iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state –state RELATED,ESTABLISHED -j ACCEPT
- iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
- iptables-save

3. 效果成功 ,可以ping通家里的网关了

4. 在实际运行中, 如果设备重启动后。 会失效, 这里只要重新执行如下两段即可恢复
2. 设定两个变量 PHY_IFACE=eth0; ZT_IFACE=ztks5sgvtf
3. iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
上面的2、3重新执行一下即可以解决问题。
5. openwrt 中布好zerotier后。 要设定防火培规则。参考下面的设定,这里假设zerotier防火墙区域在vpn
配置 OpenWrt 防火墙
OpenWrt 默认会阻止从 WAN 口(ZeroTier 虚拟网卡被视作 WAN)到 LAN 的访问,所以我们需要放行。
- 进入 OpenWrt Web 界面,“网络” -> “防火墙”。
- 在 “区域” 设置中,找到
lan区域。 - 确保 “允许转发到目标区域” 和 “允许来自源区域的转发” 中,包含了你的 ZeroTier 接口(例如
zt0)所在的区域。如果你之前将zt0加入了lan区域,那么它已经包含在内了。 - 一个更通用和简单的方法是,在 “通信规则” 选项卡中添加一条规则:
- 名称:
Allow-ZeroTier-to-LAN - 协议:
任何 - 源区域:
wan(因为 ZeroTier 默认在 wan 区域) - 目标区域:
lan - 操作:
接受
- 名称:
