如果 iptables 没有 RETURN dns 查询,就会进入 v2ray 的 dokodemo-door 入站协议,然后就会出现 dns 查询循环转发的现象,设备无法联网。我这里用的是 192.168.0.1 这个 dns 服务器,但是换用其他的 dns(例如 223.5.5.5) 服务器也会循环转发。如果 iptables 过滤(RETURN)了 dns 查询,则可以正常上网,透明代理可以生效,也可以访问 google 等网站。不过,我有点小疑问:iptables 过滤掉 dns 查询,那么 dns 就不会代理到 v2ray,dns 查询会在本地进行,在本地查询进行应该会有 dns 污染吧,为什么还可以翻墙?
似乎 dns 出站协议,没有使用内置的 dns 服务器进行查询,我使用 WireShark 抓包,没有抓到内置 dns 服务器发的包。
除非特殊情况,请完整填写所有问题。不按模板发的 issue 将直接被关闭。 如果你遇到的问题不是 V2Ray 的 bug,比如你不清楚要如何配置,请使用Discussion进行讨论。
你正在使用哪个版本的 V2Ray?(如果服务器和客户端使用了不同版本,请注明)
你的使用场景是什么?比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
Arch Linux 下配置透明代理,dns 查询会循环转发,设备无法连网。参考文章:透明代理(TPROXY) | 新 V2Ray 白话文指南
你看到的不正常的现象是什么?(请描述具体现象,比如访问超时,TLS 证书错误等)
RETURN
dns 查询,就会进入 v2ray 的dokodemo-door
入站协议,然后就会出现 dns 查询循环转发的现象,设备无法联网。我这里用的是192.168.0.1
这个 dns 服务器,但是换用其他的 dns(例如223.5.5.5
) 服务器也会循环转发。如果 iptables 过滤(RETURN
)了 dns 查询,则可以正常上网,透明代理可以生效,也可以访问 google 等网站。不过,我有点小疑问:iptables 过滤掉 dns 查询,那么 dns 就不会代理到 v2ray,dns 查询会在本地进行,在本地查询进行应该会有 dns 污染吧,为什么还可以翻墙?SO_MARK
,在 iptables 中插入一条规则,iptables -t mangle -I V2RAY 1 -m mark --mark 0xff
,然后使用iptables -nvxL --line-numbers
发现这条规则计数为 0,说明在V2RAY_MASK
中正确拦截了SO_MAKR == 255
的包。感觉 v2ray 好像没有为 dns 查询设置SO_MARK
。你期待看到的正确表现是怎样的?
不要出现循环转发
请附上你的配置(提交 Issue 前请隐藏服务器端 IP 地址)。
客户端配置:
iptables 及 策略路由设置:
请附上出错时软件输出的错误日志。在 Linux 中,日志通常在
/var/log/v2ray/error.log
文件中。客户端错误日志: