内网穿透方案-ZerotierOne
内网穿透是把家用服务器改造成网络服务器的重要一步
目前成熟的解决方案有
- 申请公网IP:需要联系网络服务商,困难
- 花生壳
- frp
- ngork
- zerotier
zerotier和上述方式本质的区别是,它是一个组网工具,目的是将数台已有的设备组合成一个大型的局域网。
# 安装
mac 推荐安装其带的桌面端工具
Linux推荐使用docker安装
# 初级使用
# 基础命令
sudo zerotier-cli join 233ccaac27xxxxx # 加入网络
200 join OK
sudo zerotier-cli info # 查看是否连入网络
# 200 info 07bf052a5a 1.10.1 ONLINE
sudo zerotier-cli leave 233ccaac27xxxxx # 断开网络
1
2
3
4
5
2
3
4
5
# 后台管理
只要知道网络的ID,即233ccaac27xxxxx
,任何设备都可以连入该网络,但是只有在后台通过的设备才能真正加入
除了简单的运行接入设备以外,还可以
- 管理连入设备的名称
- 为每台设备分配ip
- 邀请设备加入
# 高级使用-DNS服务器
设备一旦多起来,使用IP无法记住所有的设备,所以需要一台局域网的DNS服务器建立域名,zeronsd就是起到这样的作用。
容器启动服务
docker run --net host -itd \
--name zerodns \
-v /var/lib/zerotier-one/authtoken.secret:/authtoken.secret \
-v /var/lib/zerotier-one/token.txt:/token.txt \
zerotier/zeronsd start -s /authtoken.secret -t /token.txt -w -d 替换为你的域名 替换为你的ID
1
2
3
4
5
2
3
4
5
说明
authtoken.secret
它决定了zerodns连接的网络,zerodns运行时必须已经加入了网络中,一般位于
/var/lib/zerotier-one/
下,取决于安装的方式。token.txt
生成token时秘钥文件,生成完后就消失,需要保持下来。
最后
所有加入的设备需要使用DNS前,需要重新加入网络,并勾选DNS选项。
服务端最好也是重新加入一下网络,并重新启动下zeronsd
sudo zerotier-cli leave 233ccaac27xxxxx # 离开
sudo zerotier-cli join 233ccaac27xxxxx # 加入
docker restart zerodns # 重新启动zeronsd
1
2
3
2
3
# 参考
编辑 (opens new window)
上次更新: 2022/10/25, 02:40:54