天天看點

“SIOCADDRT: Network is unreachable”不可達到底指的什麼意思是以說路由的下一跳一定得是廣播可達的,僅僅ping通(路由可達)沒卵用!!!

引用一下别人的描述

問題描述:

[[email protected] /etc]# route add default gw 192.168.4.1

route: SIOCADDRT: Network is unreachable

解決:

确認所配置的網關是否可以ping通。

網絡不可達。配置失敗。

----------------------------------------------------------------------------------------------------------------------

上面的解決辦法有問題,能Ping通不一定能做路由的下一跳!!!

“SIOCADDRT: Network is unreachable”不可達到底指的什麼意思是以說路由的下一跳一定得是廣播可達的,僅僅ping通(路由可達)沒卵用!!!

能ping通,但是當我設定路由的下一跳的時候依然提示錯誤:

“SIOCADDRT: Network is unreachable”不可達到底指的什麼意思是以說路由的下一跳一定得是廣播可達的,僅僅ping通(路由可達)沒卵用!!!

是以我猜測這裡所提示的unreachable應該指的是廣播不可達,而不是路由不可達:

因為路由下一跳就是給ip資料包提示下一步如何走的,如果你告訴它一個無法直接廣播到達的位址的話他就要通過相應的路由去找這個位址,這就等于你要千辛萬苦找到“下一跳”(加引号是因為其實它并不是真正的下一跳,因為你是通過對應的路由[這個對應的下一跳反而成了真正的下一跳]才能找到它),然後再問他它去往原目的下一跳如何走... 這顯然不合理也難做到,因為有兩個目的位址要定位, 一個是找“下一跳”, 一個找資料包的目的位址,但正常情況下ip封包中隻有一個目的位址。當然我現在還沒有學習源碼來驗證這個答案,不過有時候合理的猜測也是一種不錯的學習方法,尤其是對我這種有強迫症的人,有時不給自己一個合理的解釋全身難受,哈哈。

---------------------------------------------------------

是以說路由的下一跳一定得是廣播可達的,僅僅ping通(路由可達)沒卵用!!!

---------------------------------------------------------

繼續閱讀