某些小伙伴买了NAS,但是家里没有公网IP,这种情况下要在外面使用,要么使用正版NAS服务商提供的服务(群晖的QC,威联通的myQNAPcloud),要么使用花生壳内网穿透,再者买云服务器使用frp内网穿透。前两者由于免费的,使用起来加载比较慢,浏览文件还好,下载文件就要命了。后者需要不小的开支。此时还有体验更好的方案,也就是P2P穿透。原理就不多说了百度一大堆。Zerotier可以实现异地组网,免费版支持50台设备,家用够了。
注册
访问 https://my.zerotier.com/,按步骤注册账号
创建网络
注册后登录,进入网络界面,点击 Create Network 创建一个网络
点击新创建的网络进入详细信息界面
这里 Network ID 就是我们要用的网络ID,底下有网段、DHCP配置,如果不懂可以用默认的。此页面不要关闭
加入网络
Windows
点击此处下载Windows客户端,打开并安装
打开客户端,不会弹出GUI界面,会缩小在右下角
右键 Open Control Panel 打开GUI界面
底下一堆 ##### 的地方就是输入网络ID的,粘贴刚刚的网络ID,点击加入
回到详细信息界面,刷新页面,此时底下出现客户端
红框处打勾授权,刷新页面,获取到IP地址了
NAS
点击此处浏览您的NAS对应的客户端,需要注意的是 DSM7不允许套件以root形式运行,导致无法使用Zerotier。但是可以使用Docker代替,以下使用Docker进行演示:
首先查看是否存在TUN
ls /dev/net/tun
如果不存在就要新建,群晖DSM7默认是不存在的,威联通存在。切换到root权限执行以下命令:
# 生成启动脚本 echo -e '#!/bin/sh -e \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh # 配置脚本权限 chmod a+x /usr/local/etc/rc.d/tun.sh # 运行脚本 /usr/local/etc/rc.d/tun.sh
要说明的是 /usr/local/etc/rc.d/
为群晖开机启动脚本路径,修改成相应系统的即可。检查TUN状态
ls /dev/net/tun
创建文件夹
mkdir /var/lib/zerotier-one
下载镜像
docker pull zerotier/zerotier-synology:latest
启动容器
docker run -d \ -v /var/lib/zerotier-one:/var/lib/zerotier-one \ --device=/dev/net/tun \ --name zt \ --restart=always \ --net=host \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ zerotier/zerotier-synology:latest
加入网络
docker exec -it zt zerotier-cli join 网络ID
老样子,刷新详细信息界面,授权设备
Openwrt
使用带Zerotier插件的Openwrt镜像作为路由系统,并且使用Openwrt作主路由拨号上网,在配置Zerotier后,能访问整个局域网的设备。首先开启Zerotier,填入网络ID,勾选 “自动允许客户端NAT” ,保存启用
在Zerotier网页上加入设备,刷新Zerotier网页后,获取Openwrt的ip,配置静态路由表
Destination 填写路由器下的局域网网段,via 填写路由器在虚拟局域网下的ip,成功后即可访问整个局域网设备
使用
目前虚拟局域网有两台设备, 172.22.151.180 为NAS,172.22.183.213 为Windows
ping下NAS,通的,组网成功,浏览器访问,打开NAS页面
页面打开、加载会有点慢, 但是下载速度还是可观的,快跑满上传上限了
可以使用 Parsec 进行远程串流玩3A,实测延迟10ms,码率最高7Mbps,画面清晰度不高但是很流畅,操作没延迟,用起来比云电脑舒服
发表回复