浏览器域名解析问题完整指南
浏览器无法访问 GitHub?DNS 污染修复实操手册
一、实操情景
问题现象
电脑网络正常(能刷网页、登 QQ),唯独 GitHub 访问异常:
- 浏览器无法打开或加载极慢
- 图片资源显示空白
ping域名解析异常- 修改普通 DNS 无效,浏览器解析仍然错乱
根本原因
| 因素 | 说明 |
|---|---|
| DNS 污染 | GitHub 境外域名被污染,返回错误 IP |
| 浏览器缓存 | 残留旧错误 IP,直接使用 |
| DoH 劫持 | 浏览器私自解析,覆盖系统配置 |
| 系统旧缓存 | Windows DNS 缓存留存历史错误记录 |
解决核心
手动绑定节点 + 清除缓存 + 强制解析
二、DNS 解析五层网点优先级
DNS 解析按以下优先级顺序检索(从高到低):
| 优先级 | 层级 | 说明 |
|---|---|---|
| 1 | 浏览器 DNS 缓存 | 最先读取,若残留旧错误 IP 则直接使用 |
| 2 | Windows 系统 DNS 缓存 | 系统留存的历史解析记录 |
| 3 | 本地 hosts 文件 | 手动强制绑定 IP,优先级最高,可绕过污染 |
| 4 | 网卡手动配置 DNS | 可设置阿里 DNS(223.5.5.5)、114DNS(114.114.114.114) |
| 5 | 运营商 DNS / 外网根节点 | 最底层,容易被污染 |
关键洞察:hosts 文件优先级高于网卡 DNS 配置,是绕过 DNS 污染的核心手段。
三、完整配置流程
第一步:关闭浏览器安全 DNS(DoH)
避免浏览器私自解析,覆盖系统和 hosts 配置。
Firefox 设置路径 :设置 → 常规 → 网络设置 → 启用基于 HTTPS 的 DNS → 取消勾选
Chrome 设置路径 :设置 → 隐私和安全 → 安全 → 使用安全 DNS → 选择「禁用」
第二步:清理浏览器 DNS 缓存与站点缓存
清空第一层网点旧错误数据。
Firefox :Ctrl+Shift+Delete → 选择「缓存」和「Cookies」→ 确定
Chrome :Ctrl+Shift+Delete → 选择「缓存图像和文件」→ 「清除数据」
第三步:执行批处理脚本写入 hosts
将 GitHub 静态资源、接口、CDN、代码下载节点手动绑定真实 IP,强制本地解析不走污染 DNS。
第四步:手动设置网卡纯净 DNS
| 类型 | DNS 地址 |
|---|---|
| 首选 | 223.5.5.5(阿里 DNS) |
| 备用 | 114.114.114.114(114 DNS) |
设置路径 :控制面板 → 网络和共享中心 → 更改适配器设置 → 右键「以太网」→ 属性 → IPv4 → 手动填写
第五步:脚本自动执行清空系统 DNS 缓存
清除系统第二层网点缓存,让新 hosts 解析立即生效。
第六步:关闭所有浏览器重新打开
避免浏览器进程残留缓存,验证访问 GitHub 正常加载主页、头像、静态资源。
四、批处理脚本完整代码
batch
@echo off
chcp 65001 >nul
title GitHub DNS修复工具
echo ================================================
echo GitHub DNS 污染修复脚本
echo ================================================
echo.
echo [1/5] 正在写入 GitHub 主站节点...
echo 140.82.114.4 github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.114.3 www.github.com >> C:\Windows\System32\drivers\etc\hosts
echo [2/5] 正在写入 GitHub 静态资源 CDN 节点...
echo 185.199.108.153 assets-cdn.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.109.153 github.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.110.133 raw.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
echo [3/5] 正在写入 GitHub 代码下载节点...
echo 199.232.68.133 codeload.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 199.232.69.133 objects.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
echo [4/5] 正在写入 GitHub API 接口节点...
echo 140.82.112.5 api.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.112.10 api.github.com >> C:\Windows\System32\drivers\etc\hosts
echo [5/5] 正在写入 GitHub Pages 节点...
echo 185.199.109.153 github.io >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.111.153 pages.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.108.153 gist.github.com >> C:\Windows\System32\drivers\etc\hosts
echo.
echo [提示] 正在刷新系统 DNS 缓存...
ipconfig /flushdns >nul 2>&1
echo.
echo ================================================
echo 配置完成!请执行以下操作:
echo ================================================
echo.
echo 1. 关闭所有浏览器窗口
echo 2. 重新打开浏览器访问 GitHub
echo 3. 如仍异常,请尝试 Ctrl+Shift+R 强制刷新
echo.
echo ================================================
echo.
pause
五、脚本逐行详解
批次1:环境初始化
batch
@echo off
作用:关闭命令回显,脚本运行时不显示每条命令本身,只显示执行结果,界面更干净。
batch
chcp 65001 >nul
作用:将命令行编码切换为 UTF-8,确保中文字符正常显示(防止乱码)。
batch
title GitHub DNS修复工具
作用:设置命令行窗口标题,便于识别运行中的脚本。
批次2:界面标题
batch
echo ================================================
echo GitHub DNS 污染修复脚本
echo ================================================
echo.
作用:打印分隔线和标题,增强仪式感,方便用户确认脚本正在运行。
批次3:节点写入
batch
echo [1/5] 正在写入 GitHub 主站节点...
echo 140.82.114.4 github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.114.3 www.github.com >> C:\Windows\System32\drivers\etc\hosts
作用 :追加主站域名映射。
>>表示向文件末尾追加内容,不覆盖原有 hosts 配置。
batch
echo [2/5] 正在写入 GitHub 静态资源 CDN 节点...
echo 185.199.108.153 assets-cdn.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.109.153 github.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.110.133 raw.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
作用:写入 CDN 节点,处理 GitHub 头像、图片、Raw 文件等静态资源加载问题。
batch
echo [3/5] 正在写入 GitHub 代码下载节点...
echo 199.232.68.133 codeload.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 199.232.69.133 objects.githubusercontent.com >> C:\Windows\System32\drivers\etc\hosts
作用 :写入代码包下载节点,解决
.zip、.tar.gz等压缩包下载失败问题。
batch
echo [4/5] 正在写入 GitHub API 接口节点...
echo 140.82.112.5 api.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 140.82.112.10 api.github.com >> C:\Windows\System32\drivers\etc\hosts
作用:写入 API 节点(双 IP 备用),确保 GitHub 接口请求正常,包括 OAuth 认证、仓库信息查询等。
batch
echo [5/5] 正在写入 GitHub Pages 节点...
echo 185.199.109.153 github.io >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.111.153 pages.github.com >> C:\Windows\System32\drivers\etc\hosts
echo 185.199.108.153 gist.github.com >> C:\Windows\System32\drivers\etc\hosts
作用:写入 GitHub Pages 和 Gist 节点,修复个人博客、示例页面、Gist 代码片段的访问。
批次4:刷新缓存
batch
echo.
echo [提示] 正在刷新系统 DNS 缓存...
ipconfig /flushdns >nul 2>&1
作用:
ipconfig /flushdns:清除 Windows 系统 DNS 缓存,使新 hosts 配置立即生效>nul 2>&1:隐藏命令本身的输出,保持界面简洁
批次5:完成提示
batch
echo.
echo ================================================
echo 配置完成!请执行以下操作:
echo ================================================
echo.
echo 1. 关闭所有浏览器窗口
echo 2. 重新打开浏览器访问 GitHub
echo 3. 如仍异常,请尝试 Ctrl+Shift+R 强制刷新
echo.
echo ================================================
echo.
作用:清晰告知用户后续操作步骤,确保修复生效。
批次6:暂停等待
batch
pause
作用:脚本执行完毕后等待用户按任意键退出,避免窗口自动关闭导致用户看不到执行结果。
六、节点汇总表
| 类别 | 域名 | 映射 IP | 解决的问题 |
|---|---|---|---|
| 主站 | github.com | 140.82.114.4 | 主页访问 |
| www.github.com | 140.82.114.3 | 带 www 域名访问 | |
| CDN | assets-cdn.github.com | 185.199.108.153 | 头像、图片加载 |
| github.githubusercontent.com | 185.199.109.153 | 仓库内图片 | |
| raw.githubusercontent.com | 185.199.110.133 | Raw 文件查看 | |
| 下载 | codeload.github.com | 199.232.68.133 | 代码包下载 |
| objects.githubusercontent.com | 199.232.69.133 | 附件下载 | |
| API | api.github.com | 140.82.112.5 / 10 | 接口请求 |
| Pages | github.io | 185.199.109.153 | 个人主页 |
| pages.github.com | 185.199.111.153 | Pages 站点 | |
| gist.github.com | 185.199.108.153 | Gist 代码片段 |
七、使用前准备
运行脚本前,请确保:
- 以管理员身份运行(右键 → 以管理员身份运行)
- 关闭杀毒软件拦截(部分杀软会拦截 hosts 写入)
- 关闭浏览器 DoH(Firefox / Chrome 设置中禁用安全 DNS)
八、核心原理总结
利用 hosts 文件的最高解析优先级,用批处理一键写入 GitHub 各类资源网点 IP,配合关闭浏览器 DoH、清空双层缓存、配置纯净网卡 DNS,将 DNS 解析五层网点全部重置,彻底解决 GitHub 浏览器解析失败、资源加载不出等问题。
文件格式 :.bat(Windows 批处理文件)
编码:UTF-8 with BOM(支持中文显示)
兼容性:Windows 10 / 11
文档更新时间:2026-05-5