
很多开发者都遇到过这种情况:浏览器打不开 GitHub,命令行 `git clone` 半天没反应,拉依赖、下载 Release、访问仓库页面都很慢,甚至直接超时。第一反应往往是怀疑网络被墙、GitHub 挂了、电脑出问题,折腾代理、清缓存、重启路由器,结果还是不稳定。 但有时候问题没那么复杂。GitHub 无法访问,可能只是 DNS 解析出了问题。把电脑或路由器的 DNS 换成阿里公共 DNS...
很多开发者都遇到过这种情况:浏览器打不开 GitHub,命令行 git clone 半天没反应,拉依赖、下载 Release、访问仓库页面都很慢,甚至直接超时。第一反应往往是怀疑网络被墙、GitHub 挂了、电脑出问题,折腾代理、清缓存、重启路由器,结果还是不稳定。
但有时候问题没那么复杂。GitHub 无法访问,可能只是 DNS 解析出了问题。把电脑或路由器的 DNS 换成阿里公共 DNS,比如 223.5.5.5 和 223.6.6.6,访问就恢复正常了。
这篇文章不讲玄学,也不承诺换 DNS 能解决所有 GitHub 访问问题。它适合处理一种很常见的场景:网络本身能上网,但 GitHub、GitHub Pages、raw.githubusercontent.com 或部分开发资源访问异常。遇到这种情况,先检查 DNS,往往比盲目重装软件更有效。
一、为什么 DNS 会影响 GitHub 访问
无法访问 GitHub?换成阿里 DNS 可能就好了
DNS 可以理解为互联网里的“地址簿”。我们访问 github.com 时,浏览器并不是直接知道 GitHub 服务器在哪里,而是先向 DNS 服务器查询:这个域名对应哪个 IP 地址。DNS 返回结果后,浏览器或 Git 命令才会继续连接目标服务器。
如果 DNS 解析慢、解析结果不稳定、返回了不可用的 IP,或者某些域名解析失败,就会出现“网站打不开但网络正常”的情况。GitHub 这类服务涉及多个域名和资源节点,比如:
github.comapi.github.comraw.githubusercontent.comobjects.githubusercontent.comgithubusercontent.com
其中任何一个域名解析异常,都可能导致页面打不开、图片加载失败、Release 下载失败、git clone 卡住、包管理器拉依赖失败。
很多人排查 GitHub 访问问题时只盯着浏览器页面,其实开发工具链里也大量依赖 GitHub 相关域名。Node、Python、Go、Docker、各种开源项目下载脚本,都可能因为 DNS 解析不稳定而变慢。
二、什么情况下可以先尝试换 DNS
换 DNS 不是万能药,但它是低成本、可逆、值得优先尝试的排查步骤。尤其是下面几种情况,很适合先换 DNS。
第一,其他网站可以正常打开,只有 GitHub 或部分开发网站特别慢。这说明宽带不一定整体故障,问题可能集中在域名解析、链路选择或部分资源节点上。
第二,浏览器提示 DNS 相关错误,比如“无法解析服务器 DNS 地址”“DNS_PROBE_FINISHED_NXDOMAIN”“DNS_PROBE_FINISHED_BAD_CONFIG”。这种情况更应该优先检查 DNS 设置。
第三,同一台电脑换网络后 GitHub 正常,回到原网络就异常。比如手机热点能访问,办公室或家里宽带不行,就要重点看本地路由器、运营商 DNS 或内网 DNS 配置。
第四,命令行访问异常,但浏览器偶尔能打开。比如 git clone 超时、npm install 拉 GitHub 包失败、下载 GitHub Release 速度极慢。开发命令对 DNS 和网络稳定性更敏感,解析异常会被放大。
三、为什么可以试试阿里公共 DNS
阿里公共 DNS 是国内常用的公共 DNS 服务之一,地址比较好记:
- 首选 DNS:
223.5.5.5 - 备用 DNS:
223.6.6.6
它的优势是国内访问稳定性较好,解析速度通常不错,适合普通办公网络、家庭宽带和开发环境作为备用方案。对很多国内用户来说,把默认运营商 DNS 换成阿里 DNS 后,部分国外开发资源访问会更稳定。
这里要说清楚:DNS 只负责域名解析,不负责“加速所有国外网站”。如果 GitHub 本身链路拥堵、网络出口质量差、目标资源被限制,单纯换 DNS 不一定彻底解决。但如果问题根源是解析异常,换 DNS 就可能立刻见效。
所以正确态度是:把它当作基础排查动作,而不是神奇加速器。能解决就保留,不能解决再继续查代理、网络链路、防火墙、 hosts、证书、Git 配置等问题。
四、Windows 怎么修改 DNS
Windows 用户可以通过系统网络设置修改 DNS。
常见路径是:打开“设置” → “网络和 Internet” → 选择当前网络连接 → 找到 DNS 服务器分配 → 改为手动 → 开启 IPv4 → 填入:
首选 DNS:223.5.5.5
备用 DNS:223.6.6.6
保存后,可以打开命令提示符执行:
ipconfig /flushdns
这一步是清理本地 DNS 缓存,避免系统继续使用旧解析结果。然后重新打开浏览器,访问 https://github.com 测试。如果是 Git 命令异常,也可以重新执行 git ls-remote 或 git clone 做验证。
如果你不想改整台电脑,也可以只在当前连接的网卡里修改。比如只改 Wi-Fi,不影响有线网络;只改当前办公室网络,不影响其他环境。
五、macOS 怎么修改 DNS
macOS 可以在系统设置里修改 DNS。
路径大致是:系统设置 → 网络 → 选择当前 Wi-Fi 或有线网络 → 详细信息 → DNS → 添加 DNS 服务器:
223.5.5.5
223.6.6.6
保存后,建议刷新 DNS 缓存。不同 macOS 版本命令略有差异,常见命令是:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
然后重新打开浏览器访问 GitHub。也可以用命令测试解析:
nslookup github.com
ping github.com
如果 nslookup 能正常返回 IP,说明 DNS 解析至少已经恢复。至于 ping 是否通,不一定能完全代表网页能否访问,因为有些服务可能不响应 ICMP,所以最终还是要以浏览器和 Git 命令测试为准。
六、路由器上修改 DNS 更适合办公室环境
如果一个办公室里多台电脑都访问 GitHub 不稳定,逐台电脑修改 DNS 比较麻烦。这种情况可以考虑在路由器里统一设置 DNS。
进入路由器管理后台,找到“上网设置”“LAN 设置”“DHCP 设置”或“DNS 设置”,把 DNS 服务器改成:
223.5.5.5
223.6.6.6
保存并重启网络后,连接这台路由器的设备通常会自动获得新的 DNS 配置。必要时可以让电脑断开网络再重新连接,或者手动刷新 DNS 缓存。
这种方式适合公司、工作室、开发团队和长期办公环境。统一 DNS 后,团队成员访问 GitHub、开源依赖和开发文档的稳定性可能会更一致。
不过要注意:如果公司网络有内部域名、内网系统或专用 DNS,不能随便覆盖。否则可能导致内部系统访问异常。企业环境修改前最好先确认有没有内网 DNS 依赖。
七、换 DNS 后还打不开怎么办
如果换成阿里 DNS 后 GitHub 仍然打不开,就不要继续在 DNS 上死磕,可以按下面顺序排查。
第一,检查是否被浏览器缓存或系统缓存影响。清理 DNS 缓存后,换浏览器或无痕模式测试。
第二,检查 hosts 文件。很多人以前为了访问 GitHub 改过 hosts,时间久了 IP 失效,反而导致访问失败。Windows 的 hosts 文件一般在:
C:\Windows\System32\drivers\etc\hosts
macOS 和 Linux 一般在:
/etc/hosts
如果里面写死了 GitHub 相关域名,可以先注释掉再测试。
第三,检查代理和 Git 配置。有些开发工具会给 Git 单独配置代理,浏览器正常但 Git 不正常,可能是 Git 代理设置有问题。可以查看:
git config --global --get http.proxy
git config --global --get https.proxy
第四,检查安全软件、防火墙、公司网关。有些安全策略会拦截开发资源下载,尤其是公司网络。此时换 DNS 可能只能解决解析,不能绕过网络策略。
第五,换网络交叉验证。用手机热点访问 GitHub,如果热点正常而宽带异常,说明问题更可能在当前宽带、路由器或运营商链路上。
八、网站运维里的经验:先做低成本排查
这类问题给企业网站运维也有一个提醒:很多网络故障不一定一上来就要重装系统、换服务器、改代码。先做低成本、可回退的排查,效率更高。
比如 GitHub 无法访问,先看 DNS;网站打不开,先看域名解析、SSL、服务器状态;后台登录异常,先看接口和浏览器控制台;图片加载慢,先看图片体积和缓存。技术问题不要凭感觉大改,先确认最基础的链路。
云智科技在处理网站建设、网站维护、服务器部署和开发环境问题时,也会按这个思路来排查:先确定问题范围,再定位最可能的环节,优先尝试风险最低的调整。DNS 修改就是典型例子,成本低、可恢复、验证快。
九、总结
如果你遇到 GitHub 无法访问、打开慢、git clone 超时、开发依赖拉取失败,可以先试试把 DNS 改成阿里公共 DNS:
223.5.5.5
223.6.6.6
改完后记得刷新 DNS 缓存,再重新测试 GitHub。它不能保证解决所有网络问题,但对于 DNS 解析异常导致的访问失败,确实经常有效。
技术排查最怕一上来就复杂化。先从 DNS 这种基础项查起,很多时候能省下大量无效折腾。如果企业办公网络、开发环境或网站运维遇到类似问题,也可以联系云智科技,我们可以帮你从域名、DNS、服务器、网络链路和网站系统几个层面一起排查。