07
2025
05
09:27:02

Nas部署一个强大的内网穿透和组网工具 - vnt

  • 项目源码:https://github.com/vnt-dev/vnt
  • • 官网:https://rustvnt.com/

有粉丝朋友给我留言推荐了VNT,抱着试一试的态度,我打开了VNT的官网:

图片

就冲着“NAT穿透、点对网、跨平台”这三个点,就值得入手一试。

(如果还有其他好玩的网络工具,欢迎给我留言)

安装

这个工具的点对网功能需要多台设备测试,所以先说明一下我的测试环境,对后续的安装配置好理解一下。

  • • 家里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

先到github源码仓库的Release页面下载VNT对应版本:我的两台Nas都是x86,所以下载vnt-x86_64-unknown-linux-musl-1.2.16.tar.gz

windows电脑对应下载vnt-x86_64-pc-windows-msvc-1.2.16.tar.gz

图片

在N100-Nas上安装并启动VNT

  • • 安装
# 先创建一个vnt目录
mkdir vnt
# 将下载的安装包复制到vnt目录下并解压
tar -zxf vnt-x86_64-unknown-linux-musl-1.2.16.tar.gz
# 此时会得到三个文件:README.txt  vn-link-cli  vnt-cli
# 我们只需要用到 vnt-cli即可
  • • 启动
# 启动命令,由于要创建虚拟网卡,所以一定要使用root权限启动(在命令前加上 sudo)
sudo ./vnt-cli -k nas_shengji_waner -n omv-n100 -o 192.168.31.0/24
# 参数说明:
# -k nas_shengji_waner   组网Token,相同的组网Token才能相互组网
# -n omv-n100            给设备一个名字,便于区分不同设备
# -o 192.168.31.0/24     要使用 点对网 这个功能的话,必须加上这个,也就是Nas的网段
                         如果不传入这个参数,就只能使用 点对点 的功能

什么是点对网?什么是点对点?

启动了VNT程序的设备 就可以理解为 “点”。所以我家里的Nas是一个“点”,我公司的笔记本也是一个“点”。


我的Nas和笔记本组网成功后,在我的笔记本上就可以打开访问我的Nas,这就叫“点对点”。

但是在我公司的笔记本上,想要访问我家里的路由器怎么办?我的路由器没有安装VNT,所以路由器没法成为一个“点”。

好在我的Nas和路由器网络是通的,那能否通过Nas中转一下再访问路由器呢?

这就是VNT的“点对网”功能,当我的Nas指定了这个参数-o 192.168.31.0/24开启了点对网功能时,那么我在公司的笔记本上就可以直接访问家里的路由器了,即使路由器上没有安装VNT。

Nas上启动VNT后,可以看到如下输出:

图片

从上图中记住这个IP:ip=10.26.0.2,这个表示给Nas分配的组网IP,后面在Windows上要用到。

在公司笔记本上安装并启动VNT

解压下载好的程序包vnt-x86_64-pc-windows-msvc-1.2.16.tar.gz,注意启动时要使用管理员权限运行:

# 启动命令
.\vnt-cli.exe -k nas_shengji_waner -n win11 -o 192.168.1.0/24 -i 192.168.31.0/24,10.26.0.2 
# 参数说明
# -k nas_shengji_waner   组网Token,必须与Nas上启动VNT时指定的Token一样
# -n 和 -o 参数与Nas上启动时一样,就不另外说了
# -i 192.168.31.0/24,10.26.0.2  这个参数非常重要,是对点网功能的必要参数
                                首先要知道这里有个英文的逗号,存在
                                在,前 是我家里Nas的网段,也就是192.168.31.0/24
                                在,后 是我家里Nas启动VNT时分配的组网IP 10.26.0.2

当看到屏幕上打印了====== Connect Successfully ======时就表示组网成功了。

但是

如果你直接按照上述命令操作的话,肯定是看不到这个Connect Successfully这个打印的,你会看到一长串红色的错误:

error ErrorType=FailedToCrateDevice ,msg="create device Custom { kind: Other, error: WintunError(LibLoading(LoadLibraryExW { source: Os { code: 126, kind: Uncategorized, message: "找不到指定的模块。" } })) }"


那是因为在Windows上VNT还依赖另外一个dll库:wintun.dll,我们需要从https://www.wintun.net/这里下载并解压,然后从解压的文件里找到wintun.dll并复制到vnt-cli.exe的相同目录下,才能正常运行。

(上述windows安装流程门槛较高,文后还有更简单的方法)

体验

组网完成后,我们可以开始享受从公司远程访问家里网络的乐趣了:

  • • 查看Transmission上的下载进度:http://10.26.0.2:9091 这是点对点
  • • 也可以直接使用Nas的ip打开Transmission:http://192.168.31.30:9091 这是点对网
  • • 打开家里的小米路由器:http://192.168.31.1 这也是点对网
  • • ssh连接另一台飞牛Nas:ssh jfzui@192.168.31.20 这也是点对网

非常直接,非常爽!值得推荐,值得大家入手。

更上一层楼

值得推荐的另一个理由:跨平台

相同作者的配套项目:https://github.com/vnt-dev/VntApp

在这里可以下载到Android版本的VNT:

图片

这里只需要配置:

  • • “组网编号” 对应 命令行中的 -k 参数
  • • “设备名称” 对应 命令行中的 -n 参数
  • • “in-ip” 对应 命令行中的 -i 参数

配完后启动连接,可以看到当前加入组网的所有设备列表,以及P2P状态

图片

再上一层楼

其实在这个配套项目:https://github.com/vnt-dev/VntApp中,还能下载到已经集成了wintun.dll库的windows版本,并且还带GUI图形化界面,界面和交互与Android一样,这样就不用自己命令行来启动了。在windows上用命令行管理程序,真的挺累的。

又上一层楼

该作者还有一个配套项目:https://github.com/vnt-dev/vnts

这个项目用于自己搭建私有化的服务器,如果你有自己的公网服务器的话,那么还是建议自己搭服务器,会更安全些。

不过现在这个项目知道的人少,官方提供的服务器在我测试下来够用,我从家里传文件到公司,Relay情况下速度大概在3M左右; 要是P2P情况下,更是跑满了带宽。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://www.hqyman.cn/post/11091.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: