github.com/sagernet/sing-box@v1.9.0-rc.20/docs/configuration/dns/server.zh.md (about)

     1  ---
     2  icon: material/new-box
     3  ---
     4  
     5  !!! quote "sing-box 1.9.0 中的更改"
     6  
     7      :material-plus: [client_subnet](#client_subnet)
     8  
     9  ### 结构
    10  
    11  ```json
    12  {
    13    "dns": {
    14      "servers": [
    15        {
    16          "tag": "",
    17          "address": "",
    18          "address_resolver": "",
    19          "address_strategy": "",
    20          "strategy": "",
    21          "detour": "",
    22          "client_subnet": ""
    23        }
    24      ]
    25    }
    26  }
    27  ```
    28  
    29  ### 字段
    30  
    31  #### tag
    32  
    33  DNS 服务器的标签。
    34  
    35  #### address
    36  
    37  ==必填==
    38  
    39  DNS 服务器的地址。
    40  
    41  | 协议                                   | 格式                           |
    42  |--------------------------------------|------------------------------|
    43  | `System`                             | `local`                      |
    44  | `TCP`                                | `tcp://1.0.0.1`              |
    45  | `UDP`                                | `8.8.8.8` `udp://8.8.4.4`    |
    46  | `TLS`                                | `tls://dns.google`           |
    47  | `HTTPS`                              | `https://1.1.1.1/dns-query`  |
    48  | `QUIC`                               | `quic://dns.adguard.com`     |
    49  | `HTTP3`                              | `h3://8.8.8.8/dns-query`     |
    50  | `RCode`                              | `rcode://refused`            |
    51  | `DHCP`                               | `dhcp://auto` 或 `dhcp://en0` |
    52  | [FakeIP](/configuration/dns/fakeip/) | `fakeip`                     |
    53  
    54  !!! warning ""
    55  
    56      为了确保 Android 系统 DNS 生效,而不是 Go 的内置默认解析器,请在编译时启用 CGO。
    57  
    58  !!! info ""
    59  
    60      RCode 传输层传输层常用于屏蔽请求. 与 DNS 规则和 `disable_cache` 规则选项一起使用。
    61  
    62  | RCode             | 描述       | 
    63  |-------------------|----------|
    64  | `success`         | `无错误`    |
    65  | `format_error`    | `请求格式错误` |
    66  | `server_failure`  | `服务器出错`  |
    67  | `name_error`      | `域名不存在`  |
    68  | `not_implemented` | `功能未实现`  |
    69  | `refused`         | `请求被拒绝`  |
    70  
    71  #### address_resolver
    72  
    73  ==如果服务器地址包括域名则必须==
    74  
    75  用于解析本 DNS 服务器的域名的另一个 DNS 服务器的标签。
    76  
    77  #### address_strategy
    78  
    79  用于解析本 DNS 服务器的域名的策略。
    80  
    81  可选项:`prefer_ipv4` `prefer_ipv6` `ipv4_only` `ipv6_only`。
    82  
    83  默认使用 `dns.strategy`。
    84  
    85  #### strategy
    86  
    87  默认解析策略。
    88  
    89  可选项:`prefer_ipv4` `prefer_ipv6` `ipv4_only` `ipv6_only`。
    90  
    91  如果被其他设置覆盖则不生效。
    92  
    93  #### detour
    94  
    95  用于连接到 DNS 服务器的出站的标签。
    96  
    97  如果为空,将使用默认出站。
    98  
    99  #### client_subnet
   100  
   101  !!! question "自 sing-box 1.9.0 起"
   102  
   103  默认情况下,将带有指定 IP 前缀的 `edns0-subnet` OPT 附加记录附加到每个查询。
   104  
   105  如果值是 IP 地址而不是前缀,则会自动附加 `/32` 或 `/128`。
   106  
   107  可以被 `rules.[].client_subnet` 覆盖。
   108  
   109  将覆盖 `dns.client_subnet`。