例如下面的配置:
{
"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
|