需要在特权模式运行(最高权限root),并且宿主机提前加载好tun模块(加载命令:sudo modprobe tun)
docker run --name vnt-cli --net=host --privileged --restart=always -d lmq8267/vnt -k test123
以上启动参数示例只开启了-k token参数
没有特权模式和tun的 添加环境变量参数 -e APP=vn-link-cli
更多启动参数 :https://github.com/lbl8603/vnt/blob/main/vnt-cli/README.md
-k <token> 必填选项,在连接同一个服务器时,相同token参数的设备才会组建成一个局域网
-n <name> 指定设备名称,方便区分不同设备
-d <数字> 指定设备id,每台客户端的唯一标识,注意不要重复
--ip <ip> 指定虚拟ip,指定的ip不能和其他客户端重复,必须有效并且要在服务端指定的网段下(10.26.0.1),默认情况由服务端分配
-s <域名:端口> 自建服务端时填写,默认不填使用自带的公共服务器
-e <IP:端口> 自定义stun服务地址,使用stun服务探测客户端NAT类型,不同类型有不同的打洞策略
-a 加了此参数表示使用tap网卡,默认使用tun网卡,tun网卡效率更高
--nic <网卡名> 指定虚拟网卡名称,默认tun模式使用vnt-tun,tap模式使用vnt-tap
-i <对端网段,对端虚拟ip> 访问对端局域网内设备,可填写多个-i参数,填写格式为:例如对端设备lan网段是192.168.2.1 客户端启动后的虚拟ip是10.26.0.2 则填写-i 192.168.2.0/24,10.26.0.2
-o <本机网段> 开放本机局域网内设备给对端访问,可填写多个-o参数,格式为:例如本机lan网段 192.168.3.1 则填写-o 192.168.3.0/24
-w <密码> 加密的密码,若填写则使用相同密码的客户端之间才能通信(用于客户端-客户端之间的加密)
--model <加密模式> 开启上方加密后可选,加密模式,可选值 aes_gcm aes_cbc aes_ecb sm4_cbc ,默认使用aes_gcm,通常情况aes_gcm安全性高、aes_ecb性能更好速度更快
-W 用于服务端和客户端之间的数据加密,采用rsa+aes256gcm加密,可以避免token泄漏、中间人攻击,与上方两个性质不一样
-u <数值> 指定虚拟网卡的mtu值,大多数情况下使用默认值效率会更高,也可根据实际情况微调这个值,不加密默认为1450,加密默认为1410
--tcp 和服务端使用tcp通信。有些网络提供商对UDP限制比较大,这个时候可以选择使用TCP模式,提高稳定性。一般来说udp延迟和消耗更低
--use-channel <relay/p2p> relay:仅中继模式,会禁止打洞/p2p直连,只使用服务器转发
p2p:仅直连模式,会禁止网络数据从服务器/客户端转发,只会使用服务器转发控制包
--par <数值> 任务并行度(必须为正整数),默认值为1,该值表示处理网卡读写的任务数,组网设备数较多、处理延迟较大时可适当调大此值
--finger 数据指纹校验,可增加安全性,如果服务端开启指纹校验,则客户端也必须开启,开启会损耗一部分性能
--punch <参数> 可选值 ipv4/ipv6 ipv4 ipv6 ,选择只使用 ipv4 打洞或者只使用ipv6打洞,默认ipv4/ipv6两则都会使用
--ports <端口号> 指定本地监听的端口组,多个端口使用逗号分隔,多个端口可以分摊流量,增加并发,tcp会监听端口组的第一个端口,用于tcp直连
例1:‘--ports 12345,12346,12347’ 表示udp监听12345、12346、12347这三个端口,tcp监听12345端口
例2:‘--ports 0,0’ 表示udp监听两个未使用的端口,tcp监听一个未使用的端口
--first-latency 启用优先使用低延迟通道,默认情况下优先使用p2p通道,某些情况下可能p2p比客户端中继延迟更高,可使用此参数进行优化传输
--no-proxy 关闭内置的ip代理,内置的代理较为简单,而且一般来说直接使用网卡NAT转发性能会更高, 低性能设备添加此参数速度更快(https://github.com/lbl8603/vnt#linux)
Content type
Image
Digest
sha256:72d3624b3…
Size
9.3 MB
Last updated
5 months ago
docker pull lmq8267/vnt