組網圖形
策略路由簡介
- 傳統的路由轉發原理是首先根據報文的目的地址查找路由表,然后進行報文轉發。但是目前越來越多的用戶希望能夠在傳統路由轉發的基礎上根據自己定義的策略進行報文轉發和選路。策略路由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