R6300v2上安装zerotier
过程回顾
安装 opkg 软件源
winscp + putty 登录到路由器上。先要在路由器中设置允许ssh登录
创建软件安装目录
依次执行命令:
1 | cd /jffs |
安装 opkg
- 下载脚本
执行命令:
1 | wget http://qnapware.zyxmon.org/binaries-armv7/installer/entware_install_arm.sh |
- 然后运行脚本:
1 | sh ./entware_install_arm.sh |
等待脚本运行完毕,看到 Congratulations! 就说明安装成功了。
自动挂载opt分区
在/jffs/scripts位置建立文件,可以先在电脑上建立文本文件,再用WinSCP传进去文件名: post-mount
内容如下:
1 |
|
最后获取脚本文件的权限,命令:
1 | chmod a+rx /jffs/scripts/post-mount |
到这里 opkg 软件源就算安装完毕了。
安装、配置 zerotier
安装 zerotier
依次执行命令:
1 | opkg update |
运行 zerotier
依次执行命令:
1 | modprobe tun |
居然是offline?
加入申请到的网络ID
执行命令:
1 | zerotier-cli join 8b***********9 |
获取 ip 值
1 | zerotier-cli listnetworks |
显示 REQUESTING_CONFIGURATION PRIVATE zt0 -
而不是IP,进入zerotier的后台设置界面,也没看到需要授权的设备,所以可以肯定存在问题。
仔细翻看原帖子的跟帖,也有不少人和我遇到同样的问题。接下来开始各种尝试。
开启从互联网设置
故障依旧
查了很多文档后发现 Entware 还可以安装到 U盘,虽然会让路由器后面带个小辫子,但是总归还是要尝试一下的。
将 Entware 装到 U盘
梅林固件自带一个entware.sh的安装脚本,但是要求必须插上一个 ext4 等 linux 文件系统的 U盘。可以找个 U盘,用 DiskGenius 可以格式化成 ext4 格式。
执行命令:
1 | df -h |
可以看到 U盘 挂载成功,netgear是 U盘的卷标,接下来执行。
1 | entware-setup.sh |
安装 zerotier
依次运行:
1 | modprobe tun |
成功上线,而且是最新的1.4.6版本
执行命令:
1 | zerotier-cli join 8b***********9 |
这次居然是加入网络ID失败,在执行一次,很莫名其妙的又ok了,接下来执行命令:
1 | zerotier-cli listnetworks |
显示 ACCESS_DENIED PRIVATE
,这是需要在zerotier后台页面授权,
勾选之后,再次执行:
1 | zerotier-cli listnetworks |
可以看到已经获取到了后台分配的IP地址。先查询下所有iptables情况:
1 | iptables -v -L INPUT -n --line-numbers |
添加一条 iptables
:
1 | iptables -I INPUT 1 -i ztyqb3hz7p -j ACCEPT |
如果你不确定虚拟网卡的名词,可以用 ifconfig
查一下。我这里的虚拟网卡名即为: ztyqb3hz7p
重启zerotier
1 | killall zerotier-one |
设置开机加载tun驱动并检测脚本是否运行:
1 | echo "modprobe tun" >> /jffs/scripts/nat-start |
端口映射,添加/jffs/scripts/nat-start内容,并设置开机启动
192.168.191.10 为 zerotier 分配的 IP
192.168.0.1 为路由器的 IP
1 | echo "iptables -t nat -A PREROUTING -d 192.168.191.10 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:80" >> /jffs/scripts/nat-start |
启动脚本放到相应目录
1 | chmod 755 /opt/etc/init.d/S90zerotier-one.sh |
S90zerotier-one.sh 脚本内容:
1 |
|
添加防火墙规则(没有开启防火墙这个无所谓),在/jffs/scripts位置建立文件,可以先在电脑上建立文本文件,再用WinSCP传进去文件名: firewall-start
文件内容如下
注意:
- 请将脚本中的 192.168.191.10 换成你自己 zerotier 的 IP
- 请将脚本中的 192.168.0.1 换成你自己路由器的内网 IP
1 |
|
获取脚本文件的权限,命令:
1 | chmod a+rx /jffs/scripts/firewall-start |
设置entware开机生效
重启后在日志中看到 admin: Could not start Entware
在/jffs/scripts位置建立文件post-mount
, 把u盘中的 entware 挂载到 opt,内容如下:
1 |
|
获取脚本文件的权限,命令:
1 | chmod a+rx /jffs/scripts/post-mount |
最后就是重启设备,可以享受局域网的快乐了~~
总结
需要带个 U 盘小辫子,总觉得不是很完美,等有心情了再研究吧。
附录
/jffs/scripts目录
里面的脚本名固定不可以随便修改,但是可以加自己的内容。
脚本名 | 作用 |
---|---|
post-mount | 在挂载磁盘后调用 |
nat-start | 在nat配置后调用 |
services-start | 在系统服务启动后调用 |
services-stop | 在系统服务器停止前调用 |
wan-start | 在wan网卡启动后调用 |
firewall-start | 防火墙规则的配置文件 |
nat-start的相关内容
注意:
请将脚本中的 192.168.191.10 换成你自己 zerotier 的 IP
请将脚本中的 192.168.0.1 换成你自己路由器的内网 IP
1 |
|
wan-start的相关内容
1 |
|
参考文档
[网络] r6300v2 梅林固件装Opkg、Transmission
地址:https://www.chiphell.com/thread-1347856-1-1.html[其他插件] 梅林安装zerotier实现内网穿透
地址:https://koolshare.cn/thread-134930-1-1.html[教程] 将entware装入jffs分区
地址:https://koolshare.cn/thread-163192-1-1.html在梅林上使用 Entware
地址:https://www.jianshu.com/p/2559c256dcdeentware嵌入到移动硬盘,在路由器重启后不生效
地址:https://blog.csdn.net/wyongqing/article/details/85314337A Guide About Installing ZeroTier on ASUS AC68U Router
地址:https://www.snbforums.com/threads/a-guide-about-installing-zerotier-on-asus-ac68u-router.42648/使用Zerotier为Syncthing打洞
地址:https://www.heartnn.com/2018/04/03/install-and-config-zerotier-for-syncthing/梅林固件安装Zerotier
地址:http://www.q-server.cn/index.php/archives/3/