跳转至

DNS 规则动作

sing-box 1.12.0 中的更改

strategy
predefined

自 sing-box 1.11.0 起

route

{
  "action": "route",
  // 默认
  "server": "",
  "strategy": "",
  "disable_cache": false,
  "rewrite_ttl": null,
  "client_subnet": null
}

route 继承了将 DNS 请求 路由到指定服务器的经典规则动作。

server

必填

目标 DNS 服务器的标签。

strategy

自 sing-box 1.12.0 起

为此查询设置域名策略。

可选项:prefer_ipv4 prefer_ipv6 ipv4_only ipv6_only

disable_cache

在此查询中禁用缓存。

rewrite_ttl

重写 DNS 回应中的 TTL。

client_subnet

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

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

将覆盖 dns.client_subnet.

route-options

{
  "action": "route-options",
  "disable_cache": false,
  "rewrite_ttl": null,
  "client_subnet": null
}

route-options 为路由设置选项。

reject

{
  "action": "reject",
  "method": "",
  "no_drop": false
}

reject 拒绝 DNS 请求。

method

  • default: 返回 NXDOMAIN。
  • drop: 丢弃请求。

默认使用 defualt

no_drop

如果未启用,则 30 秒内触发 50 次后,method 将被暂时覆盖为 drop

method 设为 drop 时不可用。

predefined

自 sing-box 1.12.0 起

{
  "action": "predefined",
  "rcode": "",
  "answer": [],
  "ns": [],
  "extra": []
}

predefined 以预定义的 DNS 记录响应。

rcode

响应码。

旧 rcode DNS 服务器中的值 描述
NOERROR success Ok
FORMERR format_error Bad request
SERVFAIL server_failure Server failure
NXDOMAIN name_error Not found
NOTIMP not_implemented Not implemented
REFUSED refused Refused

默认使用 NOERROR

answer

用于作为回答响应的文本 DNS 记录列表。

例子:

记录类型 例子
A localhost. IN A 127.0.0.1
AAAA localhost. IN AAAA ::1
TXT localhost. IN TXT \"Hello\"

ns

用于作为名称服务器响应的文本 DNS 记录列表。

extra

用于作为额外记录响应的文本 DNS 记录列表。