DNS 服务器
dns.servers 是从名字到服务器的映射。每个服务器把 type 写在第一项。
yaml
dns:
servers:
local:
type: hosts
hosts:
nas.lan: 192.0.2.10
plain:
type: udp
address: 127.0.0.1:53
secure:
type: tls
address: 127.0.0.1:853
tls:
server_name: dns.example
final: plain类型
| type | 页面 | 来源 |
|---|---|---|
udp | udp | UDP 上游 |
tcp | tcp | TCP 上游 |
tls | tls | DNS over TLS |
https | https | DNS over HTTPS |
quic | quic | DNS over QUIC |
h3 | h3 | DNS over HTTP/3 |
local | local | 本机 resolv.conf |
dhcp | dhcp | DHCP 下发的 DNS |
fakeip | fakeip | 假地址池 |
hosts | hosts | 静态 hosts |
leases | leases | 运行时网络租约/邻居 |
公共字段
type
- 类型:字符串枚举。
- 必填:是,第一项。
- 取值:本页类型表。
address
- 类型:IP 地址、主机名,或带端口形式。
- 必填:
udp、tcp、tls、https、quic、h3时是。 - 默认端口:UDP/TCP
53,TLS/QUIC853,HTTPS/H3443。 - 限制:主机名需要
domain_resolver或dns.bootstrap。
via
- 类型:出站名或
RULES。 - 必填:可选。
- 默认:直接由 mayami 的 DNS socket 询问。
- 行为:用该出站的流或数据报承载查询;
RULES表示按当前路由规则选择出站。 - 限制:只存在于六种远程上游类型。
domain_resolver
- 类型:DNS 服务器名。
- 必填:可选。
- 默认:
dns.bootstrap。 - 限制:不能指向另一个主机名服务器或 fakeip。
- 行为:只在
address写主机名时使用。
tls
- 类型:TLS 客户端占位页。
- 必填:可选。
- 默认:公共根证书。
- 限制:只存在于
tls、https、quic、h3。
path
- 类型:HTTP 路径字符串。
- 默认:
/dns-query。 - 限制:只存在于
https、h3。
headers
- 类型:HTTP 请求头映射。
- 默认:空。
- 行为:每个 DoH/H3 查询附带这些头;
Host可指定 authority。 - 限制:只存在于
https、h3。
说明
上游地址和主机名都是原样数据,不在配置阶段联网查询。TLS 校验名默认取地址或主机名;tls.server_name 可覆盖证书名。
省略 dns.final 时,不选 hosts、leases 或 fakeip,只把首个真正会询问上游的服务器作为缺省值;显式写出的名字仍必须存在。