Skip to content

解决 GitHub 国内访问难题:6 种方案突破 DNS 污染限制

约 860 字大约 3 分钟

VPNGitHubDNS科学上网

2025-10-17

GitHub 作为全球最大的开源项目托管平台,是开发者不可或缺的学习与协作工具。但在国内网络环境中,DNS 污染常导致其无法正常访问,表现为域名被解析到错误 IP,浏览器频繁出现 "无法访问此页面" 或 "响应时间过长" 等提示。 alt text 本文整理 6 种实用方案,助你高效解决这一问题。

✏️方案 1:手动修改 Hosts 文件(直接绑定 IP)

通过跳过 DNS 解析环节,直接在系统中绑定 GitHub 域名与正确 IP,从根源规避污染。

操作步骤:

1.获取最新 IP 地址

访问 IPAddress.com 查询以下域名对应的 IP:

  • github.com
  • assets-cdn.github.com
  • github.global.ssl.fastly.net
  • api.github.com
  • raw.githubusercontent.com 或通过命令行查询(需安装 nslookup/dig):
nslookup github.com 8.8.8.8  # 借助 Google DNS 获取纯净解析结果

2.编辑 Hosts 文件

  • Windows:路径为 C:\Windows\System32\drivers\etc\hosts,右键以管理员权限打开,添加类似内容:
plaintext
# GitHub 配置
140.82.113.3    github.com
185.199.108.153 assets-cdn.github.com
199.232.69.194  github.global.ssl.fastly.net
  • macOS/Linux:终端输入 sudo nano /etc/hosts,添加上述内容后按 Ctrl+O 保存。

3.刷新 DNS 缓存

  • Windows:ipconfig /flushdns
  • macOS/Linux:sudo dscacheutil -flushcache sudo systemd-resolve --flush-caches

✒️方案 2:使用加密 DNS 服务(防解析劫持)

通过加密 DNS 协议(如 DNS-over-HTTPS/DoT),避免解析过程被篡改。

推荐方案:

  • 公共加密 DNS:直接将设备 DNS 设为 Cloudflare(1.1.1.1)或 Google DNS(8.8.8.8)
  • 专业工具:使用 AdGuard DNS、NextDNS 等支持加密协议的服务,或通过 DNSCrypt 工具配置加密解析

🖋️方案 3:代理 / VPN(终极解决方案)

通过代理工具或 VPN 隧道,完全绕开本地 DNS 污染,实现稳定访问。

推荐工具:

  • 开源方案:Clash(支持规则分流,适配 Windows/macOS/Android)、Shadowsocks/V2Ray(需自建或购买节点)
  • 商业服务:节点稳定性高,适合新手

🖊️方案 4:利用 GitHub 镜像站点(临时替代)

访问 GitHub 的镜像服务,避开主域名污染。

  • 常用镜像:GitHub 加速下载平台(需注意筛选可靠站点)
  • 注意:部分镜像可能存在时效性,需及时更新可用地址

🖌️方案 5:验证是否为 DNS 污染

通过对比解析结果,确认问题根源:

nslookup github.com 8.8.8.8  # 用纯净 DNS 查询
nslookup github.com          # 用本地默认 DNS 查询

若结果不一致,可判定为 DNS 污染;若一致则可能是其他网络限制。

🖍️方案 6:清除本地 DNS 缓存(快速修复)

陈旧的缓存可能导致解析异常,定期清理可解决部分问题:

  • Windows:ipconfig /flushdns
  • macOS:sudo killall -HUP mDNSResponder
  • Linux:sudo systemctl restart nscd

⚠️注意事项

  1. GitHub IP 可能定期变更,需定期更新 Hosts 配置
  2. 访问时优先使用 HTTPS 协议,降低中间人攻击风险
  3. 代理 / VPN 需选择未被 GitHub 封禁的节点(部分共享 IP 可能受限)

通过上述方法,可有效解决多数 DNS 污染导致的访问问题。若仍无法访问,可能是网络环境存在深层限制,建议结合代理工具进一步排查。