Linux通过ZeroTier实现内网穿透
注册zerotier账号
Zerotier官网 注册账号,笔者使用谷歌邮箱注册。
创建一个网络
- 注册好之后进去会有一个默认创建好的网络,没有的话,就创建一个网络
- 创建好点击进入,啥都不用改,记住
[网络ID]
即可
linux安装Zerotier
使用官方脚本安装:
1 | curl -s https://install.zerotier.com | sudo bash |
启动Zerotier服务:
1 | sudo systemctl start zerotier-one |
加入Zerotier网络:([网络ID]是刚开始让你记住那个)
1 | sudo zerotier-cli join [网络ID] |
离开某网络:
1 | sudo zerotier-cli leave [网络ID] |
Zerotier官网页面配置
进入刚才创建好的网络页面,下滑找到Members部分。刚加入这个网络的linux信息会显示在这里。
点击address前边的小扳手–>点击Allow Ethernet bridging
,再把小扳手前边的框
勾上即可。
习惯上:小扳手后边的
Name/Description
下边会备注对应的服务器名字,Managed IPs
下边是自动分配的ip。假设加入该网络有两台服务器A和B,现在你想通过服务器A访问服务器B,就直接访问服务器B的IP即可(相当于内网穿透访问)。当然你也可以把这个IP修改成你喜欢的IP。
配置完成
以上过程完成了一台服务器的配置,如果想让其他服务器也加入这个局域网,执行前边相同的操作。
优化
zerotier默认使用全球的服务节点,高峰时刻不稳定,官方也有说明,可以搭建自己的moon服务器作为跳板,加速网络。需要有个云服务器。
安装zerotier
1 | curl -s https://install.zerotier.com | sudo bash |
生成认证配置文件
1 | cd /var/lib/zerotier-one/ |
执行上述命令后会生成一个moon.json的配置文件
编辑该文件
编辑moon.json, 添加云服务器的公网IP
1 | "stableEndpoints": ["180.76.xxx.xxx/9993"] |
其中,180.76.xxx.xxx为云服务器的公网ip,9993为zerotier默认端口(注:云服务器安全组中需开放9993端口,否则客户端连接不上moon)
生成签名文件
1 | zerotier-idtool genmoon moon.json |
将moon节点加入网络
在/var/lib/zerotier-one/目录下新建一个moons.d的目录,并将生成的.moon结尾的文件移动到此目录下。
1 | mkdir moons.d |
重启中转服务器的zerotier-one
1 | systemctl restart zerotier-one |
查看是否建立连接
1 | zerotier-cli listpeers |
如果出现moon节点的IP地址,并且结尾显示MOON,则表示内网服务器客户端已加入moon。
评论