Cisco交換機策略路由

【轉自】https://blog.csdn.net/kkfloat/article/details/39940623 html

1.概念網絡

  1)策略路由(PBR)是一種比基於目標網絡進行路由更加靈活的數據包路由轉發機制。路由器將經過路由圖決定如何對須要路由的數據包進行處理,路由圖決定了一個數據包的下一跳轉發路由器。session

  在路由器轉發一個數據報文時,首先根據配置的規則對報文進行過濾,匹配成功則按照必定的轉發策略進行報文轉發。這種規則能夠是基於標準和擴展訪問控制列表,也能夠基於報文的長度;負載均衡

  而轉發策略則是控制報文按照指定的策略路由表進行轉發,也能夠修改報文的IP優先字段,策略路由也能夠在必定程度上實現流量工程,使不一樣服務質量的流或者不一樣性質的數據(語音、FTP)走不一樣的路徑,post

  所以,策略路由是對傳統IP路由機制的有效加強。  加密

  2)應用策略路由,必需要指定策略路由使用的路由映射,而且要建立路由映射。一個路由映射由不少條策略組成,每一個策略都定義了1個或多個的匹配規則和對應操做。一個接口應用策略路由後,spa

  將對該接口接收到的全部包進行檢查,不符合路由映射任何策略的數據包將按照一般的路由轉發進行處理,符合路由映射中某個策略的數據包就按照該策略中定義的操做進行處理。策略路由對報文的發送接口、下一跳的配置是基於多轉發表實現的。.net

  routemap和ACL很相似,它能夠用於路由的再發布和策略路由,還常用在BGP中.策略路由(policyroute)其實是複雜的靜態路由,靜態路由是基於數據包的目標地址並轉發到指定的下一跳路由器,htm

  策略路由還利用和擴展IPACL連接,這樣就能夠提供更多功能的過濾和分類 。對象

2.策略路由的特色:

  1)策略路由比全部路由的級別都高,其中包括直連路由。

  2)策略路由是轉發層面的行爲,操做的對象是數據包,匹配的是數據流,具體是指數據包中的各個字段:源IP、目標IP、協議、源端口、目標端口、802.1p優先級 、VLANID 源/目的MAC地址、IP優先級 、DSCP的優先級 、IP的協議類型字段

  3)爲QoS服務。使用route-map及策略路由能夠根據數據包的特徵修改其相關QoS項,進行爲QoS服務。

  4)負載平衡。使用策略路由能夠設置數據包的行爲,好比下一跳、下一接口等,這樣在存在多條鏈路的狀況下,能夠根據數據包的應用不一樣而使用不一樣的鏈路,進而提供高效的負載平衡能力。

    策略路由影響的只是本地的行爲,因此可能會引發「不對稱路由」形式的流量。好比一個單位有兩條上行鏈路A與B,該單位想把全部HTTP流量分擔到A鏈路,FTP流量分擔到B鏈路,這是沒有問題的,

    但在其上行設備上,沒法保證下行的HTTP流量分擔到A鏈路,FTP流量分擔到B鏈路。

  5)策略路由通常針對的是接口入(in)方向的數據包,但也可在啓用相關配置的狀況下對本地所發出的數據包也進行策略路由。

3.策略路由的種類:

  1)根據路由的目的地址來進行的策略稱爲:目的地址路由;

  2)根據路由源地址來進行策略實施的稱爲:源地址路由!

  3)智能均衡的策略方式!就是多條線路不論是光纖仍是ADSL,都能自動的識別,而且自動的採起相應的策略方式,是策略路由的發展趨勢
