首先到 ZeroTier 官网注册登陆,注册及创建网络的过程可以参考网上提供的教程,这里主要讲述的是 hiboy大佬 编译的固件在没有USB接口 或 没有外置存储设备的情况下安装使用 ZeroTier 的方法。

ZeroTier 注册地址:https://www.zerotier.com

下面我们就开始使用 ZeroTier 组建虚拟局域网 的方法,按下图所示开启老毛子固件的 SSH服务,然后点击 扩展功能 -> 配置扩展环境 -> 开启 opt强制安装 -> 应用本页面设置,记得一定要 应用本页面设置,不然就就不会开启。

老毛子固件开启SSH服务

下载 run-zerotier.sh 脚本并修改 网络ID 和 路由,如下图,将脚本中红框部分替换为自己的 NETWORK ID 和 ZeroTier 官网配置好的路由地址。

run-zerotier.sh 脚本下载(本站提供的高速下载):https://cloud.opssh.cn/ruanluyou/run-zerotier.sh

修改网络ID和路由

使用 WinSCP 或 FlashFXP 上传工具将 run-zerotier.sh 文件上传至 /etc/storage 目录下,SSH登陆到老毛子固件并赋予 run-zerotier.sh 执行权限,代码如下:

chmod +x /etc/storage/run-zerotier.sh

浏览器打开老毛子固件(Padavan) Web界面,依次找到“高级设置” -> “自定义设置” -> “脚本” -> “自定义脚本0(功能配置):”,点击“自定义脚本0(功能配置):”,打开输入框,拖动滚动条到最后,粘贴以下内容。

# 启动ZeroTier
killall run-zerotier.sh
/etc/storage/run-zerotier.sh > /tmp/zerotier_log.txt 2>&1

此时脚本会自动执行并将日志保存到 /tmp/zerotier_log.txt 文件中,需要输出日志可在SSH终端内执行以下命令:

tail -f -n50 /tmp/zerotier_log.txt

opt环境已经安装好的话会正常启动,最后出现“【ZeroTier程序】已启动”的字样就表明 ZeroTier 已经启动了。

启动ZeroTier

打开 ZeroTier Central ,点击创建好的网络ID,滚动到下面的Members,点击未认证的方框,等待分配IP地址。

等待分配IP地址

在SSH中输入 ifconfig,在最后会看到 ZeroTier虚拟网卡 的信息,图中画红线的分别是 ZeroTier网卡名称 和 IP地址,复制出来备用。

ZeroTier虚拟网卡的信息

如果其他 ZeroTier 成员想访问 Padavan 的话只需要记住上面的IP地址(192.168.195.99)即可,若要访问Padavan路由下的其他设备的话还需要做一些设置。

在 ZeroTier 网站页面翻到 Advanced 部分,按下图所示填写好 Destination 和(Via)后,点击Submit。

Advanced设置

最后在老毛子固件后台点击高级设置 -> 自定义设置,找到“在防火墙规则启动后执行:”在文本框中添加以下内容并点击最下面的应用本页面设置。

# ZeroTier防火墙规则
iptables -A INPUT -i ztxxxxxxxx -j ACCEPT
iptables -A FORWARD -i ztxxxxxxxx -o ztxxxxxxxx -j ACCEPT
iptables -A FORWARD -i ztxxxxxxxx -j ACCEPT
iptables -t nat -A POSTROUTING -o ztxxxxxxxx -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.195.0/24 -j MASQUERADE
logger -t "【ZeroTier防火墙规则】" "添加完成"

特别注意:ztxxxxxxxx 修改为自己的 ZeroTier网卡名称192.168.195.0/24 修改为自己的 IP地址段,重启路由器测试是否配置成功。