
分享一个案例适用于单位之间或者单位与家庭也或者家庭与家庭之间异地组网。从多年来的使用经历来看使用zerotier组网网速快延迟小使用方便可靠。为什么在centos9系统上配置原因是之前使用旁路由器N1改的硬件刷写或者使用TF卡烧录的openWRT长时间使用硬件出现了故障正好家里有已被淘汰的小主机功耗不高大约20W左右8代的intel的CPU集成显卡的主板再加上之前8G和16G内存纯属白菜价可惜当时没囤积一批貌似损失几个小目标。16G的DDR4-2666MHZ的内存85.21元人民币左右购买的现在看了一下同样的内存条现价已经650了。所以在这样的背景下使用淘汰的小主机既能充当服务器使用还能充当旁路由起到不同网络间的沟通作用。自从在centos9系统上配置好了zerotier之后异地组网简单了工作效率也提高了。下面正式分享整个流程。一、安装并初始化 ZeroTier安装 ZeroTierbash# 下载并安装 ZeroTier curl -s https://install.zerotier.com | sudo bash # 启动服务并设置开机自启 sudo systemctl start zerotier-one sudo systemctl enable zerotier-one加入 ZeroTier 网络登录 ZeroTier 控制台创建网络并记录Network ID如8056c2e21c000001。在 CentOS 中加入网络bashsudo zerotier-cli join 你的NetworkID在控制台授权节点回到 ZeroTier 控制台找到刚加入的节点显示为未授权勾选Auth?授权并记录分配的 ZeroTier 虚拟 IP如192.168.196.188。二、配置系统网络转发关键临时启用 IP 转发立即生效bashsudo sysctl -w net.ipv4.ip_forward1永久启用 IP 转发重启后生效bash# 编辑配置文件 sudo vim /etc/sysctl.conf # 添加以下内容 net.ipv4.ip_forward1 # 加载配置 sudo sysctl -p验证转发是否启用bashsysctl net.ipv4.ip_forward # 输出应为 net.ipv4.ip_forward 1三、配置 Firewalld 防火墙确认 Firewalld 状态bashsudo systemctl start firewalld sudo systemctl enable firewalld将 ZeroTier 接口加入 public 区域查看 ZeroTier 接口名通常为ztxxxxxx如ztfp6fttn5baship addr show | grep zt添加到 public 区域bashsudo firewall-cmd --permanent --zonepublic --add-interfaceztfp6fttn5允许 ZeroTier 与本地局域网的转发假设本地局域网接口为enp1s0网段为192.168.1.0/24ZeroTier 网段为192.168.196.0/24bash# 允许 ZeroTier 网段访问本地局域网 sudo firewall-cmd --permanent --zonepublic --add-rich-rule rule familyipv4 source address192.168.196.0/24 # ZeroTier 网段 destination address192.168.1.0/24 # 本地局域网网段 forward accept # 允许本地局域网访问 ZeroTier 网段 sudo firewall-cmd --permanent --zonepublic --add-rich-rule rule familyipv4 source address192.168.1.0/24 # 本地局域网网段 destination address192.168.196.0/24 # ZeroTier 网段 forward accept 启用 NAT 伪装针对网关节点若该节点作为本地局域网的网关需允许出站流量伪装bashsudo firewall-cmd --permanent --zonepublic --add-masquerade重新加载防火墙配置bashsudo firewall-cmd --reload四、在 ZeroTier 控制台配置路由与网关设置网关节点在控制台的Members列表中找到作为网关的 CentOS 节点勾选Allow Ethernet Bridging。添加跨网段路由进入网络的Settings → Routes添加本地局域网的路由指向网关的 ZeroTier IP例如本地局域网为192.168.1.0/24网关的 ZeroTier IP 为192.168.196.188则添加192.168.1.0/24 via 192.168.196.188若需访问其他局域网如192.168.2.0/24需由对应网段的网关节点添加类似路由。确认访问控制规则在Settings → Access Control中确保默认规则为accept;允许所有网段互通。五、验证配置检查 ZeroTier 状态bashsudo zerotier-cli status # 应显示 ONLINE sudo zerotier-cli listnetworks # 确认网络状态为 OK检查路由表baship route show | grep zt # 应包含 ZeroTier 相关的路由如 192.168.2.0/24 等测试跨网段连通性从本地局域网设备 ping ZeroTier 网络中的其他节点如ping 192.168.196.1。从 ZeroTier 其他节点 ping 本地局域网设备如ping 192.168.1.100。总结核心步骤包括安装 ZeroTier 并加入网络、启用系统 IP 转发、配置防火墙允许网段间转发、在控制台设置路由与网关。通过以上步骤即可实现不同局域网通过 ZeroTier 互联互通。