其他分享
首页 > 其他分享> > 修改Hosts访问被DNS污染的网站

修改Hosts访问被DNS污染的网站

作者:互联网

Github 访问失败或者缓慢?

为什么会访问失败或者速度很慢?

国内网络访问 Github 速度过慢的原因有许多,但其中最直接和原因是其 CND 域名遭到 DNS 污染,导致我们无法连接使用 GitHub 的加速服务,因此访问速度缓慢。

简单理解:CDN「Content Delivery Network」,即内容分发网络,依靠部署在各地的边缘服务器,平衡中心服务器的负荷,就近提供用户所需内容,提高响应速度和命中率。DNS 污染,是指一些刻意或无意制造出来的数据包,把域名指向不正确的 IP 地址,阻碍了网络访问。

我们默认从目标网址的最近 CDN 节点获取内容,但当节点过远或 DNS 指向错误时,就会操成访问速度过慢或无法访问的问题。

访问慢、无法加载还是无法通讯?

这三种情况是有区别的,含义不一样:

自然导致这三种情况的原因也不尽相同:

检测一下

可以利用两个工具来判断不同域名或 IP 地址是上述那种情况。笔者以github.com为例,实际操作一遍检测的过程,看看是什么情况:

网络上的ping工具能为我们提供三个重要的信息:首先,如果存在ping通的节点,那么 IP 服务器没有宕机;其次,响应 IP 汇总表提供了所有可能的服务器与 CDN 的 IP 地址;最后,具体信息部分可以点击响应时间排序,我们可以找到响应最快的服务器 IP。

ping 140.82.114.4  # 这个IP是响应最快的,来自加拿大
ping 192.30.253.112  # 这个IP也可以响应,来自中国香港

这一步说明,如果我们网络设置的 DNS 解析出的github.com的 IP 无法在本机ping通,我们便不能够访问该网址。这也是后面通过修改系统 Hosts 文件来解决访问失败问题的原因。

最后我们可以用浏览器尝试直接打开ping通的 IP 地址。其结果是:140.82.114.4无法被浏览器加载;192.30.253.112可以加载出 Github 首页。

检测结果

上一步操作的结果就是我们判断三种情况的依据。

域名,网址与 IP 地址

上面提到的这些东西有点乱了,整理一下。

注意,IP 地址和域名是一对多的关系。一个 IP 可以对应多个不同的域名,但是一个域名只能对应一个 IP 地址。就跟人的名字一样,你可以有多个名字。但这些名字都是指的你。

然而我们利用网络工具测试时,发现github.com有多个响应 IP 服务器。这就是开头提到的 CDN 服务。多个平行的服务器响应,均匀了中心服务器的负载,使得网络通讯更加迅速。

现实的情况是,github.com启用的 CDN 节点遭到了 DNS 污染,错误的 IP 指向,包括错误 IP、响应过慢的 IP,都会造成我们访问 Github 失败。

方案:修改 Hosts 文件

再总结一下 Github 访问失败或者缓慢的原因:本机网络设置的 DNS 服务器解析 Github 相关域名到遭受污染的 IP 地址,这些 IP 地址要么本身无法访问,要么节点过远,从而导致了访问失败或者速度缓慢。

那么我们修改的方案可以是:

显然第一种方案更加方便。因为 DNS 服务器储存的映射关系是动态更新的,无法直接控制。直接修改本机 Hosts 文件,锁定域名对应的 IP,更加有效方便。当然,Hosts 文件的作用就是绑定域名与 IP 的映射关系。

Windows 修改 Hosts 文件

C:\Windows\System32\drivers\etc\hosts
ipconfig /flushdns

当前 IP 值

列出当前使用的 Github 相关域名比较合适的 IP 值。其中的设置可以解决github.com头像无法显示的问题:

#Github xj
52.192.72.89 github.com
54.251.140.56 nodeload.github.com
203.208.39.99 api.github.com
203.208.39.99 github.global.ssl.fastly.net
140.82.113.9 codeload.github.com
185.199.108.133 raw.github.com
185.199.108.153 training.github.com
185.199.108.153 assets-cdn.github.com
185.199.108.153 documentcloud.github.com
185.199.108.154 help.github.com
185.199.108.153 githubstatus.com
185.199.111.133 raw.githubusercontent.com
185.199.108.133 cloud.githubusercontent.com
185.199.108.133 gist.githubusercontent.com
185.199.108.133 marketplace-screenshots.githubusercontent.com
185.199.108.133 repository-images.githubusercontent.com
185.199.108.133 user-images.githubusercontent.com
185.199.108.133 desktop.githubusercontent.com
185.199.108.133 avatars.githubusercontent.com
185.199.108.133 avatars0.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com
185.199.108.133 avatars2.githubusercontent.com
185.199.108.133 avatars3.githubusercontent.com
185.199.108.133 avatars4.githubusercontent.com
185.199.108.133 avatars5.githubusercontent.com
185.199.108.133 avatars6.githubusercontent.com
185.199.108.133 avatars7.githubusercontent.com
185.199.108.133 avatars8.githubusercontent.com

不一定保证每一项都是正确、有效的,但目前来说实测能够稳定访问 Github。

标签:githubusercontent,github,IP,污染,Hosts,DNS,108.133,185.199,com
来源: https://www.cnblogs.com/chaofanq/p/15314039.html