DNS 服务器

English German Russian

V2Ray 内置了一个 DNS 服务器,可以将 DNS 查询根据路由设置转发到不同的远程服务器中。

示例配置:

  1. {
  2. "hosts": {
  3. "baidu.com": "127.0.0.1"
  4. },
  5. "servers": [
  6. "8.8.8.8",
  7. "8.8.4.4",
  8. "localhost"
  9. ],
  10. "clientIp": "1.2.3.4",
  11. }

其中:

  • hosts: 静态 IP 列表,其值为一系列的”域名”:”IP”,IP 可以是 IPv4 或者 IPv6。在解析域名时,如果域名匹配这个列表中的某一项,则解析结果为该项的 IP,而不会使用下述的 servers 进行解析。域名的格式如下:
    • 形如 "v2ray.com": 被解析的域名需要和此域名完全一致;
    • 形如 "domain:v2ray.com": 被解析的域名可以是此域名或是其子域名。
  • servers: 指定一个 DNS 服务器列表,可选的值如下。如果配置了多个 DNS 服务器,则会按从上到下的优先级顺序进行 DNS 查询。
    • "IP": 目前只支持传统的端口为 53 的 DNS 服务器;
    • "localhost": 这是一个特殊值,表示使用本机预设的 DNS 配置。当使用 localhost 时,本机的 DNS 请求不受 V2Ray 控制,需要额外的配置才可以使 DNS 请求由 V2Ray 转发。
  • clientIp: 当前系统的 IP 地址,用于 DNS 查询时,通知服务器客户端的所在位置。不能是私有地址。

若要使 DNS 服务生效,需要配置路由功能中的 domainStrategy

由此 DNS 服务器所发出的 DNS 查询请求,会自动根据路由配置进行转发,无需额外配置。

查询策略 {#strategy}

V2Ray 内置的 DNS 会在单个 DNS 请求中同时查询 A 和 AAAA 记录。由于这种方式并不是所有 DNS 服务器都支持,V2Ray 仅对以下 DNS 服务器同时查询 A 和 AAAA 记录,对其它所有的服务器只查询 A 记录。

  1. 8.8.8.8
  2. 8.8.4.4
  3. 9.9.9.9

小贴士 {#tips}

  • 推荐使用本机 DNS 配合一个额外的 DNS 服务器来做 DNS 查询,如 CoreDNS