From ec2a74d06f7f1fbe0672893de2ce5ce98fb9b19d Mon Sep 17 00:00:00 2001 From: lubeilin <1791778603@qq.com> Date: Sun, 3 Mar 2024 21:35:49 +0800 Subject: [PATCH] =?UTF-8?q?[mio]=20=E5=AE=8C=E5=96=84=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + vnt-cli/README.md | 28 ++++++++++++++-------------- vnt-cli/src/main.rs | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 7c7d559..8ecd97d 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ features说明 | server_encrypt | 支持服务端加密 | 是 | | ip_proxy | 内置ip代理 | 是 | +### ip转发/代理 如果编译时去除了内置的ip代理(或使用--no-proxy关闭了代理),则可以使用网卡NAT转发来实现点对网, 一般来说使用网卡NAT转发会比内置的ip代理性能更好
NAT配置可参考如下示例,点击展开 diff --git a/vnt-cli/README.md b/vnt-cli/README.md index e33a7b4..16b3526 100644 --- a/vnt-cli/README.md +++ b/vnt-cli/README.md @@ -15,6 +15,8 @@ 使用stun服务探测客户端NAT类型,不同类型有不同的打洞策略 ### -a 加了此参数表示使用tap网卡,默认使用tun网卡,tun网卡效率更高 +### --nic `` +指定虚拟网卡名称,默认tun模式使用vnt-tun,tap模式使用vnt-tap ### -i ``、-o `` 配置点对网(IP代理)时使用,例如A(虚拟ip:10.26.0.2)通过B(虚拟ip:10.26.0.3,本地出口ip:192.168.0.10)访问C(目标网段192.168.0.0/24), @@ -41,13 +43,6 @@ 1. -w ``是用于客户端-客户端之间的加密,password不会传递到服务端,只添加这个参数不会加密客户端-服务端通信的数据 2. -W 用于开启客户端-服务端之间的加密 -### -m -模拟组播,高频使用组播通信时,可以尝试开启此参数,默认情况下会把组播当作广播发给所有节点 - -默认情况(组播当广播发送):稳定性好,使用组播频率低时更省流量 - -模拟组播:高频使用组播时防止广播泛洪,客户端和中继服务器会维护组播成员等信息,注意使用此选项时,虚拟网内所有成员都需要开启此选项 - ### -u `` 设置虚拟网卡的mtu值,大多数情况下使用默认值效率会更高,也可根据实际情况微调这个值,不加密默认为1450,加密默认为1410 @@ -78,8 +73,11 @@ 注意:默认情况下服务端不会对中转的数据做校验,如果要对中转的数据做校验,则需要客户端、服务端都开启此参数 ### --punch `` 取值ipv4/ipv6,选择只使用ipv4打洞或者只使用ipv6打洞,默认两则都会使用 -### --port `` -取值0~65535,指定本地监听的端口,默认取随机端口 +### --ports `` +指定本地监听的端口组,多个端口使用逗号分隔,多个端口可以分摊流量,增加并发 + +- 例1:‘--ports 12345,12346,12347’ 表示监听12345、12346、12347这三个端口, +- 例2:‘--ports 0,0’ 表示监听两个未使用的端口 ### --cmd 开启交互式命令,开启后可以直接在窗口下输入命令,如需后台运行请勿开启 ### --first_latency @@ -105,17 +103,18 @@ in_ips: #代理ip入站 out_ips: #代理ip出站 - 0.0.0.0/0 password: xxx #密码 -simulate_multicast: false #模拟组播 mtu: 1420 #mtu tcp: false #tcp模式 ip: 10.26.0.2 #指定虚拟ip -relay: false #中继模式 +use_channel: relay #relay:仅中继模式.p2p:仅直连模式 server_encrypt: true #服务端加密 parallel: 1 #任务并行度 cipher_model: aes_gcm #客户端加密算法 finger: false #关闭数据指纹 punch_model: ipv4 #打洞模式 -port: 0 #使用随机端口 +ports: + - 0 #使用随机端口 + - 0 cmd: false #关闭控制台输入 no_proxy: false #是否关闭内置代理,true为关闭 first_latency: false #是否优先低延迟通道,默认为false,表示优先使用p2p通道 @@ -126,8 +125,9 @@ first_latency: false #是否优先低延迟通道,默认为false,表示优 # 部分参数 token: xxx #组网token ``` -### --relay -禁用p2p,在网络环境很差时,只使用服务器中转效果可能更好(可以配合--tcp参数一起使用) +### --use-channel `` +- relay:仅中继模式,会禁止打洞/p2p直连,只使用服务器转发 +- p2p:仅直连模式,会禁止网络数据从服务器/客户端转发,只会使用服务器转发控制包 ### --list 在后台运行时,查看其他设备列表 ### --all diff --git a/vnt-cli/src/main.rs b/vnt-cli/src/main.rs index fba5f09..d060c0a 100644 --- a/vnt-cli/src/main.rs +++ b/vnt-cli/src/main.rs @@ -460,7 +460,7 @@ fn print_usage(program: &str, _opts: Options) { println!(" --no-proxy 关闭内置代理,如需点对网则需要配置网卡NAT转发"); println!(" --first-latency 优先低延迟的通道,默认情况优先使用p2p通道"); println!(" --use-channel 使用通道 relay/p2p/all,默认两者都使用"); - println!(" --nic 虚拟网卡名称,windows下使用tap模式则必须指定此参数"); + println!(" --nic 指定虚拟网卡名称"); println!(); println!(