Skip to content
/ vnt Public
forked from vnt-dev/vnt

An efficient VPN. 简便高效的异地组网、内网穿透工具

License

Notifications You must be signed in to change notification settings

tnucat/vnt

This branch is up to date with vnt-dev/vnt:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ffbb85d · Feb 21, 2025
Feb 6, 2025
Feb 13, 2025
Jul 17, 2023
Feb 6, 2025
Feb 6, 2025
Feb 6, 2025
Feb 13, 2025
Jul 3, 2024
Feb 13, 2025
Jun 15, 2024
Mar 4, 2024
Jun 15, 2024
Oct 3, 2024

Repository files navigation

VNT

🚀An efficient VPN

🚀一个简单、高效、能快速组建虚拟局域网的工具

vnt-cli参数详解 参数说明

快速开始:

  1. 指定一个token,在多台设备上运行该程序,例如:

      # linux上
      root@DESKTOP-0BCHNIO:/opt# ./vnt-cli -k 123456
      # 在另一台linux上使用nohup后台运行
      root@izj6cemne76ykdzkataftfz vnt# nohup ./vnt-cli -k 123456 &
      # windows上
      D:\vnt\bin_v1>vnt-cli.exe -k 123456
  2. 可以执行info命令查看当前设备的虚拟ip

     root@DESKTOP-0BCHNIO:/opt# ./vnt-cli --info
     Name: Ubuntu 18.04 (bionic) [64-bit]
     Virtual ip: 10.26.0.2
     Virtual gateway: 10.26.0.1
     Virtual netmask: 255.255.255.0
     Connection status: Connected
     NAT type: Cone
     Relay server: 43.139.56.10:29871
     Public ips: 120.228.76.75
     Local ip: 172.25.165.58
  3. 也可以执行list命令查看其他设备的虚拟ip

     root@DESKTOP-0BCHNIO:/opt# ./vnt-cli --list
     Name                                                       Virtual Ip      P2P/Relay      Rt      Status
     Windows 10.0.22621 (Windows 11 Professional) [64-bit]      10.26.0.3       p2p            2       Online
     CentOS 7.9.2009 (Core) [64-bit]                            10.26.0.4       p2p            35      Online
  4. 最后可以用虚拟ip实现设备间相互访问

    ssh
  5. 帮助,使用-h命令查看

使用须知

  • token的作用是标识一个虚拟局域网,当使用公共服务器时,建议使用一个唯一值当token(比如uuid),否则有可能连接到其他人创建的虚拟局域网中
  • 默认使用公共服务器做注册和中继,目前的配置是2核4G 4Mbps,有需要再扩展~
  • vnt-cli需要使用命令行运行
  • Mac和Linux下需要加可执行权限(例如:chmod +x ./vnt-cli)
  • 可以自己搭中继服务器(server)

直接使用

下载release文件

帮助文档

自行编译

点击展开

前提条件:安装rust编译环境(install rust)

到项目根目录下执行 cargo build -p vnt-cli

也可按需编译,将得到更小的二进制文件,使用--no-default-features排除默认features

cargo build -p vnt-cli --no-default-features

features说明

feature 说明 是否默认
openssl 使用openssl中的加密算法
openssl-vendored 从源码编译openssl
ring-cipher 使用ring中的加密算法
aes_cbc 支持aes_cbc加密
aes_ecb 支持aes_ecb加密
aes_gcm 支持aes_gcm加密
sm4_cbc 支持sm4_cbc加密
chacha20_poly1305 支持chacha20和chacha20_poly1305加密
server_encrypt 支持服务端加密
ip_proxy 内置ip代理
port_mapping 端口映射
log 日志
command list、route等命令
file_config yaml配置文件
lz4 lz4压缩
zstd zstd压缩
upnp upnp协议
ws ws协议
wss wss协议

支持平台

  • Mac
  • Linux
  • Windows
    • 默认使用tun网卡 依赖wintun.dll(win-tun)(将dll放到同目录下,建议使用版本0.14.1)
    • 可选择使用tap网卡 依赖tap-windows(win-tap)(建议使用版本9.24.7)
  • Android

GUI

支持安卓和Windows 下载

特性

  • IP层数据转发
  • NAT穿透
    • 点对点穿透
    • 服务端中继转发
    • 客户端中继转发
  • IP代理(点对点、点对网)
  • p2p组播/广播
  • 客户端数据加密(aes-gcmchacha20-poly1305等多种加密算法)
  • 服务端数据加密(rsa + aes-gcm)
  • 多通道UDP应对QOS
  • 支持TCP、UDP、WebSocket等多种协议
  • 支持数据压缩

更多玩法

  1. 和远程桌面(如mstsc)搭配,超低延迟的体验
  2. 安装samba服务,共享磁盘
  3. 点对网,访问内网其他机器、IP代理(结合启动参数'-i'和'-o')

Todo

  • 桌面UI(已支持)
  • 使用FEC、ARQ等方式提升弱网环境的稳定性

常见问题

展开

问题1: 设置网络地址失败

可能原因:

vnt默认使用10.26.0.0/24网段,和本地网络适配器的ip冲突

解决方法:
  1. 方法一:找到冲突的IP,将其改成别的
  2. 方法二:自建服务器,指定其他不会冲突的网段
  3. 方法三:增加参数-d ,设置不同的id会让服务端分配不同的IP,从而绕开有冲突的IP

问题2: windows系统上wintun.dll加载失败

可能原因:

没有下载wintun.dll 或者使用的wintun.dll有问题

解决方法:
  1. 下载最新版的wintun.dll 下载链接
  2. 解压后找到对应架构的目录,通常是amd64
  3. 将对应的wintun.dll放到和vnt-cli同目录下(或者放到C盘Windows目录下)
  4. 再次启动vnt-cli

问题3: 丢包严重,或是不能正常组网通信

可能原因:

某些宽带下(比如广电宽带)UDP丢包严重

解决方法:
  1. 使用TCP模式中继转发(vnt-cli增加--tcp参数)
  2. 如果p2p后效果很差,可以选择禁用p2p(vnt-cli增加--use-channel relay 参数)

问题4:重启后虚拟IP发生变化,或指定了IP不能启动

可能原因:

设备重启后程序自动获取的id值改变,导致注册时重新分配了新的IP,或是IP冲突

解决方法:
  1. 命令行启动增加-d参数(使用配置文件启动则在配置文件中增加device_id参数),要保证每个设备的值都不一样,取值可以任意64位以内字符串

交流群

对VNT有任何问题均可以加群联系作者

QQ群1: 1034868233(满人)

QQ群2: 950473757

赞助

如果VNT对你有帮助,欢迎打赏作者

其他

可使用社区小伙伴搭建的中继服务器

  1. -s vnt.8443.eu.org:29871
  2. -s vnt.wherewego.top:29872

参与贡献

About

An efficient VPN. 简便高效的异地组网、内网穿透工具

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%