梅林zerotier开机启动脚本安装ZeroTier内网穿透设置,无公网IP通过ZeroTier内网穿透
这篇文章主要是介绍在梅林固件路由器上安装及使用ZeroTier的方法。
使用zerotier的有点主要是zerotier是通过P2P直连的方式,异地组网。和一些其他内网穿透方法不一样,比如frp就需要服务器端支持,是通过服务端中转的访问请求,不是直连的方式。
但是由于国内网络环境复杂,如果是移动的这种大内网,又可以穿透不了,可以等安装成功后使用PING命令,如果延迟超过200+那就是通过国外的zerotier服务端中转的。
这也是zerotier的一个优点,直连加中转也可以自己搭建中转服务器,非常灵活。zerotier-moon节点中转服务器搭建方法
Entware介绍
Entware 是一个适用于嵌入式系统的软件包库,使用 opkg 包管理系统进行管理,官方源上有超过 2000 个软件包。
官方地址:Entware
1. 安装 Entware
Entware 是一个适用于嵌入式系统的软件包库,使用 opkg 包管理系统进行管理,现在在官方的源上已经有超过2000个软件包了,可以说是非常的丰富
不同的固件,安装方式都不一样,请认准安装方式(自己是什么固件总该懂得吧??)
其他系统安装Entware的方法
推荐一下在老毛子Padavan固件下安装Entware及zerotier的教程,很详细
《老毛子Padavan的zerotier内网穿透设置zerotier详细设置方法》
安装的过程也非常简单,直接复制下面的命令SSH执行就行了。
先安装zerotier
opkg update opkg install zerotier
运行zerotier
modprobe tun zerotier-one -d zerotier-cli info 200 info 497845b7e 1.2.4 ONLINE
加入申请到的网络代码
zerotier-cli join
返回200 join OK代表加入成功。
到这里登录zerotier官网后台,如下图勾选新加入设备前面以同意加入虚拟局域网。
获取路由器zerotier里的ip值
zerotier-cli listnetworks
200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
200 listnetworks 9*************e laomms aa:bb:cc:dd:ee OK PUBLIC zt0 170.21.0.19/16
ping一下看通不通
ping 170.21.0.19 -c 4
端口映射,添加/jffs/scripts/nat-start内容,并设置开机启动
iptables -t nat -A PREROUTING -d 170.21.0.19 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
用命令行实现:
echo "iptables -t nat -A PREROUTING -d 170.21.0.19 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80" >> /jffs/scripts/nat-start echo "/opt/etc/init.d/S90zerotier-one.sh" >> /jffs/scripts/nat-start chmod a+rx /jffs/scripts/*
路由器zerotier开机启动脚本
新建S90zerotier-one.sh脚本放到/opt/etc/init.d/目录
设置755权限
chmod 755 /opt/etc/init.d/S90zerotier-one.sh
脚本内容如下
#! /bin/sh case "$1" in start) if ( pidof zerotier-one ) then echo "ZeroTier-One is already running." else echo "Starting ZeroTier-One" ; /opt/bin/zerotier-one -d ; echo "$(date) Started ZeroTier-One" >> /opt/var/log/zerotier-one.log ; fi ;; stop) if ( pidof zerotier-one ) then echo "Stopping ZeroTier-One"; killall zerotier-one echo "$(date) Stopped ZeroTier-One" >> /opt/var/log/zerotier-one.log else echo "ZeroTier-One was not running" ; fi ;; status) if ( pidof zerotier-one ) then echo "ZeroTier-One is running." else echo "ZeroTier-One is NOT running" fi ;; *) echo "Usage: /etc/init.d/zerotier-one {start|stop|status}" exit 1 ;; esac exit 0
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包