kamingchan/SYSUv6-DNS

关于公共 DNS 已知问题

Closed this issue · 17 comments

由于本人宿舍的路由器上的 odhcp 会不定时崩溃,导致 IPv6 访问受阻,SYSUv6 公共 DNS 解析会偶尔不正常。

我 IPv6 使用的是这样的获取方法,如果有更好的 IPv6 获取方法,请告知。

试试IPv6 NAT?

@LGA1150 翻了挺多资料,但没有设置成功。

解析到境外的问题还没解决

@LGA1150 解析到境外的问题应该修复好了

问题已经修复,感谢 @LGA1150 提供的 IPv6 解决方案,我迟点会将设置方法整理出来。

nslookup www.gzjd.gov.cn
服务器:  pcap-dnsproxy.server
Address:  ::1

非权威应答:
名称:    opt.mport.ourglb0.com
Address:  61.200.88.59
Aliases:  www.gzjd.gov.cn
          www.gzjd.gov.cn.cdn20.com

@LGA1150 看解析结果应该是交给了 IPv4 DNS Address = 208.67.222.222:5353 或者 IPv4 Alternate DNS Address = 208.67.220.220:443 解析了。

@LGA1150 这个是网宿的 CDN,其实直接 CNAME HOST 到教育网的节点就可以了,不过我也好奇怎么没有交给 Local DNS 解析。

我记得已经改成 Google IPv6 DNS 解析了
要不使用 Local Hosts 白名单模式?

@LGA1150 发现 Pcap_DNSProxy 会自动 reload 配置,但不会清空 cache,现在我手动清空 cache 之后问题解决。

仍然未解决

>nslookup www.gov.cn ::1
服务器:  pcap-dnsproxy.server
Address:  ::1

非权威应答:
名称:    webcache.foreign.ccgslb.com
Addresses:  209.177.81.134
          209.177.81.23
          209.177.81.152
Aliases:  www.gov.cn
          www.gov.chinacache.net

发现 pcap-dnsproxy 启动一段时间之后 local dns 就会失效,暂时两台服务器上测试都有这个问题,迟点我去开一个 issue。

Local Main + Local Routing 模式的话是先请求 Local DNS 同时对解析结果扫描,如果所有解析结果都命中境内路由表才会接受并发回给客户端,否则如果 Local DNS 挂了或者不是所有结果都命中的话 Local DNS 这部请求就算是失败的,程序会自动继续使用其它请求方式

有个选项 Local Force Request 可以强制程序在 Local Hosts 命中但失败的情况下不使用其它请求方式,应该可以达到类似的效果,不过由于 Local Main + Local Routing 模式本身是先把所有请求发到 Local DNS 上,如果强制不能用其它方法又没有规则区分这些请求的类型的话等于直接请求 Local DNS 所以这个模式下不能使用这个功能……

@chengr28 好的,明白了。 此外,好像启用 EDNS 会影响 Local Routing 的功能?我们当初就是启用了 EDNS 导致部分域名会解析到国外,具体是这个参数

@bazingaterry ECS 这里其实有坑……程序配置文件里虽然可以自定义后缀长度,但是标准实际上是推荐 IPv4 保留 24 位而 IPv6 保留 56 位,尤其是没有标准化之前还是 RFC 草案阶段,很多 DNS 服务器对于不符合保留位数要求的 ECS 有可能会直接忽略或者胡乱解析成其它地址,建议如果有时间可以以不同的后缀长度多测试看看

@chengr28 好的,谢谢解答,明白了。