问题背景
近期观察到,在更换了域名的 NS (Name Server) 服务器记录后,出现了网站/服务在中国境内无法访问,但在境外访问正常的情况。
这种现象通常指向DNS 解析问题。
终端用户临时解决方案
方法一:更换设备的 DNS 服务器
修改设备的网络设置,使用更可靠或更新速度更快的公共 DNS 服务器,绕过本地 ISP 可能存在问题的 DNS。
推荐的 DNS 服务器选项 (安卓端或其他设备):
- 国内公共 DNS (通常境内访问速度较快,但仍可能受策略影响):
223.5.5.5
/ 223.6.6.6
(阿里 AliDNS)
119.29.29.29
/ 180.76.76.76
(腾讯 DNSPod / 百度 BaiduDNS)
安卓端修改方法示例 (不同品牌/版本略有差异):
- Wi-Fi 网络: 设置 -> WLAN -> 长按连接的 Wi-Fi 网络 -> 修改网络 -> 高级选项 -> IP 设置改为“静态” -> 手动填写 DNS 1 和 DNS 2。
- 全局 (Android 9+): 设置 -> 网络和互联网 -> 私人 DNS (Private DNS) -> 选择“私人 DNS 提供商主机名” -> 输入
dns.alidns.com
或 dot.pub
(DoT 地址) 或 1dot1dot1dot1.cloudflare-dns.com
等。
方法二:修改 Hosts 文件
这是一个更直接但需要手动维护的方法。直接在本地设备的 hosts
文件中指定域名对应的 IP 地址,绕过 DNS 查询。
操作步骤:
- 获取正确的 IP 地址: 需要通过境外网络或其他可靠途径查询到该域名当前指向的正确 IP 地址 (例如,使用
ping
或 dig
命令)。
- 修改 Hosts 文件:
- Windows:
C:\Windows\System32\drivers\etc\hosts
(需要管理员权限编辑)。
- macOS / Linux:
/etc/hosts
(需要 sudo
权限编辑)。
- Android: 通常需要 Root 权限才能修改
/system/etc/hosts
文件,或使用特定应用(如 AdAway 等的部分功能)进行管理。
- 添加条目: 在文件末尾添加一行,格式为:
<正确 IP 地址> <你的域名>
例如:
104.21.16.1 www.nodeloc.com
- 保存并刷新 DNS 缓存: (Windows:
ipconfig /flushdns
, macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
)