找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 12074|回复: 96

padavan安装vnt,内网穿透,实现异地组网访问内网设备

  [复制链接]
发表于 2023-8-24 16:07 | 显示全部楼层 |阅读模式
本帖最后由 8267 于 2024-2-2 07:37 编辑

发现一个很好用的异地组网软件,分享给大家,项目地址:github.com/lbl8603/vnt 感谢lbl8603大佬! 电脑以及其他平台这里面有现成的  安卓下载 vntapk
只要两端都安装了vnt  即可实现互相访问 类似于zerotier吧 速度接近宽带速率  支持ipv6 ,更容易直连!轻松跑满我的30M上传  有朋友宽带更高的可以试试极限能跑多少 分享一下速度,用在7621这个路由器 又没有公网IP的 组网插件我推荐这个vnt 其次是lucktu仓库的多线程n2n,这俩都能轻松跑满我的宽带速度   openwrt可以参考liaohcai大佬写的教程OpenWrt一键安装异地虚拟组网插件VNT(脚本) openwrt的界面 luci-app-vnt

来自于 xf110 测试了,在两端p2p直连下,速度可以跑满宽带,如下图,他宽带上传是30M

家里nat1
单位nat4
也能打通p2p直连

3.7M/s 算是差不多跑满了



来自于 liaohcai 测试7621的cpu大概可以跑55M左右 下图 以及他提供的一些数据 10楼,点此直达




vnt-cli 客户端:下载地址   vnts 服务端:下载地址    小容量设备可以下载原版自己压缩。也可以下载我压缩好的,压缩版地址:下载地址  

下载自己对应平台的即可,我使用程序内置的服务器,所以就只下载客户端即可,我是padavan(mt7621),所以下载mipsel的vnt-cli  ,压缩版我用的是vnt-cli_full 下载后改名为vnt-cli

以下简单介绍padavan的使用步骤:其他平台不懂的或运行问题请前往作者项目地址里,或者作者的交流QQ群 里咨询大佬们吧

使用winscp之类的软件上传到/etc/storage/bin/vnt-cli  并赋予执行权限,同时可以在这个文件夹里新建一个配置文件,以yaml结尾 如vnt.yaml  填入以下内容
  1. # 全部参数 ---- 参考地址:https://github.com/lbl8603/vnt/blob/main/vnt-cli/README.md#-f-conf
  2. tap: false #是否使用tap网卡(默认使用tun网卡)
  3. token: xxx #组网token(各客户端使用相同的token才能组到同一个虚拟网里)
  4. device_id: xxx #当前设备id(如1 每个客户端id不能相同)
  5. name: windows 11 #当前设备名称 (如k2p,用来识别哪个客户端)
  6. server_address: ip:port #服务器(自建服务器请填你的域名:端口,如果使用作者的服务器 请删掉此行)
  7. stun_server:  #stun服务器(以下两行为默认stun服务器,免费stun服务器下方有介绍)
  8.   - stun1.l.google.com:19302
  9.   - stun2.l.google.com:19302
  10. in_ips: #代理ip入站(对端的内网ip网段和相应的虚拟ip,以下代表对端内网192.168.1.0网段和它的虚拟ip10.26.0.3,多个客户端按以下格式在下一行自行添加)
  11.   - 192.168.1.0/24,10.26.0.3
  12. out_ips: #代理ip出站(本机网段 0.0.0.0代表本机网段)
  13.   - 0.0.0.0/0
  14. password: xxx #密码 (各个客户端组网的加密,加密会影响速率,不加密请删掉此行)
  15. simulate_multicast: false #模拟组播(默认)
  16. mtu: 1420  #mtu (默认1420,如果无法ping通,适当调小)
  17. tcp: false #tcp模式(在如果网络环境差。udp有限速 可开启tcp模式)
  18. ip: 10.26.0.2 #指定虚拟ip (指定本机的虚拟ip,上面的代理ip入站需要用到指定虚拟ip)
  19. relay: false #中继模式(客户端网络环境很差,p2p效果不佳,速度慢?不稳?可以使用服务器转发,作者免费服务器只有5M带宽)
  20. server_encrypt: true #服务端加密 (默认)
  21. parallel: 1 #任务并行度 (默认,7621cpu 默认即可,多核cpu可自行增加测试最佳速度)
  22. cipher_model: aes_ecb #客户端加密算法(7621cpu此加密算法最快,不使用加密请删掉此行)
  23. finger: false #关闭数据指纹
  24. punch_model: ipv4 #打洞模式 (默认使用ipv4地址尝试打洞p2p,若无法打洞成功p2p,有ipv6地址的可使用ipv6,注意ipv4速度比ipv6速度更快)
  25. port: 0 #使用随机端口(默认无需修改)
  26. cmd: false #关闭控制台输入
  27. no_proxy: false #是否关闭内置代理,true为关闭(默认false启用,如果使用true关闭,速度会更快,但要额外输入nat命令下方有介绍)
