問題描述
在服務器中設置路由時,可能由于設置錯誤導致網絡出現問題,具體問題場景如下所示:
- 服務器內部使用ping命令時,連接服務器網關失敗。
- 使用ping命令連接同網段中的其他不同服務時失敗。
問題原因
由于您使用Docker等服務導致在路由表中變更了路由信息。
解決方案
阿里云提醒您:
- 如果您對實例或數據有修改、變更等風險操作,務必注意實例的容災、容錯能力,確保數據安全。
- 如果您對實例(包括但不限于ECS、RDS)等進行配置與數據修改,建議提前創建快照或開啟RDS日志備份等功能。
- 如果您在阿里云平臺授權或者提交過登錄賬號、密碼等安全信息,建議您及時修改。
- 在服務器中執行以下命令,查看路由表信息。
route -n
系統顯示類似如下。 - 根據路由表中的信息,確認出現問題的網卡接口。
- 執行以下命令,對出現問題的網卡接口進行抓包。
說明:網卡接口可能為eth0或eth1,具體以現場實際情況為準。
tcpdump -v -i [$Iface]
說明:[$Iface]為出現問題的網卡接口。
系統顯示類似如下,該案例中的數據包顯示本機始終在內網網卡中請求獲取公網網關的MAC廣播報文,由于是在內網網卡中,所以公網網關并沒有得到請求報文,因此本機沒有獲取返回的報文,導致連接網關失敗。 - 使用
route del
命令,刪除錯誤的路由信息。 - 使用
route add
命令,添加正確的路由信息。
更多信息
- 表中各個參數含義如下所示:
- 目標網絡(Destination):目標網段或者主機。
- 網關(Gateway):網關地址,”*” 表示目標是本主機所屬的網絡,不需要路由。
- 網絡掩碼(Genmask):指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。
- Flags各個標志的含義如下所示:
- U:Up,表示此路由當前為啟動狀態。
- H:Host,表示對某一個特定的服務器的路由。
- G:Gateway,表示路由到一個網關。
- R:Reinstate Route,使用動態路由重新初始化的路由。
- D:Dynamically,該路由是由重定向報文創建的,并且是通過路由守護程序或導向器動態修改的。
- !:表示此路由當前為關閉狀態。
- Metric:路由距離,到達指定網絡所需的中轉數(Linux內核中沒有使用)。
- Ref:路由項引用次數(Linux內核中沒有使用)。
- Use:此路由項被路由軟件查找的次數。
- Iface:該路由表項對應的輸出接口。
- 路由器中的路由選擇依據包括目的地址、最長匹配、管理距離(Priority)和度量值(Metric)。其中,路由選擇過程如下所示:
說明:最長匹配是路由查找時,使用路由表中到達同一目的地的子網掩碼最長的路由。
-
- 根據目的地址和最長匹配原則進行查找。
- 若有兩條或兩條以上路由符合,則查看管理距離,不同路由協議的管理距離值不同。管理距離數值越小,優先級越高。
- 當管理距離相同時,會查看度量值。度量值越小,優先級越高。
適用于
- 云服務器ECS
文檔內容是否對您有幫助?