在管理后台:订阅
DNS
DNS 预设是什么、DNS 分流如何工作、用户适用哪个预设、用户为订阅类应用和每台服务器选择的 DNS、各应用如何获取 DNS,以及更改何时会生效。
本页内容
DNS 预设决定用户的应用会向哪些 DNS 服务器发送查询,以及如何查询。查询在隧道内传输,因此用户的网络运营商看不到这些查询。面板附带多个可直接使用的预设(其中一个是所有人的默认预设),你也可以创建自己的预设并分配给用户或分组。预设位于 订阅 的 DNS 标签页中。
这是应用使用的 DNS。节点也有自己的 DNS 设置:参见下文「节点 DNS 是另一回事」。
预设包含什么#
| 部分 | 内容 |
|---|---|
| 名称和说明 | 卡片上会显示一行简短说明。 |
| 服务器 | 主 DNS 解析器会按此顺序查询:第一个响应的服务器获胜。每个服务器都来自从目录添加或是自定义服务器。 |
| 查询方式 | 首选传输方式:普通、DoT 或 DoH。 |
| 分流规则 | 域名以指定后缀结尾时,会使用各自的服务器查询,而不是主服务器。 |
| 选项 | 分流域名直连,不经过 VPN 和 仅 IPv4。 |
服务器#
目录中的服务器是服务商的不同选项(「Cloudflare」、「AdGuard Family」、「Yandex Safe」):面板知道它们的普通、DoT 和 DoH 地址,并会为每个应用选择一种。自定义服务器的类型和地址固定:
| 类型 | 地址 |
|---|---|
| 普通 | IP 地址;需要时可带端口:1.1.1.1 或 1.1.1.1:53。 |
| DoH | https:// 地址:https://dns.example.com/dns-query。 |
| DoT | 主机名或 IP;需要时可带端口:dns.example.com 或 94.140.14.14:853。 |
查询方式#
每个应用会在支持该传输方式且服务器提供相应端点时使用首选方式;否则按 DoH → DoT → 普通的顺序尝试。自定义服务器保留各自的类型:不支持该类型的应用会跳过该服务器。DoH 和 DoT 主要用于直连的网站(「直连」分流):隧道内的查询本来就已经加密。
编辑器会在各应用得到的内容下显示结果,例如「Happ:DoH ✓ · Mihomo:DoH ✓ · Amnezia:普通,密钥中只能保存 IP 地址」。其中也有 Xray JSON 和 sing-box 的行:首选 DoT 时,Xray JSON 会显示「Xray JSON 不支持 DoT」;预设包含多个 DNS 解析器时,sing-box 会显示「仅使用第一个 DNS 解析器,无备用」。
分流规则#
分流规则由后缀列表和对应的服务器组成(输入一个后缀并按 Enter:.ru、gosuslugi.ru、.рф)。后缀按标签边界匹配,国际化域名以 punycode 保存。
分流域名直连,不经过 VPN 决定分流的含义:
- 开启:分流规则中的网站由分流服务器解析,并在 VPN 之外打开。适用于身处俄罗斯的用户;他们访问本地网站时,使用本地地址效果更好,有些网站甚至只能通过本地地址访问。
- 已关闭:所有流量都经过隧道。无法在隧道内执行分流的应用(Happ、Mihomo)会忽略分流,并对所有域名使用主服务器查询。
仅 IPv4#
只查询 A 记录,适用于 IPv6 无法正常工作的隧道。Happ 会忽略此选项。
内置预设#
每次安装都会包含内置预设。可以编辑,但不能删除。
| 类别 | 预设 | 作用 |
|---|---|---|
| 俄罗斯 | 俄罗斯:.ru 直连(内置默认预设) | .ru、.su、.рф、Yandex、VK 和银行域名使用 Yandex DNS 查询并直连,不经过 VPN;其他所有流量都通过 VPN 使用 Cloudflare 和 Google。适用于身处俄罗斯的用户。 |
| 俄罗斯 | 俄罗斯:全部经 VPN | 所有流量都通过 VPN;所有域名都使用 Cloudflare 和 Google。适用于身处国外的用户。 |
| 俄罗斯 | Yandex DNS | 所有查询都使用 Yandex DNS。 |
| 常规 | Cloudflare + Google | 所有查询都使用 Cloudflare 和 Google。 |
| 常规 | Cloudflare:无过滤、Google:无过滤、DNS.SB:无过滤 | 使用一个服务商,不过滤。 |
| 无广告 | AdGuard:无广告 | 拦截广告和跟踪器。 |
| 儿童 | AdGuard Family:无广告和成人内容、Cloudflare Family:无恶意网站和成人内容、Yandex Family:无成人内容、OpenDNS FamilyShield:无成人内容 | 拦截成人内容,并按名称所示拦截广告或恶意软件。 |
| 安全 | Quad9:拦截恶意网站、Cloudflare Security:拦截恶意网站、Yandex Safe:拦截恶意网站 | 拦截已知的恶意软件和钓鱼域名。 |
标签页中的如何选择?会给出简要建议:俄罗斯用户选俄罗斯:.ru 直连;国外用户选俄罗斯:全部经 VPN;需要屏蔽广告时选 AdGuard:无广告。
DNS 标签页#
- 所有人的默认预设:当用户或分组没有自己的预设时,该用户适用的预设。
- 预设:每个预设对应一张卡片,显示标记(内置、默认、分流会直连时显示直连)以及适用人数。全部、俄罗斯、常规、无广告、儿童、安全和自有标签可用于筛选卡片。
- 新建预设会打开编辑器;点击卡片会打开该预设。
在编辑器中,用作默认 → 设为默认可将该预设设为默认值。危险区域 → 删除预设会删除该预设:使用此预设的用户会在下次更新订阅时切换到默认预设。默认预设和内置预设不能删除。离开页面时若有未保存的更改,系统会先询问。
适用哪个预设#
按以下顺序使用第一个已设置的预设:
- 用户自己的预设(用户卡片 → 访问权限 → DNS;创建用户时也可选择更多 → DNS);
- 分组的预设(分组表单 → 更多 → DNS);
- 所有人使用的默认预设(DNS 标签页);
- 内置默认预设:俄罗斯:.ru 直连。
用户卡片会显示适用的预设及其来源:「在用户上设置」、「来自分组」或「默认预设」。下拉框中的空选项会说明继承来源:「默认:俄罗斯:.ru 直连」、「与分组相同:AdGuard:无广告」。
以上规则适用于没有做出选择的用户。所有者可以允许用户在自己的页面上选择,分为互不影响的两处:订阅类应用共用的一个 DNS(参见下文「订阅类应用的 DNS」),以及每台服务器上 AmneziaWG 密钥的 DNS(参见「每台服务器使用不同的 DNS」)。
订阅类应用的 DNS#
Happ、基于 mihomo 内核的应用、Xray JSON 和 sing-box 应用对整个订阅只使用一个 DNS 解析器。所有者可以允许用户在自己的页面上从预设列表中选择它:所有服务器共用一个 DNS,在这些应用中统一生效。常见的列表:默认使用 Cloudflare + Google,另有 AdGuard:无广告、俄罗斯:.ru 直连。
如何开启#
在「订阅 → 用户页面」中开启页面上的 DNS 选择,然后在开关正下方的订阅类应用的 DNS 中勾选用户可以选择的预设(顺序即页面上的顺序),并将其中一个设为默认,或保留无默认。这些设置会与页面设置一起保存(订阅设置中的 link_dns);实际发生的更改会以 link_dns_options 写入审计日志(预设数量和默认值)。和其他订阅设置一样,所有者和协作者都可以更改。如果没有勾选任何预设,页面不会为订阅类应用提供选择,与以前相同。
订阅类应用使用哪个 DNS#
按以下顺序,第一个适用的生效:
- 用户自己的选择(只要它仍在列表中);
- 用户自己的预设;
- 分组的预设;
- 列表的默认预设;
- 所有人的默认预设,然后是内置默认预设。
你为用户或分组设置的预设优先于列表的默认值:用户自己做出选择之前,一直使用你的设置。从列表中移除某个预设后,选择了它的用户会回退到第 2–5 条规则;他们的选择会保留,重新提供该预设后会再次生效。预设被删除后,会同时从列表和用户的选择中消失。
在页面上#
在服务器部分顶部,用户会看到一张以应用命名的卡片:Happ 等订阅类应用的 DNS(应用名称是页面在该设备上推荐的应用)。卡片显示当前生效的 DNS 和更改,点击后打开与服务器 DNS 相同的列表,默认选项排在第一位并显示其名称。应用会在下次更新订阅时获得新的 DNS,最长不超过更新间隔(默认 12 小时);页面上会说明这一点。同时使用 AmneziaVPN 密钥的用户会在卡片下方看到一行说明:不影响密钥,密钥的 DNS 在每台服务器的卡片中设置。
选择会以 page_link_dns_choice 写入审计日志:记录用户名称和预设,不记录链接或地址。此操作计入该页面所有操作共享的限额:每个链接每小时 20 次更改。关闭页面上的 DNS 选择会隐藏卡片,已做的选择仍会保留。
每台服务器使用不同的 DNS#
AmneziaWG 密钥的 DNS 可以按服务器(节点)不同:所有者允许用户在自己的页面上选择,选项来自所有者为该节点指定的预设。只有所有者开启此功能并为节点选择预设后,用户才能选择。
设置方法#
- 订阅 → 用户页面 → 页面上的 DNS 选择(
allow_dns_choice):开启此开关。默认关闭;如果面板的设置在此选项加入之前已经保存,也视为关闭。参见用户页面。 - 节点 → 用户页面上的 DNS 选择区域:勾选要提供给该节点用户的预设(页面上的顺序与此处相同),并将其中一个设为默认。只有所有者可以更改此设置;更改会写入审计日志(
node_dns_options)。未提供任何预设的节点不会提供选择,其他功能保持原样。
用户页面上的 DNS 选择区域不同于节点的此节点的 DNS 服务器:后者是节点自己的 DNS 解析器(参见下文「节点 DNS 是另一回事」),而不是用户应用发起查询时使用的 DNS。
用户在节点上使用哪个 DNS#
按以下顺序使用第一个适用的选项:
- 用户自己的选择,前提是该节点仍提供此预设;
- 节点的默认预设;
- 通常的规则:用户自己的预设,然后是分组预设、实例预设,最后是内置预设(参见「适用哪个预设」)。
适用范围#
| 格式 | 可按服务器选择? | 如何生效 |
|---|---|---|
AmneziaVPN 和 AmneziaWG 密钥(.conf、vpn://、二维码) |
是 | DNS 会写入密钥,因此用户需要在自己的页面上再次点击获取新密钥。密钥本身不会变化;当该服务器上适用于用户的 DNS 与密钥中的 DNS 不同时(用户的选择、所有者提供的预设或默认值发生变化,或预设被编辑或删除),页面会标记设备为「需要新密钥」,并说明原因是 DNS。 |
| Mihomo 配置中的 AmneziaWG 代理 | 是 | 下次更新订阅时生效。 |
| Mihomo 中的 Hysteria2 | 否 | 整个订阅只使用一个 DNS 解析器:订阅类应用的 DNS(见上文)。按服务器的选择不会应用于此格式。 |
| Happ | 否 | 同上:整个订阅只使用一个 DNS 解析器。 |
| Xray JSON 和 sing-box JSON | 否 | 同上:使用订阅类应用的 DNS,所有服务器共用一个。 |
| 其他 base64 应用(v2rayNG、Hiddify、Streisand、Shadowrocket) | 否 | 面板不会向这些应用提供 DNS。 |
节点的这一区域会提示:「Happ、Mihomo 应用、Xray JSON 和 sing-box 对所有节点使用同一个 DNS,可在「订阅 → 用户页面」中设置可选项。按节点设置只对 AmneziaWG 密钥有效。」
用户如何操作,以及你能看到什么#
- 在用户页面上,这一行名为密钥 DNS,带有钥匙图标,只对使用 AmneziaVPN 密钥的用户显示(为其开启了该应用,或其持有密钥),并且只出现在有密钥的服务器上。只使用订阅类应用的用户看不到它。
- 用户为每台服务器选择一个预设。选择会以
page_dns_choice写入审计日志:记录用户名称、节点名称和预设,不记录链接或地址。此操作计入该页面所有操作共享的限额:每个链接每小时 20 次更改。 - 用户卡片上的页面上选择的 DNS 会列出该用户为订阅类应用做的选择以及在各节点上的选择(只读)。重置会移除所有这些选择(所有者和协作者可以执行);操作会以
user_dns_choices_reset写入审计日志。参见用户与分组。 - 关闭开关不会重置已有选择:这些选择会继续生效,直到你在用户卡片上重置它们。
各应用如何获取 DNS#
此表说明用户适用的预设:对订阅类应用而言,就是订阅类应用的 DNS。按服务器设置的 DNS 只对部分格式生效:参见「每台服务器使用不同的 DNS」。
| 应用 | 预设如何传递 | 支持的内容 |
|---|---|---|
| Happ | 订阅的 routing 响应头中的路由配置;应用更新订阅时会应用该配置。 |
隧道流量和直连流量各使用一个 DNS 解析器;支持普通 DNS(仅端口 53)和 DoH,不支持 DoT。只使用第一个主服务器。只有开启分流域名直连,不经过 VPN 时,分流才生效;此时仅使用与第一个主服务器相同的服务器的分流规则(Happ 对直连流量只有一个 DNS 解析器),这些后缀会成为直连网站。仅 IPv4 会被忽略。 |
| 基于 mihomo 内核的应用 | Mihomo YAML 的 dns: 部分。 |
普通 DNS、DoT 和 DoH,也支持 IPv6 地址。主服务器通过隧道查询;开启分流域名直连,不经过 VPN 后,分流后缀会直接向对应服务器查询,相关流量也会直连。某些基于 Mihomo 的应用会忽略此部分并使用自己的 DNS。 |
| Xray JSON | 每份配置中的 dns 部分,以及路由规则 port 53 → dns-out,它会把设备上各应用的 DNS 查询交给该部分处理。 |
普通 DNS(任意端口)和 DoH,不支持 DoT。按顺序使用所有主服务器:查询失败时,Xray 会询问下一个。主服务器通过隧道查询。开启分流域名直连,不经过 VPN 后,分流后缀会向对应服务器查询,相关流量直连。只使用解析器的 IPv4 地址,也只请求 IPv4 结果,不受仅 IPv4 选项影响。如果没有 Xray 能够使用的预设,配置中就没有 dns 部分,应用会使用系统解析器。 |
| sing-box JSON | 配置中的 dns 部分,以及 hijack-dns,它会把到达隧道的 DNS 查询交给该部分处理。 |
普通 DNS、DoT 和 DoH。只有一个主解析器:预设中的第一个,无备用;通过隧道查询。开启分流域名直连,不经过 VPN 后,分流后缀会直接向各自的解析器查询,相关流量直连。仅 IPv4。如果没有 sing-box 能够使用的预设(或没有 DNS 模块),配置会使用本地备用方案:系统解析器,它在隧道之外解析域名。 |
| AmneziaVPN 和 AmneziaWG 应用 | .conf 中的 DNS =,以及 vpn:// 密钥中的两个 DNS 字段。 |
只支持两个普通 IPv4 地址,即主服务器中的前两个。如果预设中没有普通 IPv4 服务器,密钥窗口会提示并写入 1.1.1.1 和 8.8.8.8。 |
如果没有设置分流,Happ 的直连 DNS 解析器也会设为主 DNS 解析器。因此,用户自己的 Happ 规则即使将网站设为直连,查询仍会使用该预设(屏蔽广告的预设仍会屏蔽广告)。
更改何时会生效#
- 订阅类应用(Happ、基于 mihomo 内核的应用、Xray JSON 和 sing-box 应用)会在下次更新订阅时获取更改:默认更新间隔为 12 小时。用户也可以手动更新订阅。
- AmneziaVPN 只会在新密钥中获取更改:DNS 会写入密钥,因此用户需要重新导入密钥(或导入新密钥)才能使用新的服务器。
每个 DNS 下拉框(默认值、分组或用户的预设)下方都会显示相同的说明:「生效时间:订阅类应用(Happ)在下次更新订阅时生效;AmneziaVPN 仅对新密钥生效。」括号中的名称指用户页面标签页中的订阅类应用。
节点 DNS 是另一回事#
节点侧还有两项与 DNS 有关的设置,但它们都不是预设(节点上的用户页面上的 DNS 选择区域只决定用户可以选择哪些预设:参见「每台服务器使用不同的 DNS」):
- 节点设置中的此节点的 DNS 服务器:节点及其 VPN 引擎解析域名时使用的地址,也包括用户流量中的域名。默认的服务器自带的解析器是空列表:节点会使用服务器当前的 DNS 解析器(有些服务商只允许使用自有 DNS 解析器)。你可以选择 Yandex DNS(
77.88.8.8、77.88.8.1)、Cloudflare + Google(1.1.1.1、8.8.8.8)或自定义 DNS(最多 8 个自有 IP 地址);俄罗斯节点选择 Yandex DNS,以便可靠解析 gosuslugi.ru 等俄罗斯服务。参见节点和Hysteria2。 - 服务器的系统 DNS 解析器是主机用于 apt 和续期证书的 DNS。诊断会检查它,并可建议将其设为节点的 DNS 解析器;如果节点未设置 DNS 解析器,则建议在俄罗斯使用 Yandex DNS,在其他地区使用 Cloudflare + Google。参见运行状况。
预设则会发送给订阅中的应用,并且用户可用的所有节点都使用同一个预设,除非用户为某台服务器的密钥选择了 DNS(参见「每台服务器使用不同的 DNS」)。切换服务器不会改变预设。例如,俄罗斯:.ru 直连会将俄罗斯域名发送到 Yandex DNS 并直连,其他所有域名则通过 VPN 使用 Cloudflare 和 Google,无论用户连接的是哪个节点。
谁可以执行哪些操作#
只有所有者可以创建、编辑和删除预设,因为预设决定用户流量信任哪些 DNS 解析器。所有者和协作者可以选择所有人的默认预设和为订阅类应用提供的预设(二者都是订阅设置),也可以为用户或分组选取预设。所有管理员都可以查看预设。只有所有者可以选择节点提供哪些预设;所有者和协作者可以重置用户在页面上选择的 DNS;所有管理员都可以查看这些选择。MCP 令牌不能执行这些操作。