一直用的 GitHub,突然一下子不能访问了,最后发现是 DNS 解析的 IP 地址出了问题,按照以下方法修改又能访问 github 了。
最后发现是DNS解析被污染了,解析到了无法访问的ip地址,通过ipaddress等网站查询到正确的地址,采用本地解析的方式,最终解决了问题。
关于DNS解析污染参考这篇文章
在本地 host 文件中添加映射,步骤如下
用文本编辑器打开 hosts 文件,Windows 系统位于 C:\Windows\System32\drivers\etc\hosts ,Linux 系统 /etc/hosts (其他系统请自行查阅)
打开http://tool.chinaz.com/dns (opens new window)或者 https://www.ipaddress.com (opens new window),
这是两个查询域名映射关系的工具,我一般用后者
查询 github.com, raw.githubusercontent.com, github.global.ssl.fastly.net 和 assets-cdn.github.com 两个地址,以及其他请求失败的地址,获取 IP
反复多查几次,选择一个比较稳定,延迟较低的 TTL 按如下方式添加到 Host 文件
刷新 DNS 缓存,命令如下。
如果DNS解析正确了,但是依然访问不了,可能是IP被block了,此时方法一,多试几个ip, 运气好可能有一两个可以用的。 方法二,需要借助魔法,魔法可以到我的首页去找,只能帮到这里了。
获取魔法可以到鹏叔的技术博客 首页使用关键字“魔法”查找
1 2 3 4 5 6 7 8 9 ipconfig /flushdns ipconfig /displaydns systemctl restart nscd
最后,贴下我的 Host 文件,直接复制就可以使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 140.82.112.3 github.com 140.82.113.3 github.com 151.101.1.194 github.global.ssl.fastly.net 151.101.65.194 github.global.ssl.fastly.net 151.101.129.194 github.global.ssl.fastly.net 151.101.185.194 github.global.ssl.fastly.net 151.101.100.133 assets-cdn.github.com 192.30.253.119 gist.github.com 199.232.4.133 assets-cdn.github.com 199.232.68.133 raw.githubusercontent.com 185.199.108.133 raw.githubusercontent.com 185.199.109.133 raw.githubusercontent.com 185.199.110.133 raw.githubusercontent.com 185.199.111.133 raw.githubusercontent.com 151.101.1.69 cdn.sstatic.net 151.101.129.69 cdn.sstatic.net 151.101.65.69 cdn.sstatic.net 151.101.193.69 cdn.sstatic.net 151.101.129.69 cdn.sstatic.net 151.101.1.69 cdn.sstatic.net 151.101.193.69 cdn.sstatic.net 151.101.65.69 cdn.sstatic.net 192.168.2.58 host.docker.internal 192.168.2.58 gateway.docker.internal 192.168.1.105 host.docker.internal 192.168.1.105 gateway.docker.internal 192.168.2.65 host.docker.internal 192.168.2.65 gateway.docker.internal 127.0.0.1 kubernetes.docker.internal 172.17.205.241 windows10.microdone.cn
参考文档 解决 GitHub 访问不了的方法