由于 Claw Cloud 用的是阿里云的广播 IP,谷歌 DNS 对其支持不完善,会误以为其是中国 IP,导致部分谷歌域名被解析到北京服务器,造成访问卡顿:
> dig +short www.google-analytics.com @8.8.8.8
203.208.50.97
> dig +short www.google-analytics.com @ns1.google.com
203.208.50.33
从谷歌域名权威 DNS ns1.google.com
返回的也是北京 IP,所以只要 EDNS 传递了 Claw 的 IP 到谷歌,就会返回不准确结果。
可以使用不支持 EDNS 的公共 DNS,如 Cloudflare DNS 1.1.1.1/1.0.0.1,或者阿里云内网 DNS 100.100.2.136/100.100.2.138
> dig +short www.google-analytics.com @1.1.1.1
142.251.42.206
> dig +short www.google-analytics.com @100.100.2.138
172.217.175.110
> dig +short -x 142.251.42.206
nrt12s47-in-f14.1e100.net.
> dig +short -x 172.217.175.110
nrt20s21-in-f14.1e100.net.
可见解析到的都是最近的 nrt 节点。
如果手动指定 EDNS 前缀为 0.0.0.0 也可以让谷歌 DNS 返回最近的节点。
> dig +short www.google-analytics.com @8.8.8.8 +subnet=0.0.0.0/0
142.250.196.110
> dig +short -x 142.250.196.110
nrt12s35-in-f14.1e100.net.
如果开机时用的是 Debian 12 系统,可以这样操作更换到 Cloudflare DNS
resolvectl dns ens5 1.1.1.1 1.0.0.1
systemctl restart systemd-resolved
其中 ens5 为接口名称,不同区域可能不一致,用 ip route
查看默认路由可以找到。