Dns查询会走代理吗?

dns查询分为普通查询, 加密dns doh, dot 查询.
如果用浏览器, 且设置了通过sock5代理, 那么这2种dns查询会通过代理走吗?

1 个赞

不一定。
Linux 4.1.7 DNS泄漏问题 (我认为不是 Linux、也不是 Geph 的问题;而是 Firefox 的问题)

我的情况是:
Firefox

  • about:preferences#general > network > Manual proxy configuration (socks only) + Proxy DNS when using SOCKS v5 【结果:DNS 查询只走代理】
  • 使用 extension, 比如 Proxy SwitchyOmega 时(用 socks5 代理所有流量)【结果:~会泄漏】

Chrome

  • 使用 extension, 比如 Proxy SwitchyOmega 时(用 socks5 代理所有流量)【结果:~泄漏】

你这个的原因是 firefox 的doh 是 mode=2 的, 即当doh不可用时, 就用系统dns. 比如, 你设置一个不存在的doh, 照样能访问, 此时就用的系统dns. 或当firefox高频率查询域名就会自动用系统dns了. firefox 是否有强制只走doh , 还不清楚. edge的doh设置不对选项会自动跳回用系统dns 了. chrome doh设置的无效是无法访问域名的.
firefox 的代理设置和 chrome 也有区别, omega插件在chrome上是完全接管代理的, 在firefox上我估计不是的, 只是一个插件, 所以 用sock5代理所有dns的选项根本对omega不起作用的.
另外, 国外的doh 几个大型的, 都是被屏蔽的, 所以不加代理是不能用的, 要配合代理才可用.

1 个赞

firefox 真坑, 不知道坑里多少人

network.trr.mode = 3 不就强制了?

我能用↴

但要 1~3 秒

dog dns.google -H @https://doh.cleanbrowsing.org/doh/security-filter/ --time
A dns.google. 1m47s   8.8.4.4
A dns.google. 1m47s   8.8.8.8
Ran in 2938ms