Nas部署一个强大的内网穿透和组网工具 – vnt
  • 项目源码:https://github.com/vnt-dev/vnt
  • https://rustvnt.com/

VNT 的官网:

Nas 部署一个强大的内网穿透和组网工具 - 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

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

在 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 后,可以看到如下输出:

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:

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

这里只需要配置:

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

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

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

再上一层楼

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

又上一层楼

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

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

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

最后

  • • rust 编写,轻量高效
  • • 新项目,正是白嫖官方服务器带宽的好时候
  • • 功能强大,未来可期
  • • 值得入手,值得持续关注
© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...