Skip to main content

DNS 服务器

sing-box 1.9.0 中的更改

结构

{
"dns": {
"servers": [
{
"tag": "",
"address": "",
"address_resolver": "",
"address_strategy": "",
"strategy": "",
"detour": "",
"client_subnet": ""
}
]
}
}

字段

tag

DNS 服务器的标签。

address

必填

DNS 服务器的地址。

协议格式
Systemlocal
TCPtcp://1.0.0.1
UDP8.8.8.8 udp://8.8.4.4
TLStls://dns.google
HTTPShttps://1.1.1.1/dns-query
QUICquic://dns.adguard.com
HTTP3h3://8.8.8.8/dns-query
RCodercode://refused
DHCPdhcp://autodhcp://en0
FakeIPfakeip
warning

为了确保 Android 系统 DNS 生效,而不是 Go 的内置默认解析器,请在编译时启用 CGO。

info

RCode 传输层传输层常用于屏蔽请求. 与 DNS 规则和 disable_cache 规则选项一起使用。

RCode描述
success无错误
format_error请求格式错误
server_failure服务器出错
name_error域名不存在
not_implemented功能未实现
refused请求被拒绝

address_resolver

如果服务器地址包括域名则必须

用于解析本 DNS 服务器的域名的另一个 DNS 服务器的标签。

address_strategy

用于解析本 DNS 服务器的域名的策略。

可选项:prefer_ipv4 prefer_ipv6 ipv4_only ipv6_only

默认使用 dns.strategy

strategy

默认解析策略。

可选项:prefer_ipv4 prefer_ipv6 ipv4_only ipv6_only

如果被其他设置覆盖则不生效。

detour

用于连接到 DNS 服务器的出站的标签。

如果为空,将使用默认出站。

client_subnet

info

自 sing-box 1.9.0 起

默认情况下,将带有指定 IP 前缀的 edns0-subnet OPT 附加记录附加到每个查询。

如果值是 IP 地址而不是前缀,则会自动附加 /32/128

可以被 rules.[].client_subnet 覆盖。

将覆盖 dns.client_subnet