访问网站的第一步是问 DNS「这个域名的 IP 是多少」。如果这一步拿到的答案是错的,后面做什么都没用——你正在往一个错误的地址发请求。
典型症状
- 节点显示正常、延迟也正常,但某个网站就是打不开
- 换了节点还是打不开,换个设备却可以
- 用 IP 直接访问能通,用域名不行
解决思路
核心是让敏感域名的解析走加密通道,不要用本地 DNS。主流客户端都支持分离解析:国内域名用国内 DNS(快),其余通过代理问境外 DNS(准)。配置方法见分流那篇。
验证是否被污染:对比本地解析和加密解析的结果是否一致。
# 用加密 DNS 查询(Windows 10 1803+ / macOS 均可)
nslookup example.com 1.1.1.1
# 和系统默认 DNS 的结果对比
nslookup example.com
两个结果差很多,基本可以确认。