首先检查Chrome策略是否禁用SecureDnsMode,若被锁定需清除配置;随后在设置中开启“使用安全DNS”并选择服务商如dns.google;必要时修改/etc/hosts文件并刷新缓存;最后用kdig命令验证DoH加密连接状态。

如果您尝试在谷歌浏览器中启用安全DNS(DoH),但发现设置选项无法更改或连接未加密,可能是由于浏览器策略或网络配置限制了该功能。以下是解决此问题并成功启用安全DNS的步骤:
本文运行环境:MacBook Pro,macOS Sonoma
一、检查浏览器策略是否禁用安全DNS
某些组织或管理员会通过组策略强制禁用Chrome的安全DNS功能,导致用户无法手动开启。需确认本地策略设置状态。
1、打开Google Chrome浏览器,在地址栏输入 chrome://policy 并回车。
2、查找是否存在名为 SecureDnsMode 或 ExtensionManifestV2Availability 的策略项。
3、如果存在且值为“Disabled”或“Block”,说明策略已锁定安全DNS功能。
4、需要清除相关注册表项(Windows)或配置描述文件(macOS)。对于macOS,前往 /Library/Managed Preferences/ 或使用“系统设置-隐私与安全性-安全性”检查是否有配置描述文件。
二、手动启用安全DNS(DoH)功能
在确认无策略限制后,可直接通过浏览器设置开启DoH,使DNS查询通过HTTPS加密传输,防止监听和篡改。
1、点击Chrome右上角三个点图标,选择“设置”。
2、进入“隐私和安全”类别,点击“安全”。
3、向下滚动至“增强型保护”或“标准保护”部分,点击“使用安全DNS”选项。
4、选择“开启”,然后从下拉菜单中选择一个支持DoH的服务商,如 Google Public DNS (dns.google) 或 Cloudflare (cloudflare-dns.com)。
5、浏览器将自动测试连接,完成后即可生效。
三、修改系统Hosts文件绕过限制
当网络环境存在DNS劫持或污染时,可通过修改本地hosts文件强制解析关键域名,确保安全DNS服务可达。
1、打开终端,输入命令 sudo nano /etc/hosts 以管理员权限编辑hosts文件。
2、在文件末尾添加以下行:8.8.8.8 dns.google。
3、按 Control+O 保存,回车确认,再按 Control+X 退出编辑器。
4、刷新DNS缓存,在终端执行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder。
四、通过命令行验证DoH连接状态
使用诊断工具验证DoH是否正常工作,确认加密DNS请求已正确路由。
1、安装支持DoH的命令行工具,如 kdig(Knot DNS工具集的一部分)。
2、在终端执行命令:kdig @https://dns.google/dns-query +tls-ca example.com。
3、观察返回结果是否包含正确的A记录,且连接过程显示TLS加密信息。











