• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

梅林安装zerotier实现内网穿透

路由器  / 其他路由  / 只看大图  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2018-3-16 22:41

跳转到指定楼层
本帖最后由 laomms 于 2018-3-18 07:50 编辑

无技术活,纯代码,ssh下复制执行就行
先安装zerotier
  1. opkg update
  2. opkg install zerotier
复制代码


运行zerotier
  1. modprobe tun
  2. zerotier-one -d
  3. zerotier-cli info
复制代码
200 info 497845b7e 1.2.4 ONLINE

加入申请到的网络代码
  1. zerotier-cli join 9*************e
复制代码
200 join OK

获取ip值
  1. 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一下看通不通
  1. ping 170.21.0.19 -c 4
复制代码
PING 170.21.0.19 (170.21.0.19): 56 data bytes
64 bytes from 170.21.0.19: seq=0 ttl=64 time=0.237 ms
--- 170.21.0.19 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.097/0.139/0.237 ms

端口映射,添加/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
用命令行实现:
  1. 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
  2. echo "/opt/etc/init.d/S90zerotier-one.sh" >> /jffs/scripts/nat-start
  3. chmod a+rx /jffs/scripts/*
复制代码


启动脚本放到相应目录
  1. chmod 755 /opt/etc/init.d/S90zerotier-one.sh
复制代码





捕获.PNG



脚本内容:

  1. #! /bin/sh

  2. case "$1" in
  3.   start)
  4.     if ( pidof zerotier-one )
  5.     then echo "ZeroTier-One is already running."
  6.     else
  7.         echo "Starting ZeroTier-One" ;
  8.         /opt/bin/zerotier-one -d ;
  9.         echo "$(date) Started ZeroTier-One" >> /opt/var/log/zerotier-one.log ;
  10.     fi
  11.     ;;
  12.   stop)
  13.     if ( pidof zerotier-one )
  14.     then
  15.         echo "Stopping ZeroTier-One";
  16.         killall zerotier-one
  17.         echo "$(date) Stopped ZeroTier-One" >> /opt/var/log/zerotier-one.log
  18.     else
  19.         echo "ZeroTier-One was not running" ;
  20.     fi
  21.     ;;
  22.   status)
  23.     if ( pidof zerotier-one )
  24.     then echo "ZeroTier-One is running."
  25.     else echo "ZeroTier-One is NOT running"
  26.     fi
  27.     ;;
  28.   *)
  29.     echo "Usage: /etc/init.d/zerotier-one {start|stop|status}"
  30.     exit 1
  31.     ;;
  32. esac

  33. exit 0
复制代码







「真诚赞赏,手留余香」
TVS-682
- CPU: i5-6600
- RAM: 16GB DDR4 2133
- GPU: MSI 1050 4GT LP
- PSU: Corsair SF450
分享淘帖
回复 印象

使用道具

0

精华

75

回帖

1451

积分

发烧玩家

Rank: 2

云币
5
贡献
74
活跃
1035
精华
0
laomms 发表于 2018-4-1 10:04 来自 泰国
本帖最后由 laomms 于 2018-4-2 11:38 编辑

补充:

添加端口映射表:
先用iptables -v -L INPUT -n --line-numbers查询所有iptables情况:
  1. iptables -v -t nat -L -n --line-numbers
复制代码
  1. admin@RT-AC5300-56A0:/tmp/home/root# iptables -v -L INPUT -n --line-numbers
  2. Chain INPUT (policy ACCEPT 4304 packets, 798K bytes)
  3. num   pkts bytes target     prot opt in     out     source               destination
  4. 1       65  5109 DROP       icmp --  ppp0   *       0.0.0.0/0            0.0.0.0/0
  5. 2        0     0 DROP       icmp --  ppp0   *       0.0.0.0/0            0.0.0.0/0
  6. 3    15182 2917K INPUT_EasyExplorer  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  7. 4    15182 2917K INPUT_EasyExplorer  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  8. 5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1688
复制代码
添加一条iptables:
  1. iptables -I INPUT 6 -i zt0 -j ACCEPT
复制代码
注意这里的6是继上面5条之后加一条。再看下,已经加进去了:
  1. admin@RT-AC5300-56A0:/tmp/home/root# iptables -v -L INPUT -n --line-numbers
  2. Chain INPUT (policy ACCEPT 1164 packets, 256K bytes)
  3. num   pkts bytes target     prot opt in     out     source               destination
  4. 1       79  6117 DROP       icmp --  ppp0   *       0.0.0.0/0            0.0.0.0/0
  5. 2        0     0 DROP       icmp --  ppp0   *       0.0.0.0/0            0.0.0.0/0
  6. 3    18024 3524K INPUT_EasyExplorer  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  7. 4    18024 3524K INPUT_EasyExplorer  all  --  *      *       0.0.0.0/0            0.0.0.0/0
  8. 5        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1688
  9. 6       10  1431 ACCEPT     all  --  zt0    *       0.0.0.0/0            0.0.0.0/0
复制代码
重启zerotier:
  1. killall zerotier-one
  2. zerotier-one -d
复制代码
还要设置开机加载tun驱动并检测是否运行:
  1. echo "modprobe tun" >> /jffs/scripts/nat-start
  2. echo "cru a ZeroTierDaemon "/opt/etc/init.d/S90zerotier-one.sh start"" >> /jffs/scripts/wan-start
复制代码
添加防火墙规则:
  1. echo "logger -t "custom iptables" "Enter" -p user.notice" >> /jffs/scripts/firewall-start
  2. echo "iptables -C INPUT -i zt0 -j ACCEPT" >> /jffs/scripts/firewall-start
  3. echo "if [ $? != 0 ]; then" >> /jffs/scripts/firewall-start
  4. echo "#iptables -I INPUT -i zt0 -j ACCEPT" >> /jffs/scripts/firewall-start
  5. echo "#iptables -I INPUT -i zt0 -p icmp -j ACCEPT" >> /jffs/scripts/firewall-start
  6. echo "iptables -I INPUT 1 -i ppp0 -p icmp -j DROP" >> /jffs/scripts/firewall-start
  7. echo "iptables -t nat -A PREROUTING -d <span style="color: rgb(68, 68, 68); font-family: Tahoma; background-color: rgb(255, 255, 255);">170.21.0.19</span> -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80" >> /jffs/scripts/firewall-start
  8. echo "logger -t "custom iptables" "rules added" -p user.notice" >> /jffs/scripts/firewall-start
  9. echo "else" >> /jffs/scripts/firewall-start
  10. echo "logger -t "custom iptables" "rules existed skip" -p user.notice" >> /jffs/scripts/firewall-start
  11. echo "fi" >> /jffs/scripts/firewall-start
复制代码





回复 支持 反对 印象

使用道具 举报

0

精华

93

回帖

3146

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
151
活跃
2344
精华
0
yueyue0817 发表于 2018-4-22 12:43 来自 中国山东青岛
感谢分享。学习一下,在r7000上安装。
回复 支持 反对 印象

使用道具 举报

0

精华

4

回帖

59

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
57
精华
0
longalong 发表于 2018-10-25 18:15 来自 中国四川成都
你好,关于,zerotier在梅林固件上跑,k站上有好多问题,有空时能解答下就好了,谢谢
回复 支持 反对 印象

使用道具 举报

0

精华

3

回帖

18

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
16
精华
0
山野漭夫 发表于 2020-4-25 15:20 来自 中国陕西汉中

请问楼主,这样是不是可以实现路由器下WIFI设备不用安装zerotie的APP,就可以访问zerotie内网的所有设备?我按步骤全部走了一遍,能ping通zerotier给路由器的IP,但手机连WIFI不能登录远程的zerotie电脑,但是打开手机的zerotieAPP,就能访问。我是哪里没有做到嘛?请赐教,需要端口映射嘛?该怎么操作?非常感谢。
回复 支持 反对 印象

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

laomms

发烧玩家

  • 主题

    17

  • 帖子

    92

  • 关注者

    15

etsme
快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图