为什么会说Failed connect to github.com:443是一个诡异的问题?乍一看,写明了无法连接到github.com,ping也不通,但是获取到了github的IP(192.30.252.131),而且ping其他网站如baidu.com是通的。更让人意想不到的是网关可以git,但是本机却不能git。然后就陷入了挣扎中。。。
iptables挣扎:
停掉本机iptables,查看网关iptables确保192.30.252.130能够路由到本机。挣扎过后发现不是iptables的问题。
git版本问题:
前面遇到过git版本问题导致git提交时报错,但是这次网关和本机的git都是1.7.1版本。挣扎过后发现也不是git版本问题。
于是转回到ping不通github.com的问题:
为什么ping的通其他网站,ping不通github。回归到本机的路由来寻找问题。github的IP地址是192.30.252.131,ping github返回的是本机报告Destination Host Unreachable,而这并不是网关的问题。traceroute跟踪一下192.30.252.131,果然压根就没跳出本机,直接丢失了。现在才意识到,本机路由出了问题,而偏偏github这个诡异的192网段IP跳进了这个坑。用route命令看一下本机路由,终于发现罪魁祸首:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.0.0.0 * 255.0.0.0 U 0 0 0 br1
显而易见,这条静态路由除了没用以外还造成了无法访问192.30.252.131,直接删除之。route del -net 192.0.0.0 netmask 255.0.0.0
再来git试一下,果然可以了。。
其实问题还是很简单的,关键是一开始没注意到ping不通192.x.x.x并且由本机返回了Destination Host Unreachable,还在纠结git的自身问题。。
————————————————
版权声明:本文为CSDN博主「hustsselbj」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hustsselbj/article/details/46842191