1、国内访问 GitHub 为什么很慢?
访问https://github.com时慢的要死,有时候直接超时进不去,原因是GitHub 的 CDN 域名遭到 DNS 污染,导致无法连接使用 GitHub 的加速分发服务器,才使得国内访问速度很慢。
2、如何解决 DNS 污染?
通过修改 Hosts 文件,将域名解析直接指向 IP 地址来绕过 DNS 的解析,以此解决污染问题。
3、解决方案
接下来我们就配置一下,来加快访问github网站速度。具体操作步骤:
3.1、打开域名解析网址 https://www.ipaddress.com/
这个网址是全球最好的 IP 地址查询工具网站来查询出域名当前对应的最优 IP。(不要用 ip168.com 这类国内的 IP 探针,其获取的国外域名的 ip 也是被 DNS 污染过的,有的浏览器打不开可以使用谷歌)
查询下面 3 个网址对应的 IP 地址:
github.com : 140.82.113.4
assets-cdn.github.com : 185.199.108.153 185.199.109.153 185.199.110.153 185.199.111.153
github.global.ssl.fastly.net : 199.232.69.194
打开之后,分别搜索以下3个域名:
(1)github.com
找到这个ip待会要用到,注意,你要自己搜索,不同的电脑搜索结果是不一样的,不要用我的,否则不生效,用自己搜索出来的。
(2) assets-cdn.github.com
(3)github.global.ssl.fastly.net
3.2、配置静态域名映射,即修改本地电脑系统 hosts 文件
Windows 系统中的文件路径:C:\WINDOWS\system32\drivers\etc
Linux 系统中的文件路径:/etc/hosts
以windows操作系统为例,我们在C:\Windows\System32\drivers\etc\hosts文件里加上上边我们查到的域名映射:
注意将ip改成自己查到的。
说明:在 Windows 系统中,包括 XP、Win7、Win8 、Win10 系统中,hosts 文件的位置都是一样的。如果 etc 文件夹中并没有 hosts 文件,那么可能是该文件隐藏了,可以设置一下,让其显示出来即可。
3.3、 更新dns缓存
修改后会保存退出直接生效,无需刷新 DNS 缓存,因为 hosts 的优先级大于 DNS 域名解析,添加完 hosts 之后,再访问对应的域名,已经就与 DNS 没关系了。如果未生效,重启操作系统或用命令刷新一下DNS缓存,在命令行中输入以下命令刷新域名:
Windows 系统:ipconfig /flushdns
Linux 系统:systemctl restart nscd
Mac 系统:sudo dscacheutil -flushcache或sudo killall -HUP mDNSResponder