随着我不断的摸索,今天又找到了一种比较有意思的玩法:不创建虚拟网卡完成组网。
如果大家有其他更好玩的,欢迎在下方给我留言,我平常就喜欢玩一些新奇的东西。
无Root进阶组网
上一篇文章中有说到,要实现组网的话,得用到Root/管理员权限。而实际上我们有些机器是没有root/管理员权限的,或者有root但是出于安全考虑不想开放Root;对于这种情况,又该如何组网呢?
不用担心,VNT官方已经支持了这种没有权限不能创建虚拟网卡的场景。在我们下载的程序包解压后,会得到两个文件:
• vnt-cli : 这个是默认需要Root权限的,也会默认创建vnt-tun虚拟网卡的 • vn-link-cli:这个程序不需要Root,也不会创建虚拟网卡。今天咱们就用它来玩玩无Root组网
测试环境:
还是之前的测试环境,先列出来,对后续的启动配置好理解一些:
• 家里N100-Nas:OMV系统,IP 192.168.31.30
,对应网段192.168.31.0/24
• 家里J1900-Nas:飞牛FNOS,IP 192.168.31.20
,对应网段192.168.31.0/24
• 公司笔记本:IP 192.168.1.15
,对应网段192.168.1.0/24
家里N100-Nas启动
使用vn-link-cli启动的命令:
./vn-link-cli -k nas_shengji_waner -n omv-n100 -o 192.168.31.0/24
# 启动参数和之前一样,就不做过多解释了,有不懂的朋友,建议先看一下我上一篇笔记
启动后记住屏幕上打印的IP地址,比如我的是:ip=10.26.0.2
,这个表示给Nas分配的组网IP,后面在Windows上要用到。
公司笔记本启动 : 点对点
使用vn-link-cli启动的命令:
.\vn-link-cli.exe -k nas_shengji_waner -n win11 --vnt-mapping "tcp:9091-10.26.0.2:9091"
关于命令行中的启动参数:--vnt-mapping "tcp:9091-10.26.0.2:9091"
是我们完成无Root组网的关键。
我们将这个参数拆开来解释一下
• 先看最后面的 10.26.0.2:9091
, 这个IP表示我Nas的组网IP,9091是我在Nas上搭建的transmission服务端口• 再看前面的 9091
,这个表示将Nas上的9091端口 映射到 我公司电脑上的 9091端口。这个映射端口我们也可以根据自己喜好修改• 再看最前面的 tcp: 这里有有两个选择 tcp/udp
,但是咱们一般访问都是用的tcp,只有一些游戏的端口会用到udp
所以这个参数的意思就是:将我家里Nas上的transmission服务映射到公司电脑上的9091端口,那么当我访问 公司电脑的 9091端口时,就等价于访问家里的transmission服务。
实践出真知!
此时我在公司电脑上,浏览器打开:http://127.0.0.1:9091
打开了我家里的transmission服务,操作也完全没问题,如同在家直接操作nas一样。
唯一要注意的就是,通过这种方式组网,必须使用 127.0.0.1
这个IP来访问映射端口。
公司笔记本启动:点对网
点对网,是能指访问家里其他设备上的服务。使用vn-link-cli启动的命令:
.\vn-link-cli.exe -k nas_shengji_waner -n win11 --vnt-mapping "tcp:9091-10.26.0.2:9091" --vnt-mapping "tcp:3510-192.168.31.1:8080" -i 192.168.31.0/24,10.26.0.2
这里增加了两个参数:
• --vnt-mapping "tcp:3510-192.168.31.1:8080"
,这个参数表示将家里的路由器映射到公司电脑上的3510端口• -i 192.168.31.0/24,10.26.0.2
,这个参数表示将192.168.31.1
这个IP的数据转发到10.26.0.2
这个组网IP上,也就是转到家里的Nas
实践出真知!
此时我在公司电脑上,浏览器打开:http://127.0.0.1:3510
立即打开了我家里的小米路由,登录操作也完全没有问题。
最后
• 这种组网方式,准确的说应该就叫 端口映射 • 官方的说法叫: 无权限无tun模块组网
• 基于虚拟网卡(tun模块)的组网,当然是最方便的,不需要过多的配置端口。但无Root组网也有它的一些用处,各取所需吧。
另外,我还想到了其他的一些玩法:
• 在VPS通过上述方式,映射几个端口出来,再将自己的域名打到映射端口:那么就实现了不安装vnt程序,也可随时随地通过域名访问家里的服务啦 • 这种方式类似于FRP,但是我觉得比FRP会更方便,因为新增映射端口时只需要在VPS上配置即可,所以更灵活些。 • 在VPS使用虚拟网卡组网方式,配合nginx的http和stream模块,再将自己的各个子域名分流打到nginx,nginx通过upstream打到虚拟网卡,则实现了无需端口配置即可访问家里任意设备任意服务的场景,而且也不用安装vnt程序。
上述仅限于想法,还未实现。因为vnt的功能实在太强大了,我还正在研究vnt的网对网功能,没空去实验。若有朋友愿意或者已经实验过上述想法的话,可以给我留言。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/11097.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~