我在一些使用康卡斯特 wifi 的咖啡店遇到了问题。这些商店只允许使用 ipv6,这导致网站无法加载,并出现错误 ERR_ADDRESS_UNREACHABLE。有些网站可以正常访问(google.com、gmail.com 等),而其他网站则无法访问(BBC.com、reddit.com 等)
让我们关注BBC.com
我可以获取 IP 地址
C:\Users\uname>nslookup bbc.com
Server: cdns01.comcast.net
Address: 2001:558:feed::1
Non-authoritative answer:
Name: bbc.com
Addresses: 2a04:4e42:400::81
2a04:4e42:600::81
2a04:4e42::81
2a04:4e42:200::81
但使用 curl 返回对失败的网站不起作用
C:\Users\uname>curl -v -6 https://www.bbc.com
* Could not resolve host: www.bbc.com
* Closing connection 0
curl: (6) Could not resolve host: www.bbc.com
C:\Users\uname>curl -6 https://www.google.com
<!doctype html>
.
.
.</html>
C:\Users\uname>
直接连接到 IP 即可
C:\Users\uname>curl -v -H "Host: www.bbc.com" -k -g -6 "https://[2a04:4e42:600::81]"
* Trying [2a04:4e42:600::81]:443...
* Connected to 2a04:4e42:600::81 (2a04:4e42:600::81) port 443 (#0)
...
这看起来像是 DNS 问题,但我尝试手动将 DNS 设置为 google,刷新 DNS 缓存,但还是出现了同样的问题。无论选择哪个 DNS 提供商,ISP(Comcast)或 CDN(Fastly)是否会拦截 DNS 查询?这似乎令人担忧。