找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5267

积分

1

好友

723

主题
发表于 1 小时前 | 查看: 3| 回复: 0
  • 项目源码:https://github.com/vnt-dev/vnt
  • 官网:https://rustvnt.com/

最近有朋友推荐了一个名为 VNT 的网络工具,抱着试一试的心态,我打开了它的官网。

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

GitHub Release页面截图,标注了NAS应下载的版本

在 NAS 上部署并启动 VNT

1. 安装过程
在 NAS 上创建一个专用目录,将下载的压缩包放入并解压。

# 创建目录
mkdir vnt
# 进入目录并解压(假设压缩包已在此目录)
tar -zxf vnt-x86_64-unknown-linux-musl-1.2.16.tar.gz

解压后会得到三个文件:README.txtvn-link-clivnt-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),后续配置会用到。

VNT在终端成功启动并显示虚拟IP的截图

在 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 驱动。你需要:

  1. 访问 https://www.wintun.net/ 下载 WinTun。
  2. 从压缩包中找到 wintun.dll 文件。
  3. 将其复制到 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)。

Android客户端配置界面截图

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

Android客户端设备列表截图,显示已连接的设备

2. Windows 图形客户端
在 VntApp 的 Releases 中,同样可以找到已集成 wintun.dll 的 Windows 版本,并带有与 Android 端类似的 GUI 界面。这对于不习惯命令行的用户来说是个福音,管理和配置都更加方便。

进阶:搭建私有化服务器

如果你拥有公网服务器,并希望获得更高的安全性和可控性,可以考虑自建 VNT 服务器。项目作者提供了配套的服务器端项目 vnts。不过,就目前而言,使用官方提供的公共服务器(vnt.wherewego.top:29872)进行测试和一般使用完全足够。在我的测试中,即使在 Relay 中转模式下,传输速度也能达到约 3MB/s,而在成功的 P2P 直连下,则能跑满上行带宽。

总结

经过一番体验,VNT 确实是一个令人印象深刻的小工具:

  1. 高效轻量:由 Rust 语言编写,资源占用低,性能出色。
  2. 功能实用:完美融合了点对点和点对网两种模式,真正实现了“接入一点,访问全网”。
  3. 生态友好:提供多平台客户端及图形界面,降低了使用门槛。
  4. 潜力可观:作为一个较新的项目,目前官方服务器资源相对充裕,且自建服务器方案也已开源,未来发展值得期待。

对于有远程访问家庭网络、异地组网需求的开发者和极客来说,VNT 是一个非常值得尝试和关注的解决方案。




上一篇:开源跨平台数据可视化工具Serial-Studio:嵌入式开发调试利器
下一篇:Prometheus 部署指南:安装步骤、配置文件解析与自定义监控规则实战
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-11 10:28 , Processed in 0.766105 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表