如下圖,網絡需求是,當網絡正常時,從192.168.45.1/24發往Server的流量被R3轉發到R1,從192.168.46.1/24發往Server的流量被R3轉發到R2,從而實現數據分流,提高帶寬利用率。另外當R1發生故障時,要求從192.168.45.1/24發往Server的流量能夠自動切換到R2,同理當R2發生故障時,從192.168.46.1/24發往Server的流量能夠自動切換到R1。要實現如上需求,就需要在R3上部署PBR。
R3的PBR配置思路主要如下:
- 首先創建acl3001,使用該acl匹配source pc1 192.168.45.0/24用户發往Server的流量,再創建acl3002,使用該acl匹配source pc2 192.168.46.0/24用户發往Server的流量。
- 然後定義兩個流分類:c1及c2,分別調用ACL3001及acl3002。
- 接着定義兩個流行為:be1及be2,分別配置將報文重定向到192.168.13.1(R1)及192.168.23.2(R2)。
- 再定義一個流策略:mypolicy,將流分類c1與流行為be1綁定,將流分類c2與流行為be2綁定。
- 最後將流策略mypolicy應用再GE0/0/0的入方向。
相關配置如下:
LSW9:
<LSW9>system-view
Enter system view, return user view with Ctrl+Z.
[LSW9]vlan batch 39 19 29 //批量創建vlan 39 19 29
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW9]interface Vlanif 39 //進入vlanif接口
[LSW9-Vlanif39] ip address 192.168.39.254 255.255.255.0
[LSW9-Vlanif39]q
[LSW9]interface g0/0/3
[LSW9-GigabitEthernet0/0/3]port link-type access //將鏈路類型定為access
[LSW9-GigabitEthernet0/0/3]port default vlan 39 //將接口劃分到相應vlan
[LSW9-GigabitEthernet0/0/3]q
[LSW9]interface Vlanif 19
[LSW9-Vlanif19] ip address 192.168.19.9 255.255.255.0
[LSW9-Vlanif19]q
[LSW9]int g0/0/1
[LSW9-GigabitEthernet0/0/1]port link-type trunk
[LSW9-GigabitEthernet0/0/1]port trunk allow-pass vlan 19
[LSW9-GigabitEthernet0/0/1]port trunk pvid vlan 19
[LSW9-GigabitEthernet0/0/1]q
[LSW9]interface Vlanif 29
[LSW9-Vlanif29]ip address 192.168.29.9 255.255.255.0
[LSW9-Vlanif29]q
[LSW9]int g0/0/2
[LSW9-GigabitEthernet0/0/2]port link-type trunk
[LSW9-GigabitEthernet0/0/2]port trunk allow-pass vlan 29
[LSW9-GigabitEthernet0/0/2]port trunk pvid vlan 29
[LSW9-GigabitEthernet0/0/2]q
[LSW9]rip 1 //創建並進入rip 1
[LSW9-rip-1]version 2 //選擇版本號 2
[LSW9-rip-1]network 192.168.39.0 //宣告相應網段
[LSW9-rip-1]network 192.168.19.0
[LSW9-rip-1]network 192.168.29.0
[LSW9-rip-1]
AR1:
<AR1>sys
Enter system view, return user view with Ctrl+Z.
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.19.1 255.255.255.0
[AR1-GigabitEthernet0/0/0]rip 1
[AR1-rip-1]version 2
[AR1-rip-1] network 192.168.19.0
[AR1-rip-1]
AR2:
<AR2>sys
Enter system view, return user view with Ctrl+Z.
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip address 192.168.29.2 255.255.255.0
[AR1-GigabitEthernet0/0/0]rip 1
[AR1-rip-1]version 2
[AR1-rip-1] network 192.168.29.0
[AR1-rip-1]
至此,rip區域已經可以互通。
AR3:
<AR3>system-view
Enter system view, return user view with Ctrl+Z.
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0] ip address 192.168.34.3 255.255.255.0
[AR3-GigabitEthernet0/0/0]q
[AR3]ospf 1 router-id 3.3.3.3 //創建並進入ospf1進程
[AR3-ospf-1]area 0 //進入區域0
[AR3-ospf-1-area-0.0.0.0]network 192.168.34.3 0.0.0.0 //宣告相應網段
LSW4:
<LSW4>sys
Enter system view, return user view with Ctrl+Z.
[LSW4]vlan batch 34 45 46
Info: This operation may take a few seconds. Please wait for a moment...done.
[LSW4]interface Vlanif 34
[LSW4-Vlanif34] ip address 192.168.34.4 255.255.255.0
[LSW4-Vlanif34]q
[LSW4]int g0/0/10
[LSW4-GigabitEthernet0/0/10]port link-type trunk
[LSW4-GigabitEthernet0/0/10]port trunk allow-pass vlan 34
[LSW4-GigabitEthernet0/0/10]port trunk pvid vlan 34 //將接口pvid改為相應vlan
[LSW4-GigabitEthernet0/0/10]q
[LSW4]interface Vlanif 45
[LSW4-Vlanif45] ip address 192.168.45.254 255.255.255.0
[LSW4-Vlanif45]q
[LSW4]int g0/0/1
[LSW4-GigabitEthernet0/0/1]port link-type access
[LSW4-GigabitEthernet0/0/1]port default vlan 45
[LSW4-GigabitEthernet0/0/1]q
[LSW4]interface Vlanif 46
[LSW4-Vlanif46]ip address 192.168.46.254 255.255.255.0
[LSW4-Vlanif46]q
[LSW4]int g0/0/2
[LSW4-GigabitEthernet0/0/2]port link-type access
[LSW4-GigabitEthernet0/0/2]port default vlan 46
[LSW4-GigabitEthernet0/0/2]q
[LSW4]ospf 1 router-id 4.4.4.4
[LSW4-ospf-1]area 0
[LSW4-ospf-1-area-0.0.0.0]network 192.168.34.4 0.0.0.0
[LSW4-ospf-1-area-0.0.0.0]network 192.168.45.254 0.0.0.0
[LSW4-ospf-1-area-0.0.0.0]network 192.168.46.254 0.0.0.0
[LSW4-ospf-1-area-0.0.0.0]
至此ospf區域已經可以互通。
R3PBG關鍵配置如下:
現在需要在ar3上配置兩條默認路由,分別指向兩台出口設備:
ip route-static 0.0.0.0 0.0.0.0 192.168.13.1
ip route-static 0.0.0.0 0.0.0.0 192.168.23.2
#配置兩個acl,分別用於匹配源pc1與源pc2發往server的流量
[AR3]acl 3001
[AR3-acl-adv-3001]rule 5 permit ip source 192.168.45.0 0.0.0.255 destination 192
.168.39.0 0.0.0.255
[AR3-acl-adv-3001]q
[AR3]acl 3002
[AR3-acl-adv-3002]rule permit ip source 192.168.46.0 0.0.0.255 destination 192.
168.39.0 0.0.0.255
[AR3-acl-adv-3002]
#配置兩個流分類,在這兩個流分類中分別調用已經定義好兩個的acl:
[AR3]traffic classifier c1 //配置流分類
[AR3-classifier-c1] if-match acl 3001 //調用acl
[AR3-classifier-c1]q
[AR3]traffic classifier c2
[AR3-classifier-c2]if-match acl 3002
[AR3-classifier-c2]
#定義兩個流行為,分別設置重定向的下一跳ip地址為r1及r2:
[AR3]traffic behavior be1 //定義流行為be1
[AR3-behavior-be1]redirect ip-nexthop 192.168.13.1 //使改變下一跳的地址為此地址
[AR3-behavior-be1]quit
[AR3]traffic behavior be2
[AR3-behavior-be2]redirect ip-nexthop 192.168.23.2
[AR3-behavior-be2]
#定義一個流策略,將上述流分類與流行為進行綁定:
[AR3]traffic policy mypolicy //定義一個流策略
[AR3-trafficpolicy-mypolicy]classifier c1 behavior be1 //將相應的流分類和流行為進行綁定
[AR3-trafficpolicy-mypolicy]classifier c2 behavior be2
#將定義好的流策略應用在R3的g0/0/0接口的入方向:
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0] traffic-policy mypolicy inbound //將流策略應用在此接口的入方向上
此時,重要配置已經完成,但是pc1此時和server還不能互通,因為缺少默認路由,直連路由,靜態路由的引入。
各種路由補充如下:
在rip中,由於r1和r2的下聯接口並沒有公佈到rip中,所以server缺少到此路段的路由,通過路由重定向的方法將此直連引入到rip中。
lsw9要想訪問pc1,pc2還缺少默認路由,必須將其配置。
r1和r2要想訪問pc1,pc2也必須有默認路由。
在ospf中,由於ar3的上聯接口並沒有公佈到ospf中,所以pc1,pc2缺少到該路段的路由,通過路由重定向的方法將此引入到rip中。
lsw4及ar3要想訪問server也必須有默認路由。
文章一開始定義了兩條默認路由
ip route-static 0.0.0.0 0.0.0.0 192.168.13.1
ip route-static 0.0.0.0 0.0.0.0 192.168.23.2
也必須將其引入到ospf中。
路由引入過程省略。。。
至此,所有配置已經完成,測試如下。
pc1訪問server,抓包如下,左為ar3的g0/0/1口,右為ar3的g0/0/2口,可以看到數據走的是左。
pc2訪問server,抓包如下,左為ar3的g0/0/1口,右為ar3的g0/0/2口,可以看到數據走的是右。
ok目的達成,實驗結束。