目前个人电脑会在多个地方启动, 想将不同地方的电脑加入同一个局域网, 以便于远程桌面, 数据资源共享等操作;
需要用到的开源框架即是: zerotier
GitHub - zerotier/ZeroTierOne: A Smart Ethernet Switch for Earth
GitHub - key-networks/ztncui: ZeroTier network controller UI
一个网络层面的穿透工具, 可以让用户轻松搭建自己的虚拟网络, 经过授权后将真实环境下非同一局域网的电脑分配到同一网段下来并提供相应的虚拟网络IP地址;
使得各个设备间可以通过虚拟地址来访问彼此
在zerotier网络体系中,根服务器(root server)被称为星球(planet),而每一台联网设备都被称为叶子(leaf),两台星球之间是通过星球节点握手建立隧道连接的,而zerotier作为一家总部位于加州的美国公司并没有在中国设有根服务器,因此在两台设备连接时受制于星球节点的连接质量,不免要产生高延迟,因此我们可以按照官方指引来搭建月亮(moon)节点,让设备相互连接时通过我们自己搭建的月亮节点来握手建立隧道,从而降低握手时的网络延迟、也提高联网稳定性和安全性。
GitHub - Jonnyan404/zerotier-planet: 一分钟自建zerotier-planet
一分钟自建zerotier-plant - Jonnyan的原创笔记
git clone https://github.com/Jonnyan404/zerotier-planet
OR
git clone https://gitee.com/Jonnyan404/zerotier-planet
cd zerotier-planet
# 在这里需要修改docker-compose.yaml中的ip和端口等信息
docker-compose up -d
# 以下步骤为创建planet和moon
docker cp mkmoonworld-x86_64 ztncui:/tmp
docker cp patch.sh ztncui:/tmp
docker exec -it ztncui bash /tmp/patch.sh
docker restart ztncui
http://ip:4000 打开web控制台界面。用户名:admin
密码:mrdoc.fun
http://ip:3180 打开planet和moon文件下载页面(亦可在项目根目录 的./ztncui/etc/myfs/里获取)。# 不同的系统在不同的目录下
Windows: C:\ProgramData\ZeroTier\One
Macintosh: /Library/Application Support/ZeroTier/One
Linux: /var/lib/zerotier-one
FreeBSD/OpenBSD: /var/db/zerotier-one
# 配置文件在以上目录增加 local.conf文件
# docker部署zero-tier moon
version: "3"
services:
zerotier-moon:
image: seedgou/zerotier-moon
container_name: "zerotier-moon"
restart: always
ports:
- "9993:9993/udp"
volumes:
- /self/devData/zerotier/config:/var/lib/zerotier-one
entrypoint:
- /startup.sh
- "-4"
- <公网IP>