三步解决GitHub访问问题:先改hosts绑定最新可用IP,再切换抗污染DNS(如223.5.5.5),最后清空系统及浏览器DNS缓存;验证时ping和nslookup应显示正确IP,异常则检查防火墙拦截。
直接改 hosts + 换 dns + 清缓存,三步到位。dns 污染本质是本地或运营商返回了错误 ip,绕过它就能恢复访问。
查可用 IP 并写入 hosts 文件
GitHub 的域名(如 github.com、raw.githubusercontent.com、assets-cdn.github.com)常被污染,不能依赖系统自动解析。你需要手动绑定最新可用的 IP:
- 打开 https://ping.chinaz.com/github.com 或 https://www.ipaddress.com,输入域名查实时响应 IP(优先选延迟低、状态为“在线”的)
- 常见有效 IP 示例(2026年4月实测可用):
140.82.114.4 github.com
185.199.108.133 raw.githubusercontent.com
185.199.108.153 assets-cdn.github.com
199.232.69.194 github.global.ssl.fastly.net - 终端执行
sudo nano /etc/hosts,在文件末尾新增对应行,格式为:140.82.114.4 github.com185.199.108.133 raw.githubusercontent.com - 保存后退出(nano 中按 Ctrl+O → Enter → Ctrl+X)
切换抗污染公共 DNS
即使改了 hosts,部分请求(如 HTTPS SNI、CDN 路由)仍可能走 DNS 查询。换用干净 DNS 可堵住漏洞:
- 系统设置 → 网络 → 当前连接 → 详细信息 → DNS → 点“+”添加:
223.5.5.5(阿里 DNS)
114.114.114.114(CNNIC)
或 1.1.1.1(Cloudflare) - 删掉原有 DNS 条目,确保新 DNS 在列表顶部
彻底清空所有层级 DNS 缓存
macOS 和浏览器各自缓存 DNS,漏清一个都可能让旧污染继续生效:
- 终端运行两行命令(缺一不可):
sudo dscacheutil -flushcachesudo killall -HUP mDNSResponder - Chrome 用户额外操作:地址栏输入
chrome://net-internals/#dns→ 点“Clear host cache” - Safari 用户:偏好设置 → 隐私 → 管理网站数据 → 搜索 github → 删除相关条目
验证与兜底建议
改完别急着开网页,先确认是否真正生效:
- 终端执行
ping -c 3 github.com,看返回的 IP 是否和你写入 hosts 的一致 - 执行
nslookup github.com,确认结果不再指向 192.30.x.x 或 127.0.0.1 这类异常段 - 如果仍失败,临时禁用防火墙或安全软件(如 Little Snitch、腾讯电脑管家 Mac 版),排除拦截干扰
- 长期用户可考虑安装 DevSidecar(开源免费),它能自动同步 GitHub 域名最新 IP 并托管 hosts 更新


















