站点图标 Linux-技术共享

Padavan安装使用ZeroTier实现组建虚拟局域网的方法

首先到这个网站ZeroTier – Global Area Networking注册登陆,注册及创建网络的过程可以参考网上及其他UP主的教程,我就不重复了。

本篇主要讲述的是hiboy大佬编译的固件在没有USB接口或没有外置存储设备的情况下安装使用ZeroTier的方法,如果外接U盘或者硬盘等存储设备可参考文章末尾的”附“。

一、启用SSH服务

按下图所示开启Padavan的SSH服务

二、打开opt强制安装

如下图,开启“opt强制安装”后一定不要忘了点击最下面的“应用本页面设置”

 

三、下载run-zerotier.sh脚本并修改网络ID和路由

如图,将脚本中红框部分替换为自己的NETWORK ID和ZeroTier官网配置好的路由地址

四、上传脚本到路由器/etc/storage目录并赋予执行权限

使用WinSCP等工具将run-zerotier.sh文件上传至/etc/storage目录下

SSH登陆到Padavan,赋予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地址

此时在SSH中输入ifconfig,在最后会看到ZeroTier虚拟网卡的信息

 

图中画红线的分别是ZeroTier网卡名称和IP地址,复制出来备用。

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

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

七、配置防火墙规则使ZeroTier各成员及各路由下的内网设备互访

按下图所示,找到“在防火墙规则启动后执行:”,在文本框中添加以下内容并点击最下面的“应用本页面设置”

# 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防火墙规则】" "添加完成"

注意将红字部分替换为自己的ZeroTier网卡名称和IP地址段

 

八、重启路由器测试是否配置成功

 

附:Padavan外接U盘或硬盘等存储设备后安装ZeroTier并设置开机启动的方法

一、安装启动ZeroTier

插入U盘,在Padavan页面中依次找到:“高级设置”->“USB应用程序”->“其他设置”->“允许运行Optware”,选择“Entware”,点击页面最下方的“应用本页面设置”。
看日志,opt环境安装完成后,输入以下命令安装ZeroTier

opkg update
opkg install "http://bin.entware.net/mipselsf-k3.4/archive/zerotier_1.4.6-5_mipsel-3.4.ipk"

安装好ZeroTier后,启动ZeroTier

zerotier-one -d

加入网络

zerotier-cli join xxxxxxxxxxxxxxxx

二、配置开机启动脚本

vi /etc/storage/run-media_zerotier.sh

加入以下内容(修改为自己在ZeroTier官网配置的路由表)

#!/bin/sh
if [ ! -e "/opt/bin/zerotier-one" ]; then
  logger -t "【ZeroTier程序】" "不存在,停止启动"
  exit 1
else
  COUNT=$(ps | grep zerotier-one | grep -v grep | wc -l)
  while [ $COUNT -eq 0 ]
  do
    logger -t "【ZeroTier程序】" "未启动,尝试启动"
    zerotier-one -d
    sleep 30
    # 添加ZeroTier官网配置的路由表,本机的不用加
    route add -net 192.168.33.0/24 gw 192.168.195.33
    COUNT=$(ps | grep zerotier-one | grep -v grep | wc -l)
  done
  logger -t "【ZeroTier程序】" "已启动"
fi

保存退出
给脚本添加可执行权限

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

到Padavan页面,依次找到“高级设置” -> “自定义设置” -> “脚本” -> “自定义脚本0(功能配置):”,点击“自定义脚本0(功能配置):”,打开输入框,拖动滚动条到最后,粘贴以下内容:

# 启动ZeroTier
killall run-media_zerotier.sh
/etc/storage/run-media_zerotier.sh

点击最下面的“应用本页面设置”。

退出移动版