Linux 路由配置詳解
在日常運維作業中,經常會碰到路由表的操作。下面就linux運維中的路由操作做一梳理:
------------------------------------------------------------------------------
先說一些關於路由的基礎知識:
1)路由概念
路由: 跨越從源主機到目標主機的一個網際網路絡來轉發資料包的過程
路由器:能夠將資料包轉發到正確的目的地,並在轉發過程中選擇最佳路徑的裝置
路由表:在路由器中維護的路由條目,路由器根據路由表做路徑選擇
直連路由:當在路由器上配置了介面的IP地址,並且介面狀態為up的時候,路由表中就出現直連路由項
靜態路由:是由管理員手工配置的,是單向的。
預設路由:當路由器在路由表中找不到目標網路的路由條目時,路由器把請求轉發到預設路由介面 。
2)靜態路由和預設路由的特點
靜態路由特點:
路由表是手工設定的;
除非網路管理員干預,否則靜態路由不會發生變化;
路由表的形成不需要佔用網路資源;
適用環境:一般用於網路規模很小、拓撲結構固定的網路中。
預設路由特點:
在所有路由型別中,預設路由的優先順序最低
適用環境:一般應用在只有一個出口的末端網路中或作為其他路由的補充
浮動靜態路由:
路由表中存在相同目標網路的路由條目時,根據路由條目優先順序的高低,將請求轉發到相應埠;
鏈路冗餘的作用;
3)路由器轉發資料包時的封裝過程
源IP和目標IP不發生變化,在網路的每一段傳輸時,源和目標MAC發生變化,進行重新封裝,分別是每一段的源和目標地址
4)要完成對資料包的路由,一個路由器必須至少了解以下內容:
a)目的地址
b)相連路由器,並可以從哪裡獲得遠端網路的資訊
c)到所有遠端網路的可能路由
d)到達每個遠端網路的最佳路由
e)如何維護並驗證路由資訊
f)路由和交換的對比
路由工作在網路層
a)根據“路由表”轉發資料
b)路由選擇
c)路由轉發
交換工作在資料鏈路層
d)根據“MAC地址表”轉發資料
e)硬體轉發
------------------------------------------------------------------------------
接著說下linux運維中關於路由的一些操作
1)使用route -n命令檢視Linux核心路由表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
2)三種路由型別說明
a)主機路由
主機路由是路由選擇表中指向單個IP地址或主機名的路由記錄。主機路由的Flags欄位為H。例如,在下面的示例中,本地主機通過IP地址192.168.1.1的路由器到達IP地址為10.0.0.10的主機。
1 2 3 |
|
b)網路路由
網路路由是代表主機可以到達的網路。網路路由的Flags欄位為N。例如,在下面的示例中,本地主機將傳送到網路192.19.12的資料包轉發到IP地址為192.168.1.1的路由器。
1 2 3 |
|
c)預設路由
當主機不能在路由表中查詢到目標主機的IP地址或網路路由時,資料包就被髮送到預設路由(預設閘道器)上。預設路由的Flags欄位為G。例如,在下面的示例中,預設路由是IP地址為192.168.1.1的路由器。
1 2 3 |
|
3)配置路由route的命令
設定和檢視路由表都可以用 route 命令,設定核心路由表的命令格式是:
1 |
|
引數解釋:
add 新增一條路由規則
del 刪除一條路由規則
-net 目的地址是一個網路
-host 目的地址是一個主機
target 目的網路或主機
netmask 目的地址的網路掩碼
gw 路由資料包通過的閘道器
dev 為路由指定的網路介面
4)route命令使用舉例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
5)設定包轉發
在Linux中預設的核心配置已經包含了路由功能,但預設並沒有在系統啟動時啟用此功能;
開啟Linux的路由功能可以通過調整核心的網路引數來實現,方法如下:
1 2 3 4 5 6 7 8 |
|
6)靜態路由配置
新增靜態路由到路由表的語法如下:
1 |
|
引數解析:
ip route 用於建立靜態路由的命令。
Destination_network 需要釋出到路由表中的網段。
Mask 在這一網路上使用的子網掩碼。
Next-hop_address 下一跳路由器的地址。
administrative_distance 預設時,靜態路由有一個取值為1 的管理性距離。在這個命令的尾部新增管理權來修改這個預設值。
例如
1 |
|
檢視路由表除了使用route -n命令外,還可以使用ip route
1 2 3 4 5 6 7 8 9 10 11 12 |
|
----------------------------------------例項1--------------------------------------------
如上圖所示,PC0機器和PC1機器之間經過兩個路由器,要想使這兩臺機器通訊,路由設定如下:
1)Route0路由器設定:
1 2 3 |
|
2)Route1路由器設定:
1 2 3 |
|
----------------------------------------例項2--------------------------------------------
如上圖所示,使用A主機192.168.1.2能夠ping通E主機192.168.4.2,這兩臺機能夠通訊。
操作思路:
1)在主機B上設定預設路由下一跳為192.168.2.2,並開啟路由轉發功能;
2)在主機C上設定2條靜態路由,分別去192.168.1.0/24網段的下一跳為192.168.2.1,去192.168.4.0/24網段的下一跳為192.168.3.2,並開啟路由轉發功能;
3)在主機D上設定預設路由下一跳為192.168.3.1,並開啟路由轉發功能。
操作記錄:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|