4.CEF的兩種負載均衡方式:

  1)基於每一個會話的負載均衡(per-session load sharing):基於每一個會話的負載均衡容許路由器使用多條路徑分發流量。對於一個給定的源—目的主機對,即便有多條路徑可用,路由器也會保證該會話的數據包走相同的路徑。

  不一樣的會話採用不一樣的路徑,使用負載均衡,基於每一個會話的負載均衡再激活CEF的時候缺省的也被激活。因爲基於每一個會話的負載均衡依賴於流量的統計分發,於是在會話數增長的狀況下更有效率。

  基於每一個會話的負載均衡可以確保導向給定的源—目的對的數據包按序到達,由於導向相同主機對的全部數據包都被路由到相同的鏈路上。

  2)基於每一個數據包的負載均衡基於每一個數據包的負載均衡使得路由器能夠把連續的數據包發送到不一樣的路徑上,而沒必要關心個別的主機或用戶會話,使用輪轉的方法來肯定每個數據包選擇哪條路徑到達目的地。

  當大量數據經過單個會話的多條並行鏈路時,基於每一個數據包的負載均衡顯得更加有效。在這種狀況下,基於每一個會話的負載均衡將會過載其中一條鏈路,而其餘鏈路幾乎沒有什麼流量。

  但基於每一個數據包的負載均衡會致使針對某一個會話來講,數據包可能走不一樣的路徑,這會引發數據包的從新排序,對於某些數據流量類型來講是不合適的,必須對於IP語音流量來講。

  當啓用基於數據包的負載均衡功能時,必須先禁用基於目的地的負載均衡功能。爲了禁用基於目的地的負載均衡功能,能夠在接口配置模式下,no ip load-sharing per-destination;

  使用基於數據包的負載均衡,路由器能夠在路徑上連續發送數據包,而不用考慮具體的主機或用戶狀況。這種負載均衡機制採用輪轉辦法來肯定每一個數據包採用哪條路徑到達目的地。

  基於數據包的負載均衡能夠保證在多條鏈路上進行負載均衡。要啓用基於數據包的負載均衡功能,能夠在接口配置模式下,ip load-sharing per-packet;爲CEF配置網絡記帳功能,

  啓用收集被快速轉發到某個目的地的數據包個數和字節數ip cef accounting per-prefix啓用收集經過某個目的地被快速轉發的數據包的個數ip cef accounting non-recursive在全局配置模式中爲CEF啓用網絡記帳功能後,

  相應的路由處理器會收集記帳信息。當用戶爲CEF啓用網絡記帳功能後,線路卡上會收集記賬信息。查看網絡記賬信息 show ip cef。

建議使用每會話的負載均衡,由於若是每包的負載均衡會出現包的順序出錯,致使應用沒法打開。同時會出現不一樣IP同時登錄同一個應用而遭受拒絕例如:加密、HTTPS,網銀,QQ等
5.路由重分發的相關命令

  match interface {type number} […type number]:匹配指定的下一跳路由器的接口的路由

  match ip address {ACL number|name} […ACL number|name]:匹配ACL所指定的目標IP地址或網段的路由

  match ip next-hop {ACL number|name} […ACL number|name]:匹配ACL所指定的下一跳路由器地址的路由

  match ip route-source {ACL number|name} […ACL number|name]:匹配ACL所指定的路由器所宣告的路由

  match metric {metric-value}://匹配指定metric大小的路由

  match route-type {internal|external[type-1|type-2]|level-1|level-2}:匹配指定的OSPF,EIGRP或IS-IS的路由類型的路由

  match tag {tag-value} […tag-value]:匹配帶有標籤(tag)的路由

  set level {level-1|level-2|level-1-2|stub-area|backbone}:設置IS-IS的Level,或OSPF的區域,匹配成功的路由將被再發布到該區域

  Set metric {metric-value|bandwidth delay RELY load MTU}:爲匹配成功的路由設置metric大小

  set metric-type {internal|external|type-1|type-2}:爲匹配成功的路由設置metric的類型,該路由將被再發布到OSPF或IS-IS 1

  set next-hop {next-hop}:爲匹配成功的路由指定下一跳地址

  set tag {tag-value}:爲匹配成功的路由設置標籤
