- 项目源码:
https://github.com/vnt-dev/vnt
- 官网:
https://rustvnt.com/
最近有朋友推荐了一个名为 VNT 的网络工具,抱着试一试的心态,我打开了它的官网。

简洁的页面清晰地展示了 VNT 的核心卖点:NAT穿透、点对网、跨平台。对于一个需要远程访问家庭网络的人来说,这几点就足够有吸引力了。如果你还知道其他好用的工具,欢迎在云栈社区的讨论区分享。
环境准备与工具安装
为了充分测试 VNT 的点对网功能,我搭建了以下多设备环境:
- 家中 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_64 架构,因此选择 vnt-x86_64-unknown-linux-musl-1.2.16.tar.gz。Windows 电脑则下载 vnt-x86_64-pc-windows-msvc-1.2.16.tar.gz。

在 NAS 上部署并启动 VNT
1. 安装过程
在 NAS 上创建一个专用目录,将下载的压缩包放入并解压。
# 创建目录
mkdir vnt
# 进入目录并解压(假设压缩包已在此目录)
tar -zxf vnt-x86_64-unknown-linux-musl-1.2.16.tar.gz
解压后会得到三个文件:README.txt、vn-link-cli 和 vnt-cli。我们只需要使用 vnt-cli。
2. 启动服务
由于需要创建虚拟网卡,务必使用 root 权限启动。
sudo ./vnt-cli -k nas_shengji_waner -n omv-n100 -o 192.168.31.0/24
参数解析:
-k nas_shengji_waner:组网令牌,只有令牌相同的设备才能加入同一个虚拟网络。
-n omv-n100:为当前设备设置一个易于识别的名称。
-o 192.168.31.0/24:启用点对网功能的关键参数,指定了当前设备所在物理局域网的网段。如果不加此参数,则只能使用点对点功能。
什么是点对点与点对网?
简单理解,运行了 VNT 的设备就是一个“点”。
- 点对点:指两个都安装了 VNT 的设备(如我的 NAS 和公司电脑)直接互通。
- 点对网:指一个“点”(安装了 VNT 的 NAS)可以充当其所在整个物理局域网的代理。例如,公司电脑通过 VNT 连接到家里的 NAS(点对点)后,无需在路由器上安装 VNT,就能直接访问路由器 (
192.168.31.1),因为 NAS 开启了点对网功能,将 192.168.31.0/24 网段“暴露”给了虚拟网络。
启动成功后,终端会显示类似以下信息,请务必记住分配给你的虚拟 IP(如 ip=10.26.0.2),后续配置会用到。

在 Windows 客户端连接
在 Windows 电脑上解压对应的程序包,然后以管理员身份运行命令提示符或 PowerShell,执行启动命令。
.\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
新增关键参数 -i:
- 格式为
[NAS的物理网段],[NAS的虚拟IP]。
- 本例中:
192.168.31.0/24 是家中 NAS 所在的物理网段,10.26.0.2 是上一步 NAS 获得的虚拟 IP。
- 这个参数告诉 Windows 客户端:“如果你想访问
192.168.31.0/24 网段,请将流量发给虚拟 IP 为 10.26.0.2 的那个设备(即家里的 NAS)。”
当看到 ====== Connect Successfully ====== 的输出时,恭喜你,组网成功了!
Windows 用户必看:解决依赖问题
如果你在 Windows 上直接运行上述命令,很可能会遇到一个关于 wintun.dll 的错误。这是因为 VNT 在 Windows 上依赖 WinTun 驱动。你需要:
- 访问
https://www.wintun.net/ 下载 WinTun。
- 从压缩包中找到
wintun.dll 文件。
- 将其复制到
vnt-cli.exe 所在的同一目录下。
之后再次运行命令即可。(别急,文末有更简单的 Windows 使用方案。)
体验无缝的远程访问
组网建立后,远程访问的体验非常直接:
- 点对点访问:在公司直接通过 NAS 的虚拟 IP (
10.26.0.2) 访问其服务,例如 Transmission 管理页面 http://10.26.0.2:9091。
- 点对网访问:这才是精髓所在。你可以像在本地一样,直接使用家庭局域网的物理 IP 进行访问:
- 访问 NAS 的物理 IP:
http://192.168.31.30:9091
- 访问家里的路由器后台:
http://192.168.31.1
- SSH 连接到同一网络下的另一台 NAS:
ssh user@192.168.31.20
跨平台与图形化客户端
VNT 的强大之处还在于其优秀的跨平台支持。除了命令行客户端,同一个开发团队还提供了图形化客户端项目 VntApp。
1. Android 客户端
在 Releases 页面下载 Android APK 安装后,配置非常直观:
- “组网编号” 对应
-k 参数。
- “设备名称” 对应
-n 参数。
- “in-ip” 对应
-i 参数(格式同为 网段,虚拟IP)。

配置完成后启动,即可在“设备”列表中看到所有在线节点及其连接方式(P2P 或 Relay)。

2. Windows 图形客户端
在 VntApp 的 Releases 中,同样可以找到已集成 wintun.dll 的 Windows 版本,并带有与 Android 端类似的 GUI 界面。这对于不习惯命令行的用户来说是个福音,管理和配置都更加方便。
进阶:搭建私有化服务器
如果你拥有公网服务器,并希望获得更高的安全性和可控性,可以考虑自建 VNT 服务器。项目作者提供了配套的服务器端项目 vnts。不过,就目前而言,使用官方提供的公共服务器(vnt.wherewego.top:29872)进行测试和一般使用完全足够。在我的测试中,即使在 Relay 中转模式下,传输速度也能达到约 3MB/s,而在成功的 P2P 直连下,则能跑满上行带宽。
总结
经过一番体验,VNT 确实是一个令人印象深刻的小工具:
- 高效轻量:由 Rust 语言编写,资源占用低,性能出色。
- 功能实用:完美融合了点对点和点对网两种模式,真正实现了“接入一点,访问全网”。
- 生态友好:提供多平台客户端及图形界面,降低了使用门槛。
- 潜力可观:作为一个较新的项目,目前官方服务器资源相对充裕,且自建服务器方案也已开源,未来发展值得期待。
对于有远程访问家庭网络、异地组网需求的开发者和极客来说,VNT 是一个非常值得尝试和关注的解决方案。