ZeroTier构建虚拟化网络,配合Moonlight串流
介绍
最近喜欢玩串流,移动家宽没有公网IP,IPv6又不够普及,试过nps穿透pc上串流所需端口,能连上但是延迟很高,最终找到了ZeroTier搭建虚拟局域网来进行串流。
ZeroTier
安全连接任何设备,无论在何处。 ZeroTier可以让您构建现代化、安全的几乎任何类型的多点虚拟化网络。从强大的点对点网络到多云网状基础设施,我们通过简单的本地网络实现全球连接。
随时随地访问您的计算机、NAS、家庭自动化系统、IP摄像机、业余无线电或其他设备。
方便地与他人共享文件和数据,甚至进行局域网游戏。
管理对特定用户的安全网络访问权限。
官网:ZeroTier | Global Area Networking
Moonlight
Moonlight允许您在几乎任何设备上玩PC游戏,无论您是在另一个房间还是离游戏主机数英里之远。
官网:Moonlight Game Streaming: Play Your PC Games Remotely (moonlight-stream.org)
ZeroTier安装
几乎支持全部设备:Download (zerotier.com)
openwrt
我使用的是esir高大全固件,自带这个,存在于vpn-zerotier,后续设备加入需要network id。点击启用,允许客户端nat,点击跳转至管理平台,Access Control改为Private,即需要授权才能加入该网络。
可以在 系统-软件包 内进行安装、升级(须重新授权),先刷新列表,搜索zeortier,下载下面3个软件。
安卓
应用下载:ZeroTier One - Google Play 上的应用
屏幕上方点击 ADD NETWORK,输入network id加入,此时可选route all traffic through zerotier(须设定路由表,见下节),让流量走某个客户端,比如openwrt,从而实现在外网使用真实的内网ip访问内网,以及通过op代理流量。
其他设备大差不差,填个id,授权下就行
ZeroTier管理页面
授权
新加入设备需要经过授权
勾选即可通过授权,可在此添加备注,修改分配IP,删除设备。
设定路由表
看看别人的教程👀:ZeroTier 中阶教程 - 天涼好個秋. (stray.love)
左边0.0.0.0/0,右边填openwrt分配到的ip,可以在管理页面Members中找到,这样流量就会经过openwrt(客户端要勾选route all traffic through zerotier)
我的网络架构
只在openwrt和手机上连接zerotier,在openwrt开启自动允许客户端 NAT,设定好路由表,手机客户端开启路由所有流量。此时外网的手机可以访问内网所有设备。
测速
家宽移动,手机使用电信4G网络测速,这里信号一般,网速已经是流量网络上限了。
Moonlight串流
因为我是n卡,所以使用自带的NVIDIA GeForce Experience GameStream串流,也就是moonlight。
开启方法是打开NVIDIA GeForce Experience右上角设置,点击SHIELD,开启即可。
串流桌面须添加 C:\Windows\System32\mstsc.exe
因为是组建虚拟局域网,相当于在内网串流,moonlight这边可以什么也不设置,如果没有显示pc可手动添加pc内网IP,比如192.168.5.100。
安卓
moonlight安装:Moonlight Game Streaming - Google Play 上的应用
打开zerotier,在打开moonlight,可以发现pc
视频测试
下面是在一块安卓平板上的测试,嫖舍友一个typec转usb转接头接了个鼠标,键盘能够蓝牙连接。
分辨率1080p,串流传输码率14mbps,录屏码率不清楚,没有再处理视频压缩了。
可以看到在拖动的时候还是会模糊,不过在播放视频的时候表现挺好的。
一分钟视频107m,之前全部图片加一块才18m,放cf R2里还是有点心疼的😇
游戏测试
这个平板性能很差,边串流打游戏边录屏会变得非常卡,只截了2张图,单打游戏还是ok的
好久没打只狼了,还是用键鼠打的,非常不适应,打了好几次才打过🤡
4g网延迟、画面还算ok,打个只狼可以接受。
结尾
感觉写的有点乱,哈哈
每个人的网络情况不同,设置不同,可能效果不一样,仅供参考🥰
wake on lan搞定了,继续琢磨琢磨看能不能无线唤醒,这个可能性不大😇