请稍侯

基于Zerotier内网穿透虚拟网络的搭建

07 July 2023

基于Zerotier内网穿透虚拟网络的搭建

搭建ZeroTier内网穿透

优惠链接:https://cloud.tencent.com/act/pro/618season?from=17200

在服务器上部署ZeroTier

项目地址:https://github.com/Jonnyan404/zerotier-planet 相关命令:

docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=5688 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=xxxxx -p 5688:5688 keynetworks/ztncui

登录账号:admin 登录密码:xxxxx

创建moon服务器:

项目地址:https://github.com/jonnyan404/docker-zerotier-moon 相关命令:- 创建容器:

docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 xx.xx.xx.xx(公网IP)

# example
docker run --name zerotier-moon -d -p 5699:5699 -p 5699:5699/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 8.222.135.98

查看moonID:docker logs zerotier-moon 检查是否加入moon服务器:zerotier-cli listpeers

Client端

Ubuntu客户端

1. 安装并加入Zerotier网络

curl -s https://install.zerotier.com/ | sudo bash
sudo zerotier-cli join 9bee8941b5433ef4   # 9bee8941b5433ef4为你在网站注册获得的网络ID

2. 生成moon配置文件

cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json

3. 修改配置文件moon.json

vi moon.json
# 找到对应行并修改
"stableEndpoints": [ "xx.xx.xx.xx/9993" ]    # xx.xx.xx.xx修改为自己的公网ip

4. 生成moon文件

sudo zerotier-idtool genmoon moon.json

5. 使用moon配置生效

# 在 /var/lib/zerotier-one 目录下,新建一个moons.d 文件夹,并将刚生成的 .moon配置文件放到该文件夹下
mv 00000018fasd2319.moon moons.d/

6. 重启Zerotier

systemctl zerotier-one restart # 重启zerotier 
# 或  
service zerotier-one restart
# 或 
sudo zerotier-one restart
# 或 
zerotier-one -d

Synolog NAS客户端

使用docker在Synolog NAS上安装好zerotier客户端后:

1. 加入网络

docker exec -it zerotier-synology1 zerotier-cli join [zerotier网络Id]

2. 加入moon

docker exec zerotier-synology1 zerotier-cli orbit [moon Id] [moon Id]

# 查看moon节点连接信息
docker exec zerotier-synology1 zerotier-cli listpeers

或将 moons.d 文件夹复制到 /var/lib/zerotier-one目录下, 或直接运行命令:

sudo zerotier-cli orbit xxxxxxxxxx xxxxxxxxxx  # xxxxxxxxxx 为 moon.json 文件中IDsudo zerotier-cli orbit 000000xxxxx 000000xxxxx # 000000xxxxx 为 .moon 文件的文件名

OpenWRT 客户端加入moon服务器

Windows客户端加入moon服务器:

相关命令:

cd C:\ProgramData\ZeroTier\One
zerotier-cli orbit 43d9c44331 43d9c44331

登录windows:
Windows+R键,然后输入:mstsc 如果连不上,检查一下是否开启的远程服务,如果还不行要检查远程服务是否被误删了mstscHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService 启动Remote Desktop Services,启动路径:此电脑——管理——服务与应用程序——服务——Remote Desktop Services,如无法启动:

1、打开regedit,找到路径HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TermService\Parameters,发现少了一个二制文件serviceDLL。 2、手动创建,右键新建–>可扩充字符段值,设置名称为serviceDLL,值%SystemRoot%\System32\termsrv.dll 3、创建好之后,再次启动Remote Desktop Services服务,无报错。服务器远程访问恢复正常。

可实现功能: 屏幕分辨率调整:windows+R键——输入mstsc——显示选项——显示——调整需要的分辨率即可 文件传输:本地资源——本地设备和资源——详细信息——驱动器——选择要上传到Windows云主机的文件所在的本地硬盘 zerotier-cli orbit 43d9c44331 43d9c44331