git遇到的詭異錯誤: Failed connect to github.com:443

爲什麼會說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的自身問題。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章