github git clone 慢

2020-02-21  本文已影响0人  emm_simon

[终极参考link]
[终极参考link]
[参考CSDN_link]
[参考简书_link]
[参考简书_link]
[参考简书_link]
[参考简书_link]
[参考CSDN_link]
[参考简书_link]
[参考简书_link]
[参考CN_blog_link]

-1- F安Q昂

事实证明只有会搭梯子的高配玩家才配得上高速git clone

-1.1-F安Q昂

怎么佛跳墙是难不倒程序媛的!

-1.2-查看搭梯子的socket端口
image.png
-1.3-配置git config

[终极参考link]
[终极参考link]

-1.4-git clone验证速度
image.png

-2- 不懂F安Q昂的话,算了

*https://www.ip138.comorhttp://tool.chinaz.com/dnsorhttps://www.ipaddress.com上查询指定网站的最快最新IP地址
* 通过sudo vi /etc/hosts命令,在MAC下指定某网址的DNS的IP地址
* 通过sudo dscacheutil -flushcache命令,在MAC下强制刷新DNS缓存
*通过nslookup github.com命令,查询当前环境的域名指向情况
*通过ping github.com查看当前环境访问指定网址的ip

需要手动设置IP的各种github域名:

最新的IP地址,还是要去https://www.ipaddress.com自己手动实时查询一下比较好

域名 IP地址 作用
github.com 192.30.253.113 访问github.com加载慢
avatars0.githubusercontent.com 185.31.18.133 github头像?
avatars1.githubusercontent.com 185.31.19.133 github头像?
avatars2.githubusercontent.com 199.232.28.133 github头像加载不出来
github.map.fastly.net 199.232.28.133 github头像加载不出来
raw.githubusercontent.com 99.232.28.133 载raw代码重定向失败
raw.github.com 199.27.76.130
github.global.ssl.fastly.net 199.232.5.194 git clone 慢?
github.global.ssl.fastly.net 185.31.16.184
github.global.ssl.fastly.net 151.101.44.249
assets-cdn.github.com 103.245.222.133
assets-cdn.github.com 23.235.47.133
assets-cdn.github.com 203.208.39.104
http://global-ssl.fastly.Net 151.101.112.249
http://github.com 192.30.253.112
documentcloud.github.com 204.232.175.78
gist.github.com 204.232.175.94
help.github.com 107.21.116.220
nodeload.github.com 207.97.227.252
status.github.com 107.22.3.110
training.github.com 204.232.175.78
www.github.com 207.97.227.243

github.com中添加如下内容:

140.82.114.3 github.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 raw.githubusercontent.com
199.232.28.133 raw.github.com
199.232.5.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com
199.232.4.249 global-ssl.fastly.net
185.199.108.153 documentcloud.github.com
185.199.109.153 documentcloud.github.com
185.199.110.153 documentcloud.github.com
185.199.111.153 documentcloud.github.com
192.30.253.118 gist.github.com
185.199.108.154 help.github.com
185.199.109.154 help.github.com
185.199.110.154 help.github.com
185.199.111.154 help.github.com
192.30.253.121 nodeload.github.com
52.87.114.63 status.github.com
52.205.36.92 status.github.com
54.85.97.34 status.github.com
192.30.253.167 training.github.com
140.82.114.3 www.github.com
最新查询出的IP 实证好用的IP 域名
140.82.114.3 github.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 raw.githubusercontent.com
199.232.28.133 raw.github.com
199.232.5.194 github.global.ssl.fastly.net
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com
199.232.4.249 global-ssl.fastly.net
185.199.108.153 documentcloud.github.com
185.199.109.153 documentcloud.github.com
185.199.110.153 documentcloud.github.com
185.199.111.153 documentcloud.github.com
192.30.253.118 gist.github.com
185.199.108.154 help.github.com
185.199.109.154 help.github.com
185.199.110.154 help.github.com
185.199.111.154 help.github.com
192.30.253.121 nodeload.github.com
52.87.114.63 status.github.com
52.205.36.92 status.github.com
54.85.97.34 status.github.com
192.30.253.167 training.github.com
140.82.114.3 www.github.com

GitHub的CDN域名遭到DNS污染,导致无法连接使用 GitHub 的加速分发服务器,才使得国内访问速度很慢。
Github的raw文件读取地址遭受DNS污染,导致文件下载困难。
通过访问 https://www.ipaddress.com/ 这个网站来获取当前github最新的ip地址。

image.png

背景知识

-1- /etc/hosts文件简介

Mac下/etc/hosts是一个没有扩展名的系统文件,
可以用系统自带的记事本等工具打开or编辑
/etc/hosts的作用就是将一些常用的网址域名与其对应的IP地址建立一个关联

当用户在浏览器输入一个需要登录的网址时
系统首先会自动从/etc/hosts文件中寻找对应的IP地址
一旦找到,系统会立即打开对应的网址
如果没有找到,则系统会再将网址提交到DNS域名解析服务器进行IP地址的解析

以192.168.1.64 m.taowaitao.cn 为例
表示每次访问 m.taowaitao.cn的时候,都不会去DNS域名解析服务器获取真实的IP地址,表示已经拦截下来了,而直接使用 192.168.1.64 打开对应的网址

-2- /etc/hosts文件中指定网址的IP地址时,可以重复多个么?

应该是可以的

# 解决git clone 速度慢的问题
140.82.113.3 github.com
140.82.114.3 github.com
140.82.114.4    github.com
192.30.253.112 github.com

/etc/hosts文件中添加了github.com四个备选DNS IP之后,重启Safari浏览器打开github,发现简直就是秒打开,太快了。

-3- /etc/hosts的作用

* 方便局域网用户访问
* DNS污染,指定IP可以更快地成功链接到指定网址
* 将想要屏蔽的网址指定到本地的错误IP

-4- git clone

git clone特别慢是因为github.global.ssl.fastly.net域名被限制了。

-5- pingnslookup 命令的区别

[参考link]
* ping github.com命令的解析顺序:
系统缓存 → hosts → 缓存服务器 → 主服务器 → 辅服务器
* nslookup github.com命令的解析顺序:
直奔dns进行查询
并没有像ping命令似的,先本机缓存,再hosts这么麻烦

$ nslookup github.com
Server:     172.16.202.2
Address:    172.16.202.2#53

Non-authoritative answer:
Name:   github.com
Address: 13.229.188.59

Mac上,通过设置网络高级DNS可以查看当前环境的DNS服务器:

image.png
$ ping github.com
PING github.com (13.229.188.59): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
Request timeout for icmp_seq 9
Request timeout for icmp_seq 10
Request timeout for icmp_seq 11
上一篇下一篇

猜你喜欢

热点阅读