6.策略路由的相關命令  

  match ip address {ACL number|name} […ACL number|name]:匹配ACL所指定的目標IP地址或網段的路由

  match length {min} {max}://匹配第3層的數據包的長度

  set default interface {type number} […type number]://先查詢路由表,在找不到精確匹配的路由條目時,才轉發數據包到default語句指定的下一跳接口

  set interface {type number} […type number]://首先檢查策略路由,不符合策略後使用路由表進行數據包轉發處理

  set ip default next-hop {ip-address} […ip-address]://先查詢路由表,在找不到精確匹配的路由條目時,就轉發數據包到下一跳IP

  set ip next-hop ip-address {ip-address}://首先檢查策略路由,不符合策略後使用路由表進行數據包轉發處理

  set ip precedence {precedence}:爲匹配成功的IP數據包設置服務類型(Type of Service,ToS)的優先級

  set ip tos {tos}:爲匹配成功的數據包設置服務類型的字段的TOS位

  route map是經過名字來標識的,每一個route map都包含許可或拒絕操做。關於拒絕操做,是依賴於route map是使用在路由的重發布環境仍是策略路由環境中, 若是是在策略路由中匹配失敗(拒絕),那麼數據包將按正常方式轉發;

  若是是用於路由再發布,而且匹配失敗(拒絕),那麼路由將不會被再發布 若是數據包沒有找到任何匹配,和ACL同樣,route map末尾也有個默認的隱含拒絕全部的操做, 若是route map的陳述中沒有match語句,

  那麼默認的操做是匹配全部的數據包和路由;每一個 route map還有一個序列號,序列號在沒有給出的狀況下默認是10,序列號用於區分每個route map statement,經過這個序列號參數你能夠在一個route map的特定位置插入或刪除一條route map statement,

  而且能夠單獨的編輯它。一個route map能夠包含多個route map statement,序列號參數決定了進行條件匹配的順序。只有序列號爲10的語句沒有匹配,纔會檢查序列號爲20的語句才被檢查。

  route map容許有多個match和set陳述,一個match語句能夠包含多個條件。在匹配的時候,從上到下,若是匹配成功,將再也不和後面的陳述進行匹配,指定操做將被執行。若是一個條件爲真,則認爲這個條件匹配;

  然而,必須全部的條件都匹配,才認爲這個route mapstatement匹配。Set能夠定義當匹配語句知足時,數據包如何經過路由器進行轉發

7.配置路由策略要注意:

  配置一個路由圖,在同一個接口上屢次配置路由圖會相互覆蓋。

  在使用策略路由時,每一個子路由圖建議只配置一個ACL;

  若是配置的子路由圖中只有nexthop而沒有配置ACL,則等價於全部報文都匹配;

  若是子路由圖中只有ACL而沒有nexthop則匹配的報文普通轉發; 

  若是子路由圖中即沒有ACL也沒有nexthop,則等價全部報文普通轉發。 

  若是配置了ACL號可是該ACL不存在,等價全部報文都匹配
8.實例

  1)核心交換機上聯有2臺防火牆,其中一臺走互聯網,一臺專門用於接IPSec。現要實現某一內網vlan使用單獨的一個公網IP。

  因爲走互聯網的防火牆不能實現,故使用另外一臺。此時,需在覈心交換機上配置PBR。

    1)定義訪問控制列表    

    access-list 2000 permit ip 10.11.50.0 0.0.0.255 any    
    access-list 2001 permit ip 10.11.50.0 0.0.0.255 10.11.0.0 0.0.255.255    #50段訪問內網

    2)定義route-map    

    route-map 50duan permit 10
    match ip address 2001
    #容許50段訪問內網且不改變其nexthop
    route-map 50duan permit 20
    match ip address 2000
    set ip next-hop 10.11.31.1

    #50duan訪問其餘網絡將使用10.11.31.1做爲下一跳

    3)應用到50段的網關    

    interface Vlan50    ip address 10.11.50.254 255.255.255.0    ip access-group 150 out    ip helper-address 10.11.103.11    ip helper-address 10.11.103.12    ip policy route-map 50duan

相關文章
相關標籤/搜索