最近使用zerotier替换了frp来实现内网穿透,zerotier是一个软交换机,使用zerotier可以让多台内网机器组成一个局域网。 首先要安装 $ sudo pacman -S zerotier-one 如果是Ubuntu/Debian/CentOS,则运行: $ curl -s https://install./ | sudo bash
之后就完成了安装,然后我们要启动zerotier,并且让他开机自启动,运行: $ sudo systemctl start zerotier-one.service$ sudo systemctl enable zerotier-one.service 例如我有两台内网机器,于是都按照上面的描述进行了安装和启动。接下来要做的事情是到 https://my./里注册账号并且登录,然后创建一个Network,创建之后点到这个网络里,拉到最上面,选择 Private(私有网络) ,这样别人加入的时候就需要认证,如果想改名字的话,改个名字,其他不用动。然后复制 然后在两台内网机器上执行: $ sudo zerotier-cli join 83048a0632246d2c 加入之后他们就启动了,但是还连不进我们创建的网络,因为我们选择了 Private(私有网络) ,我们还需要到 https://my./上面对接入的机器打勾,拉到 Members 这一节,把前面的两个勾勾选上。 这个时候执行一下 搭建中转机器(moon)首先把中转机器按照上述步骤一起加入网络,然后执行: $ cd /var/lib/zerotier-one/$ sudo zerotier-idtool initmoon identity.public > moon.json 接下来编辑一下 $ sudo ufw allow 9993/udp$ sudo zerotier-idtool genmoon moon.json 接下来把中转服务器的 $ sudo systemctl restart zerotier-one 加入moon注意我们搭建moon的时候有一个 $ grep id /var/lib/zerotier-one/moon.json | head -n 1 'id': 'xxxxxxxxxx', 复制这个id,然后在内网机器执行: $ sudo zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx 注意, $ ping 192.168.1.111PING 192.168.1.111 (192.168.1.111) 56(84) bytes of data.64 bytes from 192.168.1.111: icmp_seq=1 ttl=64 time=35.0 ms64 bytes from 192.168.1.111: icmp_seq=2 ttl=64 time=37.1 ms64 bytes from 192.168.1.111: icmp_seq=3 ttl=64 time=36.9 ms^C--- 192.168.1.111 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 4msrtt min/avg/max/mdev = 35.039/36.369/37.145/0.944 ms
参考资料: |
|