前言
为什么要使用zerotier? 不是有很多内网穿透方案吗? 例如 FRP
使用 FRP 确实可以做到一样的效果 但如果我们的服务 需要使用CDN 此时被穿透的服务就无法获取访客的ip
本次使用上一篇文章购买的云驰2-2-50M活动机
教程
首先 我们需要最少两台设备(废话) 其中一台需要有公网ip 用于反向代理内网服务
在浏览器打开 www.zerotier.com 点击右上角的 Start For Free
创建账号
Zerotier免费版提供3个网络 10台设备的免费额度 对于我们的需求 足够使用
点击
Create A Network
创建一个新网络
点击创建后 下方会出现一个网络 我们点击进入
温馨提示: 不要泄露你的Network ID
复制你的Network ID 在拥有公网ip的服务器中输入
curl -s https://install.zerotier.com | sudo bash #安装Zerotier 其他系统见https://www.zerotier.com/download/
zerotier-cli join 你的Network ID #加入刚刚创建的网络
完成后 会提示200 join OK
Zerotier会默认给我们分配一个ip 但为了后续服务的稳定性 建议手动设置一个方便使用的ip
刷新网页 此时会看到网页中多出一台设备 我们点击左Auth
下的方框 进行授权
然后刷新网页 在右侧的Managed IPs下 设备会多出IP地址 这便是Zerotier为设备分配的ip 我们在下方添加一个新的ip地址 然后点击左侧的加号 再刷新网页 删掉默认分配给我们的ip地址
如果你不想使用默认172.24.0
ip段 可以下滑找Advanced
部分 进行选择或自定义
保存后 我们添加第二个设备 也就是我们的内网设备
同样的操作 安装Zerotier 并将设备加入网络中
curl -s https://install.zerotier.com | sudo bash #安装Zerotier 其他系统见https://www.zerotier.com/download/
zerotier-cli join 你的Network ID #加入刚刚创建的网络
完成后 会提示200 join OK
进行同样的操作 设置一个ip
我这里分别设置 192.168.195.10 和 192.168.195.20 对应拥有公网ip的服务器和内网设备
分别在两台设备上 使ip a
查看网卡信息 如果均有对应的网卡 那么就代表我们成功了大半
在一台设备上 使用ping命令 测试另一个设备的连通性 比如 ping 192.168.195.20
此时 我们就可以把两台设备当做一个局域网的机器 在没有公网ip的设备上 部署服务 再通过有公网ip的服务器 使用nginx等工具 反向代理内网的服务器
比如我在内网的801端口上部署了一个web服务 就可以在公网设备上 反向代理192.168.195.20:801
卸载
查看所有的网络
zerotier-cli listnetworks
离开网络
zerotier-cli leave Network ID