DoH配置和设置DNS
什么是DoH
在 DoH(DNS-over-HTTPS)协议中,DNS 查询请求和响应使用 HTTPS 协议。与传统的基于 UDP 和 TCP 的 DNS 协议相比,DoH 协议通过 TLS 协议对 DNS 报文进行了加密,从而防止 DNS 报文被窃听或劫持。另外,DoH 协议使用了 443 端口,该端口同时也是标准的 HTTPS 端口。这样,DNS 流量就可以隐藏在正常的 HTTPS 流量中,从而增加了窃听或劫持的难度。
参见 RFC 8484 了解 DoH 协议的详细信息。
后面均以阿里DoH为例
阿里云DNS
Mac、IOS设置DoH
您可以通过配置描述文件为Mac、iOS设备在系统级别配置DoH。
下面的 XML 代码展示了一个配置描述的文件的示例。示例中的配DoH地址使用的是阿里云DNS的公共地址。您可以根据官网提示使用私有地址。
把内容保存为一个 .mobileconfig
文件,例如 alipublic-https.mobileconfig,并且在您的Mac、iOS设备上安装该文件。
参见在 iPhone 或 iPad 上安装配置描述文件了解安装方法。
Mac设置DNS
查看设备网络服务
1 | networksetup -listallnetworkservices |
设置DNS
其中的Wi-Fi是网络服务中列出来的服务。选择常用的网络服务名,进行设置。
1 | sudo networksetup -setdnsservers Wi-Fi 2400:3200::1 2400:3200:baba::1 223.5.5.5 223.6.6.6 |
刷新DNS缓存
在macOS上刷新DNS缓存,你需要根据你的系统版本使用不同的命令。以下是针对不同版本的macOS系统的刷新DNS缓存的方法:
macOS Ventura (13) 及更高版本:
1 | sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
这个命令适用于最近几个版本的macOS,包括但不限于Catalina (10.15),Mojave (10.14),High Sierra (10.13),Sierra (10.12),以及更早些的版本直到El Capitan (10.11)。