问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

zerotier + 云服务器 实现虚拟局域网

创作时间:
作者:
@小白创作中心

zerotier + 云服务器 实现虚拟局域网

引用
1
来源
1.
https://www.bilibili.com/read/mobile/38327683

本文将介绍如何使用zerotier和云服务器搭建虚拟局域网,实现设备间的P2P串流。文章将详细讲解zerotier账号配置、设备安装以及moon节点配置等步骤,帮助读者轻松搭建属于自己的虚拟局域网。

zerotier 的账号配置

首先访问zerotier官网(https://www.zerotier.com/),在导航栏中找到Download选项,稍后将需要下载相应的软件。注册并登录账号后,点击Creat A Network,在下方会看到刚刚创建的虚拟网络,单击它进行编辑。

  • 在顶部会显示你的虚拟网络ID,后面会用到
  • 在settings/Basics中的name可以修改虚拟网络的昵称,Access Control中建议选择private,防止他人直接加入你的虚拟网
  • 在Advanced/IPv4 Auto-Assign中可以勾选Auto-Assign from Range,即自动随机分配IP地址。在下方的矩阵中可以选择喜欢的地址段,再往下可以设置IPv6地址的分配,有需要可以自行选择

所有更改都会自动保存。

在设备上安装 zerotier

访问https://www.zerotier.com/download/下载并安装zerotier软件。

Windows安装

安装完成后,在任务栏中点击zerotier图标,选择Join New Network,输入前面提到的虚拟网络ID。

Android安装

建议使用非官方版本(https://github.com/kaaass/ZerotierFix/tree/1.0.10),该版本增加了对moon节点的支持。安装完成后,在主界面的加号处添加虚拟网络ID。

添加设备后,回到虚拟网络设置界面,添加的设备会显示在Member中,默认的Auth应该是红色未授权的,需要点击Edit下的扳手图标,勾选Authorized并点击Save保存。

此时设备应该能够连接到同一个虚拟网络,但可能会发现延迟极高,因为根服务器在国外,连接速度慢且没能成功进行P2P连接。如果有一台在国内的云服务器,可以自建一个中转节点进行加速。

配置Moon节点

建议在云服务器上安装宝塔面板,方便后续操作。使用Docker进行部署,如果没有安装Docker,可以在宝塔应用商店进行安装。

在服务器上运行以下命令:

docker run --name zerotier-moon -d --restart always -p 9993:9993/udp -v /home/zerotier-moon:/var/lib/zerotier-one seedgou/zerotier-moon -4 xx.xx.xx.xx

其中,xx.xx.xx.xx需要替换为你的服务器IP地址,容器名字可以自行更改,记得放行9993 UDP端口,在宝塔面板和服务器安全组中放行。

如果安装成功,在服务器的命令行输入docker logs zerotier-moon会输出你的mood ID和入轨指令,形如:

zerotier-cli orbit xxx xxx

(xxx是你的mood ID)

将它记下。

Windows入轨配置

Windows默认安装目录为C:\Program Files (x86)\ZeroTier\One,需要在该目录下使用命令行运行入轨命令,若不成功尝试使用管理员身份;在该目录下使用命令zerotier-cli listpeers可以查看已连接的节点,如果找到以Moon结尾的说明节点添加成功。

Android入轨配置

在非官方版本的安卓app中,点击右上角/入轨,选择加号,选择从入轨导入,地址和种子都填你的moon ID。添加完成后返回上一页,点击右上角的结点列表,查看是否有刚刚添加的Moon中转,如果延迟不是-1说明连接成功。

此时理论上多台设备已经处于一个虚拟局域网中了,能够进行串流、传文件等局域网内操作。

需要注意的是,设备间相互数据交换时必须保证两台设备的网络类型不全是对称型(Symmetric)对称型+端口受限锥型(Port Restricted Cone),这两种组合下两台设备间无法获取到对方的准确地址,也就无法进行p2p打洞,所有流量均通过服务器中转,延迟和带宽都是很受限的。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号