复制代码
把以上内容修改为你的参数,填入vnt.yaml 和vnt-cli同目录里。新建一个启动脚本,vnt.sh也放至同目录。填入以下内容,并赋予执行权限
  1. #!/bin/sh

  2. /etc/storage/bin/vnt-cli --stop
  3. killall vnt-cli
  4. logger -t "vnt" "准备启动"
  5. cd /etc/storage/bin
  6. ./vnt-cli -f /etc/storage/bin/vnt.yaml &
  7. sleep 8
  8. if [ ! -z "`pidof vnt-cli`" ] ; then
  9. logger -t "vnt" "启动成功"
  10. #放行vnt防火墙
  11. iptables -I INPUT -i vnt-tun -j ACCEPT
  12. iptables -I FORWARD -i vnt-tun -o vnt-tun -j ACCEPT
  13. iptables -I FORWARD -i vnt-tun -j ACCEPT
  14. iptables -t nat -I POSTROUTING -j MASQUERADE
  15. #如果关闭内置代理(no_proxy: true) 需要启用下面的ip转发命令才能访问内网设备,去掉前方的#即可 (参考地址:https://github.com/lbl8603/vnt#linux)
  16. #sysctl -w net.ipv4.ip_forward=1
  17. else
  18. logger -t "vnt" "启动失败"
  19. fi
复制代码

  另外可以参考使用liaohcai大佬的一键安装异地虚拟组网插件VNT 的脚本


免费的stun服务器
TCP/UDP
  • fwa.lifesizecloud.com
  • stun.isp.net.au
  • stun.freeswitch.org
  • stun.voip.blackberry.com
  • stun.nextcloud.com
  • stun.sipnet.com
  • stun.radiojar.com
  • stun.sonetel.com
  • stun.voipgate.com
  • stun.byterace.shop
  • stunserver.stunprotocol.org

UDP
  • stun.miwifi.com
  • stun.qq.com


以下为旧版,自1.2.6版本以后很稳定很好用速度最快!

