适用于 RouterOS 7.x(支持 Container) 内容包括:容器启用、veth 网络、ZeroTier 加入、静态路由、防火墙、NAT 等完整网络配置。
1. 启用 RouterOS 容器功能
开启容器支持:
/system/device-mode/update container=yes
执行后必须重启 RouterOS:
/system/reboot
2. 创建 veth 网络接口并加入 Bridge
创建容器使用的 veth 接口:
/interface veth add name=zerotier address=10.10.10.86/24 gateway=10.10.10.253
如果 RouterOS 尚未创建 Bridge,请创建:
/interface bridge add name=bridge1
将 veth 接口加入 Bridge:
/interface bridge port add interface=zerotier bridge=bridge1
3. 上传 ZeroTier 容器镜像并启动容器
将 zerotier.tar 上传到 RouterOS(建议 WinSCP 或 WebFig → Files)。
创建容器:
/container add file=zerotier.tar interface=zerotier root-dir=container/zerotier start-on-boot=yes
确认容器是否运行:
/container/print
状态显示 running 即启动成功。
4. 加入 ZeroTier 网络
查看容器(获取容器 ID):
/container/print
进入容器 Shell(示例:容器编号为 2):
/container/shell 2
加入 ZeroTier 网络(替换 <网络ID>):
zerotier-cli join <网络ID>
查看网络状态:
zerotier-cli info
zerotier-cli listnetworks
5. RouterOS 静态路由设置
确保 RouterOS 能正确把 ZeroTier 网段流量转发到容器。
示例:
- ZeroTier 网段:
192.168.192.0/24 - 容器 veth IP:
10.10.10.86
添加静态路由:
/ip route
add dst-address=192.168.192.0/24 gateway=10.10.10.86 comment="Route to Zerotier container"
6. RouterOS 防火墙与 NAT 完整配置
下面的配置涵盖多种典型需求,包括 LAN ↔ ZeroTier、ZeroTier 上网、远程访问内网服务等。
6.1 配置目标与思路
| 目的 | 配置思路 |
|---|---|
| ① ZeroTier 节点能访问 RouterOS 本地 LAN(如 10.10.10.0/24) | 添加路由 + 防火墙 |
| ② LAN 可以访问 ZeroTier 节点(双向互通) | 添加 NAT + 防火墙 |
| ③ ZeroTier 节点可以访问互联网 | SNAT(伪装) |
| ④ 允许容器与 LAN 流量互通 | 放行 veth 接口流量 |
6.2 防火墙设置(Filter Rules)
允许 ZeroTier → LAN
/ip firewall filter
add chain=forward in-interface=bridge1 src-address=192.168.192.0/24 dst-address=10.10.10.0/24 action=accept comment="ZeroTier → LAN"
192.168.192.0/24为示例 ZeroTier 网段bridge1是 LAN 所在桥接接口 根据你的实际环境修改
允许 LAN → ZeroTier(可选)
/ip firewall filter
add chain=forward in-interface=bridge1 src-address=10.10.10.0/24 dst-address=192.168.192.0/24 action=accept comment="LAN → ZeroTier"
6.3 NAT 设置(ZeroTier 上网 + 内网访问)
ZeroTier 节点访问互联网(SNAT)
/ip firewall nat
add chain=srcnat src-address=192.168.192.0/24 out-interface=pppoe-out1 action=masquerade comment="Zerotier 上网"
ZeroTier 访问本地内网服务(DNAT)
示例:ZeroTier 节点访问内网 10.10.10.100 的 80 端口:
/ip firewall nat
add chain=dstnat src-address=192.168.192.0/24 dst-port=80 protocol=tcp action=dst-nat to-addresses=10.10.10.100 to-ports=80 comment="Zerotier 访问内网 80 端口"
7. 通信验证
在 RouterOS 上:
/ping 192.168.192.1
在 LAN 主机上:
ping 192.168.192.x # ZeroTier 其他节点







