Open HMBSbige opened 10 months ago
rfc1928 没有指示 UDP 代理请求的 DST 应作为 bind 地址,发送问题给 NatTypeTester。
1dd2c26 为了处理 #755,使 SOCKS5 UDP 的路由依赖于客户端发送地址为 0.0.0.0 的 UDP associate 实现。
两位意思是 SOCKS5 UDP socket 必须是 bind(0.0.0.0:0),而不能是其他本机地址?
一般认为 SOCKS5 UDP 的 ADDR 仍用于指示连接地址。如为 0.0.0.0:0,sing-box 转而使用第一个包的地址用于规则匹配。
The DST.ADDR and DST.PORT fields contain the address and port that the client expects to use to send UDP datagrams on for the association.
UdpAssociate Request 里的 DST 用于目的路由匹配感觉怪怪的。
作为 inbounds 与客户端的交互,却和ip_is_private
或ip_cidr
之类的规则匹配,而不是source_ip_is_private
或source_ip_cidr
我的错误。经检查,同类项目均忽略该地址(除 v2ray 的客户端仍发送目标地址),考虑提案将行为修正。
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days
操作系统
Linux
系统版本
ArchLinux
安装类型
sing-box 原始命令行程序
如果您使用图形客户端程序,请提供该程序版本。
No response
版本
描述
最小化重现配置如下:
如果 SOCKS5 客户端 UDP associate 前,UDP Socket bind(127.0.0.1:0),请求后日志中会出现
inbound packet connection to 127.0.0.1:port
,并会触发 block 规则。当然 127.0.0.1 只是举例,实际不应该将此地址去匹配目的路由。
重现方式
此错误跟平台无关,在 Windows 中可以使用 NatTypeTester 当作 SOCKS5 客户端测试
127.0.0.1:1080
127.0.0.1:0
日志