#Linux# #路由# #網絡卡# #無法上網#
2、為什麼要配置路由在使用了多個網絡卡的情況下,系統可能無法自動使用對應的網絡卡去訪問對應的資源,例如:
一個伺服器有兩個網絡卡,一個是針對內網,一個是針對外網,理想的情況是訪問內網環境的時候系統使用的是內網網絡卡,訪問外網的時候,使用的是外網網絡卡,但是有時候就會出現訪問內網的時候使用了外網網絡卡,訪問外網的時候使用了內網網絡卡,最終導致訪問失敗!
3、如何設定路由不同系統型別設定方法都可能不一樣,在這裡主要講解如何在Linux(CentOS)系統上配置,預設情況下基本所有同期Linux系統方法都是一樣的。
3.1、需要用到什麼工具配置路由的命令在這裡我採用route工具進行配置和檢視配置資訊
yum install net-tools #安裝route工具,進入單網絡卡模式下安裝
進入單網絡卡模式安裝
3.2、情景展現現在我的主機IP地址分佈如下:
hostname -I
系統IP地址
需求:在這個區域網中,還有一個網段(看下面),然後我的IP中只有1.1這個段是內網(虛擬機器的僅主機模式),10.1這個是外網(虛擬機器的NAT模式)。
子網地址
現在我不配置路由直接PING一下百度
PING失敗
此時是無法PING通的,然後我斷開一個內網連線:
使用單網絡卡連線
這時候就能夠連通了,也就說明現在存在路由混亂的問題。
3.3、路由配置3.3.1、查詢當前網路資訊連線內網網絡卡後,執行命令:
routel
查詢閘道器地址
記住對應的閘道器地址,然後繼續查詢當前路由表:
route -n
當前系統路由表
從查詢結果可以看到,有兩個0.0.0.0的訪問條目,也就是說現在系統會任意使用其中一個閘道器去訪問外網,這樣的情況是不符合當前環境的,所以需要重新配置。
route del -net 0.0.0.0 netmask 0.0.0.0route del -net 0.0.0.0 netmask 0.0.0.0
刪除0.0.0.0路由訪問
然後剩下的就不管了,接著新增一個條目:
route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.1.1.2 ens33
-net #子網
netmask #子網掩碼
gw #閘道器地址
ens33 #指定一個網路裝置介面名
然後查詢新的路由表:
新的路由表
接著PING一下百度:
然後網路就通了
所以在多網絡卡環境下,網路不通不一定是IP配置有問題,路由表也是一個不可忽視的影響因素,上面只是針對訪問外網進行一個路由配置而已,在實際場景中可能還會遇到更復雜的網路環境,那麼這個時候,路由表的規劃就是非常重要的了。
當然,route工具算是比較老的工具了,現在也出了一些新的路由管理工具,有些工具比這個更簡單,例如nmtui。
遇到這種情況你們一般使用哪種工具或者解決方案呢?