Skip to content

DNS Rule Action

Changes in sing-box 1.12.0

strategy
predefined

Since sing-box 1.11.0

route

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

route inherits the classic rule behavior of routing DNS requests to the specified server.

server

Required

Tag of target server.

strategy

Since sing-box 1.12.0

Set domain strategy for this query.

One of prefer_ipv4 prefer_ipv6 ipv4_only ipv6_only.

disable_cache

Disable cache and save cache in this query.

rewrite_ttl

Rewrite TTL in DNS responses.

client_subnet

Append a edns0-subnet OPT extra record with the specified IP prefix to every query by default.

If value is an IP address instead of prefix, /32 or /128 will be appended automatically.

Will overrides dns.client_subnet.

route-options

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

route-options set options for routing.

reject

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

reject reject DNS requests.

method

  • default: Reply with NXDOMAIN.
  • drop: Drop the request.

default will be used by default.

no_drop

If not enabled, method will be temporarily overwritten to drop after 50 triggers in 30s.

Not available when method is set to drop.

predefined

Since sing-box 1.12.0

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

predefined responds with predefined DNS records.

rcode

The response code.

Value Value in the legacy rcode server Description
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 will be used by default.

answer

List of text DNS record to respond as answers.

Examples:

Record Type Example
A localhost. IN A 127.0.0.1
AAAA localhost. IN AAAA ::1
TXT localhost. IN TXT \"Hello\"

ns

List of text DNS record to respond as name servers.

extra

List of text DNS record to respond as extra records.