1.2.2(增加可选参数‘ --punch ipv4/ipv6’,如果存在公网ipv4和ipv6,默认将同时使用ipv4和ipv6打洞,也可指定其中一种,和1.2.1版本一起组网并且使用加密时,必须增加参数‘--finger’
注意自1.2.0版本起 服务器增加了加密功能,自建服务器使用1.2.0版本及以上那么客户端也要使用1.2.0及以上才行。如果单独使用客户端,两地的客户端也要保持一致 要么都是1.1.2版本 要么都是1.2.0版本及以上,1.1.2和1.2.0版本不能互通了  还在测试,版本随时更新中 更多版本说明请去github.com/lbl8603/vnt/releases 查看
1.1.2版之前的问题已修复重新上传了
编译了mipsel静态版的vnt-cli程序
客户端

  

客户端启动参数:参数说明

最新版本下载地址 :客户端,服务端

服务端使用说明:github.com/lbl8603/vnts   

单独使用只需要下载上面的客户端就行了 , 解压出 vnt-cli  上传到路由器/etc/storage/bin/目录 或者你喜欢的目录,然后在当前目录新建一个vnt.sh的脚本用来启动吧,并赋予他们的执行权限
编辑vnt.sh 例如   如果之前使用了1.1.2版本的  请删除1.1.2版本的设备id  1.2.0使用1.1.2版的设备id会导致启动失败 rm -rf /home/root/.vnt-cli /etc/storage/.vnt-cli/device-id
以下启动参数仅供参考 若是启动失败 请自行查看官方的启动参数说明
  1. #!/bin/sh

  2. /etc/storage/bin/vnt-cli --stop
  3. #关闭vnt的防火墙
  4. iptables -D INPUT -i tun0 -j ACCEPT 2>/dev/null
  5. iptables -D FORWARD -i tun0 -o tun0 -j ACCEPT 2>/dev/null
  6. iptables -D FORWARD -i tun0 -j ACCEPT 2>/dev/null
  7. iptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE 2>/dev/null
  8. killall vnt-cli
  9. killall -9 vnt-cli
  10. sleep 3
  11. #清除vnt的虚拟网卡
  12. ifconfig tun0 down && ip tuntap del tun0 mode tun
  13. #启动命令 更多命令去官方查看
  14. #/etc/storage/bin/vnt-cli -k 密钥 -i 对端内网网段.0/24,对端虚拟ip -o 本机网段.0/24 -d1 设备1 --ip 指定本机ip &  例如下面的 此路由ip是192.168.123.1  --ip指定本机虚拟ip为10.26.0.3 下面改为你自己的 -d1 另外一台设备就用-d2 不能一致密钥尽量复杂一点 不然容易和别人干扰 如果启动不了 大概就是这个虚拟ip被占了
  15. /etc/storage/bin/vnt-cli -k zheshimiyao -i 192.168.2.0/24,10.26.0.2 -o 192.168.123.0/24 -d1 --ip 10.26.0.3 &

  16. sleep 8
  17. if [ ! -z "`pidof vnt-cli`" ] ; then
  18. logger -t "vnt" "启动成功"
  19. #放行vnt防火墙
  20. iptables -I INPUT -i tun0 -j ACCEPT
  21. iptables -I FORWARD -i tun0 -o tun0 -j ACCEPT
  22. iptables -I FORWARD -i tun0 -j ACCEPT
  23. iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
  24. #开启arp
  25. ifconfig tun0 arp
  26. else
  27. logger -t "vnt" "启动失败"
  28. fi
复制代码
启动就输入/etc/storage/bin/vnt.sh  启动它, 停止必须输入程序 --stop,不能直接killall 它  (1.2.2版本及以后可以killall)下次会启动失败! 输入/etc/storage/bin/vnt-cli --stop 停止它

开机启动在  参数设置-在路由器启动后执行里添加  /etc/storage/bin/vnt.sh &

以上就是启动成功了   输入 /etc/storage/bin/vnt-cli --info 可以查看本机信息

也可以输入/etc/storage/bin/vnt-cli --all 显示所有当前密钥组网内用户在线情况

上面显示我的是服务器中继
下面是p2p直连



此时表示两端已经成功连接了

输入对端的内网ip  即可访问了   

以下 是我自建服务器 测试 p2p  30M上传的速度

这是1.1.2版本


这是1.2.0版本

服务器启动参数  参考如下
  1. #!/bin/sh

  2. killall vnts
  3. #关闭vnts的防火墙规则
  4. iptables -t filter -D INPUT -p tcp --dport 8268 -j ACCEPT
  5. iptables -t filter -D INPUT -p udp --dport 8267 -j ACCEPT
  6. logger -t "vnt" "启动服务器"
  7. /etc/storage/bin/vnts --port 8267 &
  8. sleep 8
  9. if [ ! -z "`pidof vnts`" ] ; then
  10. logger -t "vnt" "服务器启动成功"
  11. #放行vnts防火墙
  12. iptables -t filter -I INPUT -p tcp --dport 8267 -j ACCEPT
  13. iptables -t filter -I INPUT -p udp --dport 8267 -j ACCEPT
  14. else
  15. logger -t "vnt" "服务器启动失败"
  16. fi
复制代码

再次测试  我两个电信 30M上传  使用1.2.0 在路由器上自建的服务器 (使用客户端自带的服务器或者公益服务器
vnt.8443.eu.org:29871 速度都一样
) 可以跑满宽带




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

何必呢?少说几句吧,网络这么大,聚到一起也不容易!: 4.0
我用的命令是/tmp/vnt-cli -k 0000 -c -i 192.168.1.0/24,10.26.0.40 -o 192.168.3.0/24 -n cr660x -a -m &  发表于 2023-8-28 02:21
何必呢?少说几句吧,网络这么大,聚到一起也不容易!: 4
通过vnt连接,内网ip ping通,但速度很慢。虚拟ip就没有这问题  发表于 2023-8-28 02:19
发表于 2023-8-26 02:29 | 显示全部楼层
本帖最后由 liaohcai 于 2023-9-27 13:38 编辑

时间太晚了,改天有时间再折腾

ipv6、vnt、n2n(不加密)上行带宽测速

————————————————————————
本地路由器:


对端路由器:


________________________________________

都是MT7621平台
工具是iperf3

vnt-cli所用的运行参数
  1. /tmp/vnt-cli -k 〇 -n rm2100 -c -i 192.168.3.0/24,10.26.0.3 -o 192.168.1.0/24 --ip 10.26.0.7 &
  2. /tmp/vnt-cli -k 〇 -n cr660x -c -i 192.168.1.0/24,10.26.0.7 -o 192.168.3.0/24 --ip 10.26.0.3 &
复制代码
VNT-CLI三个版本测速



———————————————————————————
主机虚拟组网互测速








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

何必呢?少说几句吧,网络这么大,聚到一起也不容易!: 5.0
何必呢?少说几句吧,网络这么大,聚到一起也不容易!: 5
你好,大神能出个OP的教程吗?  发表于 2023-9-8 22:39
感谢你的分享,看来mt7621的路由器最高只能跑40m的宽带了  发表于 2023-8-31 10:11
回复 支持 反对

使用道具 举报

发表于 2023-8-24 17:05 来自手机 | 显示全部楼层
这个能访问路由器下面接的设备吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-24 17:11 | 显示全部楼层
玉米穗不吃花生 发表于 2023-8-24 17:05
这个能访问路由器下面接的设备吗

这类软件 都可以访问路由器下面的设备的。不过这款暂时可以访问,如果下面是nas之类的存储直接输入内网ip可能无法下载。如果路由器添加端口转发,输入虚拟ip是就可以下载路由器下面的设备的文件。如果下个版本作者修复了应该没这个问题了。

点评

等作者修复BUG,再测速  发表于 2023-8-25 16:19
回复 支持 反对

使用道具 举报

发表于 2023-8-24 17:35 | 显示全部楼层
这个可以点对点组网,不需要中间独立ip的服务器吗?
回复 支持 反对

使用道具 举报

发表于 2023-8-24 17:44 来自手机 | 显示全部楼层
有空我也要折腾一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-24 17:49 | 显示全部楼层
jakcy 发表于 2023-8-24 17:35
这个可以点对点组网,不需要中间独立ip的服务器吗?

好像都需要把? 没有不需要服务器的吧?都需要服务器进行握手。zerotier  tailscale  n2n都需要的    连接成功后 就不需要服务器了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-24 17:55 | 显示全部楼层
liaohcai 发表于 2023-8-24 17:44
有空我也要折腾一下

现在是不知道还有啥好的这种组建虚拟局域网的项目了  

点评

所谓好的组网项目 1配置简单 2打洞时间快 3能跑满上行带宽 4系统资源占用率低 5支持平台多 6项目长期有人维护 7对中心服务器依赖小  详情 回复 发表于 2023-8-24 18:19
回复 支持 反对

使用道具 举报

发表于 2023-8-24 18:01 | 显示全部楼层
看看
回复 支持 反对

使用道具 举报

发表于 2023-8-24 18:19 来自手机 | 显示全部楼层
8267 发表于 2023-8-24 17:55
现在是不知道还有啥好的这种组建虚拟局域网的项目了

所谓好的组网项目
1配置简单
2打洞时间快
3能跑满上行带宽
4系统资源占用率低
5支持平台多
6项目长期有人维护
7对中心服务器依赖小
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-26 06:31 | 显示全部楼层
liaohcai 发表于 2023-8-26 02:29
时间太晚了,改天有时间再折腾

ipv6、vnt、n2n(不加密)上行带宽测速

那也算差一点 跑满了,话说你们都能p2p直连,就我不行  

点评

p2p成功率低,试多次才能成功,打洞时间有点长,这边显示对端已在线,而对端显示这边离线,问题挺多的。从凌晨一点钟折腾到凌晨三点,总算成功了 主机对主机 ./vnt-cil -k 标识 -c & 查看列表 ./vnt-cil --all 停止  详情 回复 发表于 2023-8-26 11:42
回复 支持 反对

使用道具 举报

发表于 2023-8-26 11:42 来自手机 | 显示全部楼层
8267 发表于 2023-8-26 06:31
那也算差一点 跑满了,话说你们都能p2p直连,就我不行

p2p成功率低,试多次才能成功,打洞时间有点长,这边显示对端已在线,而对端显示这边离线,问题挺多的。从凌晨一点钟折腾到凌晨三点,总算成功了
主机对主机
./vnt-cil -k 标识  -c &
查看列表
./vnt-cil --all
停止,不能直接killall,则否出现问题
./vnt-cil --stop

回复 支持 反对

使用道具 举报

发表于 2023-8-28 16:20 来自手机 | 显示全部楼层
这是它的手机端,非常方便的了解到设备的连接方式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-28 16:26 | 显示全部楼层
liaohcai 发表于 2023-8-28 16:20
这是它的手机端,非常方便的了解到设备的连接方式

我已经修复1.1.2版本了  1.2.0也可以  速度上有所差别  作者说1.2.0会更快,但是我使用1.1.2更快。xf110使用1.2.0更快。具体看个人测试了  。两个版本不通用

点评

楼主 有没群晖的教程  详情 回复 发表于 2023-10-10 16:10
楼主很厉害  详情 回复 发表于 2023-8-28 16:34
回复 支持 反对

使用道具 举报

发表于 2023-8-28 16:34 来自手机 | 显示全部楼层
8267 发表于 2023-8-28 16:26
我已经修复1.1.2版本了  1.2.0也可以  速度上有所差别  作者说1.2.0会更快,但是我使用1.1.2更快。xf110 ...

楼主很厉害

点评

不厉害 我只是复制的 这是人家作者更新了版本 1.2.0 他说1.2.0 对于一些单核机器 速度会有下降 所以我才试着把他1.2.0的 应用进1.1.2里面 多核 可能1.2.0速度更快  详情 回复 发表于 2023-8-28 16:43
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-6-20 17:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

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