iOS 设置 DoH DoT
DoH DoT 介绍
DoH 及 DNS Over HTTPS,利用 HTTPS 协议加密 DNS 查询。DoT 及 DNS Over TLS,以经过TLS加密的TCP连接提供DNS解析服务。
加密DNS | 加密 | 协议 | 端口 | 性能 | 隐秘性 |
---|---|---|---|---|---|
DoH | TLS | HTTPS | 443 | 一般 | 查询和响应伪装在其他 HTTPS 流量中 |
DoT | TLS | TCP | 853 | 优秀 | 专用端口,网络管理员可以知道是DoT 流量,但无法解密内容 |
为什么需要 DoH/ DoT?传统的DNS查询和应答采用UDP明文传输,存在网络监听、DNS劫持、中间设备干扰的风险,尤其是国内运营商为节约成本,导致 DNS 解析错误影响使用。
iOS 无法直接设置 DoH 或 DoT,但是可以通过配置描述文件来配置。
配置描述文件
项目地址:github.com/paulmillr/encrypted-dns
名称 | 区域 | 审查 | 备注 | 安装链接 |
---|---|---|---|---|
DNSPod 公共 DNS | 🇨🇳 | 否 | 由腾讯云计算旗下 DNSPod 运营 | 安装DoH, 安装DoT |
阿里云公共 DNS | 🇨🇳 | 否 | 由阿里云计算运营 | 安装DoH, 安装DoT |
Cloudflare 1.1.1.1 | 🇺🇸 | 否 | 由 Cloudflare 运营 | 安装DoH, 安装DoT |
谷歌公共 DNS | 🇺🇸 | 否 | 由谷歌运营 | 安装DoH, 安装DoT |
安装步骤
iOS / iPadOS:使用 Safari 浏览器(其他浏览器只会下载该文件,不会弹出安装提示)点击上方表格中的安装DoH或DoT链接,然后点击“允许”按钮,描述文件将完成下载。打开 系统设置 => 通用 => VPN、DNS 与设备管理,选择已下载的描述文件并点击“安装”按钮。
同样安装后可以在 系统设置 => 通用 => VPN、DNS 与设备管理 移除。
文件示例
- dnspod-https.mobileconfig
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>DNSSettings</key>
<dict>
<key>DNSProtocol</key>
<string>HTTPS</string>
<key>ServerAddresses</key>
<array>
<string>1.12.12.12</string>
<string>120.53.53.53</string>
</array>
<key>ServerURL</key>
<string>https://doh.pub/dns-query</string>
</dict>
<key>PayloadDescription</key>
<string>Configures device to use DNSPod Encrypted DNS over HTTPS</string>
<key>PayloadDisplayName</key>
<string>DNSPod over HTTPS</string>
<key>PayloadIdentifier</key>
<string>com.apple.dnsSettings.managed.C498EC0C-EF6C-44F0-BFB7-0000658B99AC</string>
<key>PayloadType</key>
<string>com.apple.dnsSettings.managed</string>
<key>PayloadUUID</key>
<string>065AB183-5E34-4794-9BEB-B5327CF61F27</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ProhibitDisablement</key>
<false/>
</dict>
</array>
<key>PayloadDescription</key>
<string>Adds the DNSPod to Big Sur and iOS 14 based systems</string>
<key>PayloadDisplayName</key>
<string>DNSPod over HTTPS</string>
<key>PayloadIdentifier</key>
<string>com.paulmillr.apple-dns</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>030E6D6F-69A2-4515-9D77-99342CB9AE76</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
配置描述文件包含 DNS 域名及 IP。