--- icon: material/new-box --- !!! quote "Changes in sing-box 1.12.0" :material-plus: [strategy](#strategy) !!! question "Since sing-box 1.11.0" ### route ```json { "action": "route", // default "server": "", "strategy": "", "disable_cache": false, "rewrite_ttl": 0, "client_subnet": null } ``` `route` inherits the classic rule behavior of routing DNS requests to the specified server. #### server ==Required== Tag of target server. #### strategy 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` and `servers.[].client_subnet`. ### route-options ```json { "action": "route-options", "disable_cache": false, "rewrite_ttl": null, "client_subnet": null } ``` `route-options` set options for routing. ### reject ```json { "action": "reject", "method": "default", // default "no_drop": false } ``` `reject` reject DNS requests. #### method - `default`: Reply with NXDOMAIN. - `drop`: Drop the request. #### 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.