例如下面的配置:

{
  "dns": {
    "servers": [
      "114.114.114.114",
      {
        "address": "114.114.114.114",
        "domains": [
          "geosite:synology@cn"
        ]
      },
      {
        "address": "fakedns",
        "domains": [
          "geosite:synology"
        ]
      }
    ]
  }
}

在解析 autoupdate7.synology.cn 时会返回 IPv6 fakeip ,因为该域名没有 AAAA 的解析。

$ nslookup autoupdate7.synology.cn localhost
Server:         localhost
Address:        127.0.0.1#53

Name:   autoupdate7.synology.cn
Address: 119.147.182.142
Name:   autoupdate7.synology.cn
Address: 119.147.182.128
Name:   autoupdate7.synology.cn
Address: 119.147.182.148
Name:   autoupdate7.synology.cn
Address: fc00::195:c664:e4a2

如何让它不返回这个多余的 AAAA 解析结果?

配置文件 dns 节点增加 queryStrategy ,值为 "UseIPv4" 可以避免返回 IPv6 解析地址,但会过滤掉所有 IPv6 结果。(单独设置 fakedns 节点 UseIPv4 似乎没有生效,依然可以返回 IPv6 fakeip )

因为这个域名同时命中这两个 dns 规则,增加 disableFallbackIfMatch: true 也没有效果,fakedns 项上单独加 skipFallback: true 也无效。


有没有办法设置成按照从上到下的优先级,匹配一条规则后就忽略后续任意的规则?

最小重现步骤在这里: https://gist.github.com/tsanie/578103edbe966243ccbbce5dfb44ef46

举报· 103 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部