組網圖形
策略路由簡介
- 傳統的路由轉發原理是首先根據報文的目的地址查詢路由表,然後進行報文轉發。但是目前越來越多的使用者希望能夠在傳統路由轉發的基礎上根據自己定義的策略進行報文轉發和選路。策略路由PBR(Policy-Based Routing)就是一種依據使用者制定的策略進行資料轉發的機制。
- 在S系列交換機上,策略路由通過重定向實現,通過配置策略路由可以將到達介面的符合流分類規則的三層報文重定向到指定的下一跳地址。
- 在某些需要指定特定的資料流走特定的下一跳的場景下可以使用策略路由實現,例如使不同的資料流通過不同的鏈路進行傳送,提高鏈路的利用效率;將資料流引流到防火牆等安全裝置,進行安全過濾;在滿足業務服務質量的前提下,選擇費用較低的鏈路傳輸業務資料,從而降低企業資料服務的成本。
組網需求
- 如圖1所示,公司使用者通過Switch雙歸屬到外部網路裝置。其中,一條是高速鏈路,閘道器為10.1.20.1/24;另外一條是低速鏈路,閘道器為10.1.30.1/24。
- 公司內網有兩個網段192.168.1.0/24和192.168.2.0/24。192.168.1.0/24網段主要是伺服器區,對鏈路頻寬要求比較高,所以網管決定該網段走高速鏈路出去;剩餘的192.168.2.0/24網段主要用作公司員工上網,上網的話只能走低速鏈路出去。
配置思路
- 1.建立VLAN並配置各介面,配置路由實現公司和外部網路互通。
- 2.配置ACL規則,分別匹配192.168.1.0和192.168.2.0網段的資料流。
- 3.配置流分類,匹配規則為上述ACL規則,使裝置可以對報文進行區分。
- 4.配置流行為,使滿足不同ACL規則的資料流走不同的鏈路,需要注意先把內網互訪的資料流放行。
- 5.配置流策略,繫結上述流分類和流行為,並應用到Switch裝置的GE0/0/3介面的入方向,實現策略路由。
操作步驟
- 1.建立VLAN並配置各介面,實現基本的互聯互通
# 在SwitchA上建立VLAN10和VLAN20。
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] vlan batch 10 20
# 配置SwitchA各介面的所屬VLAN,連線終端PC的介面配置為Access型別,連線Switch的介面配置為Trunk型別。
[SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] port link-type access [SwitchA-GigabitEthernet0/0/1] port default vlan 10 [SwitchA-GigabitEthernet0/0/1] quit [SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] port link-type access [SwitchA-GigabitEthernet0/0/2] port default vlan 20 [SwitchA-GigabitEthernet0/0/2] quit [SwitchA] interface gigabitethernet 0/0/3 [SwitchA-GigabitEthernet0/0/3] port link-type trunk [SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20 [SwitchA-GigabitEthernet0/0/3] quit
# 在Switch上建立VLAN10、VLAN20、VLAN100、VLAN200。
<HUAWEI> system-view [HUAWEI] sysname Switch [Switch] vlan batch 10 20 100 200
# 配置Switch各介面的所屬VLAN,連線SwitchA的介面配置為Trunk型別,連線外部網路裝置的介面配置為Access型別。
[Switch] interface gigabitethernet 0/0/1 [Switch-GigabitEthernet0/0/1] port link-type access [Switch-GigabitEthernet0/0/1] port default vlan 100 [Switch-GigabitEthernet0/0/1] quit [Switch] interface gigabitethernet 0/0/2 [Switch-GigabitEthernet0/0/2] port link-type access [Switch-GigabitEthernet0/0/2] port default vlan 200 [Switch-GigabitEthernet0/0/2] quit [Switch] interface gigabitethernet 0/0/3 [Switch-GigabitEthernet0/0/3] port link-type trunk [Switch-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20 [Switch-GigabitEthernet0/0/3] quit
# 在Switch上配置VLANIF10和VLANIF20作為使用者閘道器,並配置IP地址分別為192.168.1.1/24和192.168.2.1/24。
[Switch] interface vlanif 10 [Switch-Vlanif10] ip address 192.168.1.1 24 [Switch-Vlanif10] quit [Switch] interface vlanif 20 [Switch-Vlanif20] ip address 192.168.2.1 24 [Switch-Vlanif20] quit
# 在Switch上配置VLANIF100和VLANIF200用於和外部網路裝置互聯,並配置IP地址分別為10.1.20.2/24和10.1.30.2/24。
[Switch] interface vlanif 100 [Switch-Vlanif100] ip address 10.1.20.2 24 [Switch-Vlanif100] quit [Switch] interface vlanif 200 [Switch-Vlanif200] ip address 10.1.30.2 24 [Switch-Vlanif200] quit
# 在Switch上配置兩條預設路由,下一跳分別指向兩個外部網路裝置。
[Switch] ip route-static 0.0.0.0 0 10.1.20.1 [Switch] ip route-static 0.0.0.0 0 10.1.30.1
完成以上配置步驟以後,內網能夠正常訪問外網了,但是不能保證192.168.1.0/24網段使用者的資料走高速鏈路,192.168.2.0/24網段的資料走低速鏈路,要實現這個需求需要繼續完成下面的配置步驟。
- 2.配置ACL規則
# 在Switch上建立編碼為3000、3001、3002的高階ACL。
[Switch] acl 3000 //主要用於匹配內網兩個網段之間互訪的資料流,這部分資料流不需要做重定向,如果不配置這一步會導致內網之間互訪的流量也被重定向,從而導致內網互訪不通。 [Switch-acl-adv-3000] rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 [Switch-acl-adv-3000] rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 Switch-acl-adv-3000] quit [Switch] acl 3001 //匹配內網192.168.1.0/24網段的使用者資料流 [Switch-acl-adv-3001] rule permit ip source 192.168.1.0 0.0.0.255 [Switch-acl-adv-3001] quit [Switch] acl 3002 //匹配內網192.168.2.0/24網段的使用者資料流 [Switch-acl-adv-3002] rule permit ip source 192.168.2.0 0.0.0.255 [Switch-acl-adv-3002] quit
- 3.配置流分類
在Switch上建立流分類c0、c1、c2,匹配規則分別為ACL 3000、ACL 3001和ACL 3002。
[Switch] traffic classifier c0 operator or [Switch-classifier-c0] if-match acl 3000 [Switch-classifier-c0] quit [Switch] traffic classifier c1 operator or [Switch-classifier-c1] if-match acl 3001 [Switch-classifier-c1] quit [Switch] traffic classifier c2 operator or [Switch-classifier-c2] if-match acl 3002 [Switch-classifier-c2] quit
- 4.配置流行為
# 在Switch上建立流行為b0、b1、b2,對於b0只配置permit的動作,對於b1和b2分別指定重定向到10.1.20.1和10.1.30.1的動作。
[Switch] traffic behavior b0 [Switch-behavior-b0] permit [Switch-behavior-b0] quit [Switch] traffic behavior b1 [Switch-behavior-b1] redirect ip-nexthop 10.1.20.1 [Switch-behavior-b1] quit [Switch] traffic behavior b2 [Switch-behavior-b2] redirect ip-nexthop 10.1.30.1 [Switch-behavior-b2] quit
- 5.配置流策略並應用到介面上
# 在Switch上建立流策略p1,將流分類和對應的流行為進行繫結。
[Switch] traffic policy p1 [Switch-trafficpolicy-p1] classifier c0 behavior b0 [Switch-trafficpolicy-p1] classifier c1 behavior b1 [Switch-trafficpolicy-p1] classifier c2 behavior b2 [Switch-trafficpolicy-p1] quit
# 將流策略p1應用到Switch的GE0/0/3的入方向上。
[Switch] interface gigabitethernet 0/0/3 [Switch-GigabitEthernet0/0/3] traffic-policy p1 inbound [Switch-GigabitEthernet0/0/3] return
- 6.驗證配置結果
# 檢視ACL規則的配置資訊。
<Switch> display acl 3000 Advanced ACL 3000, 2 rule Acl's step is 5 rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 (match-counter 0) rule 10 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 (match-counter 0)
<Switch> display acl 3001 Advanced ACL 3001, 1 rule Acl's step is 5 rule 5 permit ip source 192.168.1.0 0.0.0.255 (match-counter 0)
<Switch> display acl 3002 Advanced ACL 3002, 1 rule Acl's step is 5 rule 5 permit ip source 192.168.2.0 0.0.0.255 (match-counter 0)
# 檢視流分類的配置資訊。
<Switch> display traffic classifier user-defined User Defined Classifier Information: Classifier: c2 Operator: OR Rule(s) : if-match acl 3002 Classifier: c0 Operator: OR Rule(s) : if-match acl 3000 Classifier: c1 Operator: OR Rule(s) : if-match acl 3001 Total classifier number is 3
# 檢視流策略的配置資訊。
<Switch> display traffic policy user-defined p1 User Defined Traffic Policy Information: Policy: p1 Classifier: c0 Operator: OR Behavior: b0 Permit Classifier: c1 Operator: OR Behavior: b1 Permit Redirect: no forced Redirect ip-nexthop 10.1.20.1 Classifier: c2 Operator: OR Behavior: b2 Permit Redirect: no forced Redirect ip-nexthop 10.1.30.1