如何阻止Chromium内核浏览器自行解析常规(非DoH)DNS?
如何阻止Chromium内核浏览器自行解析常规(非DoH)DNS?
补充一下:我这里说的「自行解析DNS」不是指DoH(DNS over HTTPS),就是普通的、未加密的“经典”DNS请求。
我完全懂你遇到的困扰——切换网络时,Chromium系浏览器(Vivaldi、Chrome、Brave这些)会绕开系统DNS解析器,直接发起UDP:53的连接请求,而不是按预期依赖系统来处理DNS解析,这种行为确实让人头疼。毕竟正常来说,主机上的应用应该是通过系统解析器来处理DNS的,从应用层到物理层按流程走才对。
你观察到的细节也很准确:当你手动拒绝浏览器的UDP:53请求时,浏览器直接歇菜,因为它没法自己完成DNS解析;而如果是防火墙静默阻止这类请求,浏览器会 fallback 到系统解析器,这时候你能看到系统DNS进程有网络活动,就是最好的证明。
要解决这个问题,你需要调整Chromium的内置flags,禁用它自带的DNS客户端,强制它用系统的解析器,步骤如下:
- 打开你的Chromium系浏览器,在地址栏输入对应的flags入口:
- Chrome/Edge:
chrome://flags - Vivaldi:
vivaldi://flags - Brave:
brave://flags
- Chrome/Edge:
- 在页面顶部的搜索框里输入 Built-in DNS client,找到这个选项
- 将它的状态从「Default」改为「Disabled」
- 重启浏览器,设置就会生效
这样调整后,浏览器就不会再自己发起UDP:53的DNS请求了,所有解析操作都会交给系统处理,切换网络时也不会再跳出烦人的防火墙弹窗,完全符合你预期的工作方式。
备注:内容来源于stack exchange,提问作者Vita
相关产品推荐
相关产品推荐

