这个功能请求是否与某个问题相关?请描述。
目前,VNT 通过 --relay-only(或 --use-channel relay)等参数支持全局通道选择,默认则为自动协商。但目前无法针对单个目标节点单独指定传输通道(P2P 直连或中继转发)。
在实际场景中,这种灵活性很有必要:
某个特定节点(如 10.26.0.1)可能位于严格的防火墙后面(出口丢弃UDP包,导致打洞成功但网络几乎无法联通,vnt目前也不会对这种情况检测并切换),只能通过中继服务器访问。
而其他节点(如 10.26.0.2、10.26.0.3)则在同一局域网内,P2P 直连质量很好。
如果全局启用 --relay-only,所有流量都会走中继,这会不必要地增加延迟,并给中继服务器增加额外的负载。反之,如果不启用,则问题节点可能无法连接或连接不稳定。
描述你期望的解决方案
我希望 VNT 能支持客户端为单个目标节点指定首选或强制的传输通道(P2P 或中继)。
可能的实现方式:
命令行按节点参数:例如 --peer-channel <节点IP>=<relay|p2p|auto>
扩展路由表:在现有的路由表(--route)中增加通道类型字段
配置文件支持:在 vnt.yml 或类似配置文件中为每个节点指定通道偏好
示例:
text
vnt-cli --peer-channel 10.26.0.1=relay --peer-channel 10.26.0.2=p2p
描述你考虑过的替代方案
目前的变通方案是使用全局 --relay-only 参数,但这会强制所有流量经过中继服务器,会降低与 P2P 连接良好的节点之间的性能,同时浪费中继服务器的带宽。
另一个替代方案是手动重启客户端并切换参数,但这很不方便,而且会中断现有连接。
补充背景信息
从 --route 命令的输出可以看到,我的设备与不同节点之间同时存在多种连接路径(有些是通过 TCP 中继 tcp@103...11:*****(HongKong),有些是通过 P2P 直连 192.168.5.x:xxxxx)(Mainland)。这说明底层架构已经具备同时管理多个通道的能力,将其扩展为允许用户按节点指定通道偏好,在技术上是可行的。
这个功能将大大增强 VNT 在混合网络环境(如家庭/办公 VPN、物联网部署)中的灵活性,让用户能针对不同节点兼顾稳定性和性能。
感谢开发者
这个功能请求是否与某个问题相关?请描述。
目前,VNT 通过 --relay-only(或 --use-channel relay)等参数支持全局通道选择,默认则为自动协商。但目前无法针对单个目标节点单独指定传输通道(P2P 直连或中继转发)。
在实际场景中,这种灵活性很有必要:
如果全局启用 --relay-only,所有流量都会走中继,这会不必要地增加延迟,并给中继服务器增加额外的负载。反之,如果不启用,则问题节点可能无法连接或连接不稳定。
描述你期望的解决方案
我希望 VNT 能支持客户端为单个目标节点指定首选或强制的传输通道(P2P 或中继)。
可能的实现方式:
示例:
text
vnt-cli --peer-channel 10.26.0.1=relay --peer-channel 10.26.0.2=p2p
描述你考虑过的替代方案
目前的变通方案是使用全局 --relay-only 参数,但这会强制所有流量经过中继服务器,会降低与 P2P 连接良好的节点之间的性能,同时浪费中继服务器的带宽。
另一个替代方案是手动重启客户端并切换参数,但这很不方便,而且会中断现有连接。
补充背景信息
从 --route 命令的输出可以看到,我的设备与不同节点之间同时存在多种连接路径(有些是通过 TCP 中继 tcp@103...11:*****(HongKong),有些是通过 P2P 直连 192.168.5.x:xxxxx)(Mainland)。这说明底层架构已经具备同时管理多个通道的能力,将其扩展为允许用户按节点指定通道偏好,在技术上是可行的。
这个功能将大大增强 VNT 在混合网络环境(如家庭/办公 VPN、物联网部署)中的灵活性,让用户能针对不同节点兼顾稳定性和性能。
感谢开发者