1. 程式人生 > >Linux的路由和策略路由

Linux的路由和策略路由

1、 Linux路由的配置 IP Route

   Linux最多可以支援255張路由表,其中有3張表是內建的:

  表255 本地路由表(Local table)本地介面地址,廣播地址,已及NAT地址都放在這個表。該路由表由系統自動維護,管理員不能直接修改。

  表254 主路由表(Main table)如果沒有指明路由所屬的表,所有的路由都預設都放在這個表裡,一般來說,舊的路由工具(如route)所新增的路由都會加到這個表。一般是普通的路由。

  表253 預設路由表(Default table)一般來說預設的路由都放在這張表,但是如果特別指明放的也可以是所有的閘道器路由。

  表 0

保留

  路由配置命令的格式如下:

  ip route list ( table 【 main | local | default | route_id數字 】 )  檢視路由表

  ip route 【 change | del | add | append | replace | monitor 】 ROUTE (table 【 main | local | default | route_id數字 】) 增刪改 

               例如新增路由可以用: ip route add 0/0 via 192.168.0.4 table main     --向主路由表(main table
)即表254新增一條路由,路由的內容是設定192.168.0.4成為閘道器。

  ip route add 192.168.3.0/24 via 192.168.0.3 table 1  

  --向路由表1新增一條路由,子網192.168.3.0(子網掩碼是255.255.255.0)的閘道器是192.168.0.3

2、Linux策略路由

 策略路由 是指對於IP包的路由是以網路管理員根據需要定下的一些策略為主要依據進行路由的。例如我們可以配置這樣的策略路由:“所有來直自網A的包,選擇X路徑;其他選擇Y路徑”,或者是“所有TOSA的包選擇路徑F;其他選者路徑K”

 Linux是在核心2.1

開始採用策略性路由機制的。策略性路由機制與傳統的路由演算法相比主要是引入了上面的多路由表以及規則的概念。

 要配置一個策略路由有2步:

 1、在自定義路由表中新增要走的路由  ip route add xxx table table_num

 2、增加策略,使得符合該策略的流量走第一步所定義的路由表 ip rule add 策略 【table tablenum 或 動作】

 Linux裡,總共可以定義232個優先順序的規則,一個優先級別只能有一條規則,其中有3個規則是預設的,優先級別越高的規則越先匹配(數值越小優先級別越高)。

2.1 規則的配置命令

 ip rule [ list | add | del ] SELECTOR ACTION

 說明:

  SELECTOR = 【 from PREFIX | to PREFIX | tos TOS | dev STRING | pref NUMBER 】

  ACTION  = 【 table TABLE_ID | nat ADDRESS | prohibit | reject | unreachable | flowid CLASSID 】

  TABLE_ID = 【 local | main | default | new | NUMBER 】 

  例子:

 # ip rule list    【系統預設的三條路由策略】

 0: from all lookup local

 32766: from all lookup main

 32767: from all lookup default 

 ip rule add from 0/0 table 1 pref 32800  --向規則鏈增加一條規則,規則匹配的物件是所有的資料包,動作是選用路由表1的路由,這條規則的優先順序是32800

 ip rule add from 192.168.3.112/32 tos 0x10 table 2pref 1500      將向規則鏈增加一條規則,規則匹配的物件是IP192.168.3.112tos等於0x10的包,動作是使用路由表2,這條規則的優先順序是1500

 ip rule add from 192.168.3.112/32 tos 0x10 prohibit  pref 1500     將向規則鏈增加一條規則,規則匹配的物件是IP192.168.3.112tos等於0x10的包,動作是丟棄報文併發送 COMM.ADM.PROHIITEDICMP資訊這條規則的優先順序是1500

 ip rule add from 192.168.3.112/32 tos 0x10 reject  pref 1500       將向規則鏈增加一條規則,規則匹配的物件是IP192.168.3.112tos等於0x10的包,動作是單純丟棄報文,這條規則的優先順序是1500

 ip rule add from 192.168.3.112/32 tos 0x10 unreachable pref 1500       將向規則鏈增加一條規則,規則匹配的物件是IP192.168.3.112tos等於0x10的包,動作是丟棄該包併發送 NET UNREACHABLEICMP資訊,這條規則的優先順序是1500

2.2 策略路由的作用

1 基於源地址選路( Source-Sensitive Routing)
2 根據服務級別選路( Quality of Service)
3 節省費用的應用
4 負載平衡(Load Sharing)