在 ZeroTier 网络中设置路由转发,可以使得 ZeroTier 网络中的设备能够通过一个节点访问另一个子网或互联网。这通常用于创建虚拟专用网络 (VPN) 以便远程访问不同的网络资源。 步骤1:安装和配置 ZeroTier 首先,确保你已经在所有需要加入虚拟网络的设备上安装并配置了 ZeroTier。你可以参考 ZeroTier 的官方安装指南来完成这一操作。 步骤2:设置路由转发节点 选择一个设备作为路由转发节点,并确保该设备可以访问 ZeroTier 网络和目标子网(例如,本地网络或互联网)。 启用 IP 转发: 在 Linux 上,编辑 /etc/sysctl.conf 文件,找到或添加以下行: net.ipv4.ip_forward = 1 然后运行以下命令以应用更改: sudo sysctl -p 在 Windows 上,打开注册表编辑器,导航到以下路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 将 IPEnableRouter 的值设置为 1,然后重新启动计算机。 配置 NAT(仅在路由转发到互联网时需要): 在 Linux 上,使用 iptables 配置 NAT: sudo iptables -t nat -A POSTROUTING -o -j MASQUERADE ( sudo iptables -A FORWARD -o -j ACCEPT sudo iptables -A FORWARD -i -j ACCEPT sudo iptables-save ) 其中 是连接到互联网的网络接口,例如 eth0。 在 Windows 上,使用以下命令启用网络共享: netsh interface ip set address "Local Area Connection" static 192.168.0.1 255.255.255.0 netsh routing ip nat install netsh routing ip nat add interface "Local Area Connection" full (直接选中网络设备,打开属性,共享之) 步骤3:配置 ZeroTier 网络 在 ZeroTier 中配置路由转发节点的路由规则: 登录 ZeroTier 中央控制面板:选择网络并配置路由: 选择你创建的网络。 在网络设置中,找到 "Managed Routes" 部分。 添加新的路由条目,指定目标子网和网关。网关是你的路由转发节点在 ZeroTier 网络中的 IP 地址。例如,如果你的路由转发节点的 ZeroTier IP 是 10.147.20.10,且目标子网是 192.168.1.0/24,那么你可以添加以下路由条目: 192.168.1.0/24 via 10.147.20.10 步骤4:在客户端设备上配置路由 在所有需要通过 ZeroTier 网络访问目标子网的客户端设备上,添加适当的路由: 在 Linux 上: sudo ip route add 192.168.1.0/24 via 10.147.20.10 在 Windows 上: route add 192.168.1.0 mask 255.255.255.0 10.147.20.10 示例 假设你的 ZeroTier 网络 IP 范围是 10.147.20.0/24,路由转发节点的 ZeroTier IP 是 10.147.20.10,并且目标子网是 192.168.1.0/24。按照以下步骤设置: 在路由转发节点上启用 IP 转发: sudo sysctl -w net.ipv4.ip_forward=1 配置 NAT(如果需要): sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 在 ZeroTier 中央控制面板中,添加以下路由: 192.168.1.0/24 via 10.147.20.10 在客户端设备上,添加路由: Linux: sudo ip route add 192.168.1.0/24 via 10.147.20.10 Windows: route add 192.168.1.0 mask 255.255.255.0 10.147.20.10 这样,ZeroTier 网络中的客户端设备就可以通过路由转发节点访问目标子网。 Linux连接到Zerotier curl -s https://install.zerotier.com | sudo bash => 安装官方版本 sudo systemctl start zerotier-one => 启动ZeroTier服务 sudo zerotier-cli join => 加入ZeroTier网络 sudo zerotier-cli listnetworks => 检查是否成功加入网络 sudo zerotier-cli leave =>退出当前网络 8286ac0e470175f1