zerotier + 云服务器 实现虚拟局域网
建立虚拟局域网的初衷是校园网连ipv6都不给,为了上课串流宿舍电脑摸鱼,遂尝试用虚拟局域网实现P2P串流。sunshine + moonlight串流已经有很多教程了,例如【串流教程】全网最好的串流教程,没有之一】
这里着重讲一下使用 zerotier 搭建虚拟网络,使用云服务器搭建中转节点加速
zerotier 的配置

首先进入官网 zerotier ,导航栏上有Download字样,一会需要去到那里下载相应软件。先注册一个账号,看到右上角sign up注册或直接login登录
注册登录后,点击 Creat A Network,会在下方看到刚刚创建的虚拟网络,单击它进行编辑。

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

安装 zerotier
打开www.zerotier.com/download/ 下载并安装
以Windows为例,安装完成后在任务栏中点击zerotier图标,选择 Join New Network,输入前面提到的虚拟网络ID
安卓建议使用 kaaass/ZerotierFix at 1.0.10 (github.com) 的非官方版本,增加了对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默认安装目录为 C:\Program Files (x86)\ZeroTier\One,需要在该目录下使用命令行运行入轨命令,若不成功尝试使用管理员身份;在该目录下使用命令 zerotier-cli listpeers 可以查看已连接的节点,如果找到以 Moon 结尾的说明节点添加成功
在非官方版本的安卓app中右上角/入轨,点击加号选择 从入轨导入 地址和种子都填你的 moon id。添加完成后返回上一页,点击右上角的 结点列表 查看是否有刚刚添加的 Moon中转,如果延迟不是-1说明连接成功

此时理论上多台设备已经处于一个虚拟局域网中了,能够进行串流,传文件等局域网内操作。
设备间相互数据交换时必须保证两台设备的网络类型不全是 对称型(Symmetric) 或 对称型+端口受限锥型(Port Restricted Cone),这两种组合下两台设备间无法获取到对方的准确地址,也就无法进行p2p打洞,所有流量均通过服务器中转,延迟和带宽都是很受限的。
- 标题: zerotier + 云服务器 实现虚拟局域网
- 作者: edge_sky
- 创建于 : 2024-09-06 17:01:10
- 更新于 : 2024-09-08 09:04:02
- 链接: https://edgesky.cn/2024/09/06/zerotier + 云服务器 实现虚拟局域网/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。