• Admin

Path Control Using PBR



1. ทำการ Check Pre-Configure ของ R1, R2, R3 และ R4 พร้อมทั้ง Check ความพร้อมต่างๆ

2. ทำการตรวจสอบเส้นทาง path ใน Routing Table ปัจจุบัน

3. ทำการ Configure PBR to provide path control



1. ทำการ Check Pre-Configure ของ R1, R2, R3 และ R4 พร้อมทั้ง Check ความพร้อมต่างๆ


1.1. ที่ Router R1



R1#show running-config
 
!
hostname R1
!
interface Loopback1
 description R1 LAN
 ip address 192.168.1.1 255.255.255.0
!
interface Ethernet0/0
 description R1 --> R2
 ip address 172.16.12.1 255.255.255.248
 bandwidth 2000
!
interface Ethernet0/1
 description R1 --> R3
 ip address 172.16.13.1 255.255.255.248
 bandwidth 1000
!
!
router eigrp 1
 network 172.16.12.0 0.0.0.7
 network 172.16.13.0 0.0.0.7
 network 192.168.1.0
!
end
 
R1#end
 
R1#show ip interface brief | include up
 
Ethernet0/0 172.16.12.1 YES manual up  up
Ethernet0/1 172.16.13.1 YES manual up up
Loopback1 192.168.1.1 YES manual up up
R1#
 
 
R1#show interfaces description | include up
 
Et0/0 up  up R1 --> R2
Et0/1 up up R1 --> R3
Lo1 up up R1 LAN
 
R1#show ip eigrp neighbors
 
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface  Hold Uptime SRTT RTO Q Seq
 (sec) (ms) Cnt Num
1 172.16.13.3 Et0/1 11 00:05:57 5 100 0 9     ---> Router R3
0 172.16.12.2 Et0/0  13 00:06:28 7 100 0 10    ---> Router R2
 
R1#show ip route eigrp
 
 172.16.0.0/16 is variably subnetted, 6 subnets, 2 masks
D 172.16.23.0/29 [90/1331200] via 172.16.12.2, 00:03:36, Ethernet0/0
D 172.16.34.0/29 [90/2611200] via 172.16.13.3, 00:02:33, Ethernet0/1
D 192.168.2.0/24 [90/1433600] via 172.16.12.2, 00:03:36, Ethernet0/0
D 192.168.3.0/24 [90/1459200] via 172.16.12.2, 00:03:36, Ethernet0/0
 192.168.4.0/25 is subnetted, 2 subnets
D 192.168.4.0 [90/2739200] via 172.16.13.3, 00:02:33, Ethernet0/1 
D 192.168.4.128 [90/2739200] via 172.16.13.3, 00:02:33, Ethernet0/1
R1#

1.2. ที่ Router R2



R2#show running-config
 
hostname R2
!
interface Loopback2
 description R2 LAN
 ip address 192.168.2.1 255.255.255.0
!
interface Ethernet0/0
 description R2 --> R1
 ip address 172.16.12.2 255.255.255.248
 bandwidth 2000
!
interface Ethernet0/1
 description R2 --> R3
 ip address 172.16.23.2 255.255.255.248
 bandwidth 2000
!
!
!
router eigrp 1
 network 172.16.12.0 0.0.0.7
 network 172.16.23.0 0.0.0.7
 network 192.168.2.0
!
 
R2#end
 
R2#show ip interface brief | include up
 
Ethernet0/0 172.16.12.2 YES manual up up
Ethernet0/1 172.16.23.2 YES manual up up
Loopback2 192.168.2.1 YES manual up up
 
R2#show ip eigrp neighbors
 
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
 (sec) (ms) Cnt Num
1 172.16.23.3 Et0/1 10 00:12:46 16 100 0 10  ---> Router R3
0 172.16.12.1 Et0/0 13 00:13:17 821 4926 0 10  ---> Router R1

R2#
R2#show ip route eigrp
  
 172.16.0.0/16 is variably subnetted, 6 subnets, 2 masks
D 172.16.13.0/29 [90/2611200] via 172.16.23.3, 00:03:06, Ethernet0/1
 [90/2611200] via 172.16.12.1, 00:03:06, Ethernet0/0
D 172.16.34.0/29 [90/2611200] via 172.16.23.3, 00:03:06, Ethernet0/1
D 192.168.1.0/24 [90/1433600] via 172.16.12.1, 00:03:35, Ethernet0/0
D 192.168.3.0/24 [90/1433600] via 172.16.23.3, 00:03:35, Ethernet0/1
 192.168.4.0/25 is subnetted, 2 subnets
D 192.168.4.0 [90/2739200] via 172.16.23.3, 00:03:06, Ethernet0/1
D  192.168.4.128 [90/2739200] via 172.16.23.3, 00:03:06, Ethernet0/1
R2#
 

1.3. ที่ Router R3



R3#show running-config
 
!
hostname R3
!
!
interface Loopback3
 description R3 LAN
 ip address 192.168.3.1 255.255.255.0
!
interface Ethernet0/0
 description R3 --> R1
 ip address 172.16.13.3 255.255.255.248
 bandwidth 1000
!
interface Ethernet0/1
 description R3 --> R2
 ip address 172.16.23.3 255.255.255.248
 bandwidth 2000
!
interface Ethernet0/2
 description R3 --> R4
 ip address 172.16.34.3 255.255.255.248
 bandwidth 1000
!
!
router eigrp 1
 network 172.16.13.0 0.0.0.7
 network 172.16.23.0 0.0.0.7
 network 172.16.34.0 0.0.0.7
 network 192.168.3.0
!
End
 
R3#show ip interface brief | include up
 
Ethernet0/0 172.16.13.3 YES manual up  up
Ethernet0/1 172.16.23.3 YES manual up up
Ethernet0/2 172.16.34.3 YES manual up up
Loopback3 192.168.3.1 YES manual up up
 
R3#show ip eigrp neighbors
 
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime SRTT RTO Q Seq
 (sec) (ms) Cnt Num
2 172.16.34.4 Et0/2  13 00:18:05 2 100 0 3   ---> Router R4
1 172.16.23.2 Et0/1 13 00:18:20 16 100 0 9   ---> Router R2
0 172.16.13.1 Et0/0 13 00:18:20 1282 5000 0 9    ---> Router R1
 
R3#show ip route eigrp
 172.16.0.0/16 is variably subnetted, 7 subnets, 2 masks
D 172.16.12.0/29 [90/1331200] via 172.16.23.2, 00:03:32, Ethernet0/1
D 192.168.1.0/24 [90/1459200] via 172.16.23.2, 00:03:32, Ethernet0/1
D 192.168.2.0/24 [90/1433600] via 172.16.23.2, 00:03:32, Ethernet0/1
 192.168.4.0/25 is subnetted, 2 subnets
D 192.168.4.0 [90/2713600] via 172.16.34.4, 00:03:32, Ethernet0/2
D 192.168.4.128 [90/2713600] via 172.16.34.4, 00:03:32, Ethernet0/2
R3#

1.4. ที่ Router R4



R3#show running-config
!
hostname R4
!
interface Loopback4
 description R4 LAN A
 ip address 192.168.4.1 255.255.255.128
!
interface Loopback5
 description R4 LAN B
 ip address 192.168.4.129 255.255.255.128
!
interface Ethernet0/0
 description R4 --> R3
 ip address 172.16.34.4 255.255.255.248
 bandwidth 1000
!
router eigrp 1
 network 172.16.34.0 0.0.0.7
 network 192.168.4.0
!
 
End
 
R4#show ip interface brief | include up
 
Ethernet0/0 172.16.34.4 YES manual up up
Loopback4  192.168.4.1 YES manual up up
Loopback5 192.168.4.129 YES manual up up
 
R4#show ip eigrp neighbors
 
EIGRP-IPv4 Neighbors for AS(1)
H Address Interface Hold Uptime  SRTT RTO Q Seq
 (sec) (ms) Cnt Num
0 172.16.34.3 Et0/0 11 00:22:23 1600 5000 0 11    ---> Router R3
R4#
 
R4#show ip route eigrp
  
 172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
D 172.16.12.0/29 [90/2636800] via 172.16.34.3, 00:03:33, Ethernet0/0
D 172.16.13.0/29 [90/2611200] via 172.16.34.3, 00:03:57, Ethernet0/0
D 172.16.23.0/29 [90/2611200] via 172.16.34.3, 00:03:33, Ethernet0/0
D 192.168.1.0/24 [90/2764800] via 172.16.34.3, 00:03:33, Ethernet0/0
D 192.168.2.0/24 [90/2739200] via 172.16.34.3, 00:03:33, Ethernet0/0
D 192.168.3.0/24 [90/2713600] via 172.16.34.3, 00:03:33, Ethernet0/0


2. ทำการตรวจสอบเส้นทาง path หรือเส้นทางใน Routing Table ปัจจุบัน


ก่อนที่จะ configure PBR ให้ทำการตรวจสอบ routing table ของ router R1


2.1. บน router R1 ใช้คำสั่ง show ip route แล้วสังเกต next-hop IP address ของ network ทั้งหมดที่ EIGRP เจอ



R1#show ip route | begin Gateway
 
Gateway of last resort is not set
 
 172.16.0.0/16 is variably subnetted, 6 subnets, 2 masks
C 172.16.12.0/29 is directly connected, Ethernet0/0
L 172.16.12.1/32 is directly connected, Ethernet0/0
C 172.16.13.0/29 is directly connected, Ethernet0/1
L 172.16.13.1/32 is directly connected, Ethernet0/1
D 172.16.23.0/29 [90/1331200] via 172.16.12.2, 00:08:54, Ethernet0/0
D 172.16.34.0/29 [90/2611200] via 172.16.13.3, 00:07:51, Ethernet0/1
 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Loopback1
L 192.168.1.1/32 is directly connected, Loopback1
D 192.168.2.0/24 [90/1433600] via 172.16.12.2, 00:08:54, Ethernet0/0
D 192.168.3.0/24 [90/1459200] via 172.16.12.2, 00:08:54, Ethernet0/0
 192.168.4.0/25 is subnetted, 2 subnets
D 192.168.4.0 [90/2739200] via 172.16.13.3, 00:07:51, Ethernet0/1
D 192.168.4.128 [90/2739200] via 172.16.13.3, 00:07:51, Ethernet0/1
R1#

2.2. บน router R4 ใช้คำสั่ง traceroute ไปที่ LAN address ของ R1 โดยให้ source ICMP packet จาก LAN A (Interface Loopback4) และ LAN B (Interface Loopback5) ของ router R4


R4#traceroute 192.168.1.1 source 192.168.4.1
 
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
 1 172.16.34.3 1 msec 4 msec 4 msec --> R3
 2 172.16.23.2 6 msec 1 msec 1 msec --> R2
 3 172.16.12.1 0 msec 1 msec *  --> R1
 
R4#traceroute 192.168.1.1 source 192.168.4.129
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
 1 172.16.34.3 1 msec 0 msec 5 msec --> R3
 2 172.16.23.2 1 msec 1 msec 1 msec --> R2
 3 172.16.12.1 1 msec 1 msec *  --> R1

สังเกตว่า path หรือเส้นทางจาก source R4 LAN จะเป็น R3 -> R2 -> R1




2.3. บน router R3 ใช้คำสั่ง show ip route โดยเส้นทางที่ดีที่สุด จาก Router R3 ไปยัง LAN 192.168.1.0/24 ของ Router R1 คือผ่านทาง Router R2 โดยออกไปทาง interface Ethernet0/1 ของ Router R3


R3#show ip route | begin Gateway
 
Gateway of last resort is not set
 
 172.16.0.0/16 is variably subnetted, 7 subnets, 2 masks
D 172.16.12.0/29 [90/1331200] via 172.16.23.2, 00:11:51, Ethernet0/1
C 172.16.13.0/29 is directly connected, Ethernet0/0
L 172.16.13.3/32 is directly connected, Ethernet0/0
C 172.16.23.0/29 is directly connected, Ethernet0/1
L 172.16.23.3/32 is directly connected, Ethernet0/1
C 172.16.34.0/29 is directly connected, Ethernet0/2
L 172.16.34.3/32 is directly connected, Ethernet0/2
D 192.168.1.0/24 [90/1459200] via 172.16.23.2, 00:11:51, Ethernet0/1
D 192.168.2.0/24 [90/1433600] via 172.16.23.2, 00:11:51, Ethernet0/1
 192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.3.0/24 is directly connected, Loopback3
L 192.168.3.1/32 is directly connected, Loopback3
 192.168.4.0/25 is subnetted, 2 subnets
D 192.168.4.0 [90/2713600] via 172.16.34.4, 00:11:51, Ethernet0/2
D 192.168.4.128 [90/2713600] via 172.16.34.4, 00:11:51, Ethernet0/2 

บน router R3 ใช้คำสั่ง show interfaces ethernet 0/0 และ show interface ethernet 0/1



 
R3#show interfaces ethernet 0/0 | include BW
 MTU 1500 bytes, BW 1000 Kbit/sec, DLY 1000 usec,
R3#show interfaces ethernet 0/1 | include BW
 MTU 1500 bytes, BW 2000 Kbit/sec, DLY 1000 usec,
R3#

สังเกตว่า bandwidth ระหว่าง R3 และ R1 (ethernet 0/0) มีค่าเป็น 1000 Kbit/sec ส่วน bandwidth ระหว่าง R3 กับ R2 (ethernet 0/1) มีค่าเป็น 2000 Kbit/sec



2.4. ทำการตรวจสอบว่า router R3 มี route ที่สามารถเชื่อมต่อไปยัง R1 ได้โดยผ่าน interface ethernet 0/0 โดยใช้คำสั่ง show ip eigrp topology 192.168.1.0


R3#show ip eigrp topology 192.168.1.0
 
EIGRP-IPv4 Topology Entry for AS(1)/ID(192.168.3.1) for 192.168.1.0/24
 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 1459200
 Descriptor Blocks:
 172.16.23.2 (Ethernet0/1), from 172.16.23.2, Send flag is 0x0
 Composite metric is (1459200/1433600), route is Internal
 Vector metric:
 Minimum bandwidth is 2000 Kbit
 Total delay is 7000 microseconds
 Reliability is 255/255
 Load is 1/255
 Minimum MTU is 1500
 Hop count is 2
 Originating router is 192.168.1.1
 172.16.13.1 (Ethernet0/0), from 172.16.13.1, Send flag is 0x0
 Composite metric is (2713600/128256), route is Internal
 Vector metric:
 Minimum bandwidth is 1000 Kbit
  Total delay is 6000 microseconds
 Reliability is 255/255
 Load is 1/255
 Minimum MTU is 1500
 Hop count is 1
 Originating router is 192.168.1.1

ค่า metric ของ routeที่ไปทาง R1 (172.16.13.1) มีค่ามากกว่าที่ไป R2 (2713600 > 1459200) ทำให้ route ที่ผ่าน R2 เป็น successor route



3. ทำการ Configure PBR to provide path control


Configure PBR to provide path control


การ configure PBR ประกอบด้วยการ configure route map ด้วยคำสั่ง match และ set จากนั้นทำการ apply route map ให้กับ interface โดยมีขั้นตอนดังนี้


  • เลือกวิธีการที่ใช้ path control สำหรับ PBR โดยเราจะใช้คำสั่ง route-map

  • ทำการ Implement traffic-matching configuration เพื่อกำหนด traffic ที่จะถูกจัดการ โดยใช้คำสั่ง match ภายใน route map

  • กำหนดการกระทำที่จะเกิดเมื่อ traffic นั้นตรงกันกับสิ่งที่ระบุ ไว้ โดยใช้คำสั่ง set ภายใน route map

  • ทำการ apply route map ให้ตรงกับทิศทางของ traffic ที่เข้ามา โดยใน lab นี้ เราจะ configure บน router R3 ให้มี policy ดังนี้

  • ทุก traffic ที่มาจาก R4 LAN A จะต้องไปทางเส้นทาง R3->R2->R1

  • ทุก traffic ที่มาจาก R4 LAN B จะต้องไปทางเส้นทาง R3->R1


3.1. บน router R3 ให้ทำการสร้าง standard access list ชื่อ PBR-ACL เพื่อใช้ในการระบุถึง IP Address ของ R4 LAN B


 R3#conf t
 Enter configuration commands, one per line. End with CNTL/Z.
 R3(config)#ip access-list standard PBR-ACL
 R3(config-std-nacl)#remark ACL matches R4 LAN B traffic
 R3(config-std-nacl)#permit 192.168.4.128 0.0.0.127
 R3(config-std-nacl)#exit
 

3.2. ทำการสร้าง route map ชื่อ R3-to-R1 ให้ match กับ PBR-ACL และหลังจากนั้น set ค่าให้ next-hop interface ไปที่ R1 interface e0/1 (R3->R1)


 R3(config)#route-map R3-to-R1 permit
 R3(config-route-map)#description RM to forward LAN B traffic to R1
 R3(config-route-map)#match ip address PBR-ACL
 R3(config-route-map)#set ip next-hop 172.16.13.1
 R3(config-route-map)#exit
 

3.3. ทำการ apply route map R3-to-R1 ให้กับ interface บน router R3 ที่รับ traffic จาก R4 โดยใช้คำสั่ง ip policy route-map บน interface e0/2



R3(config)#interface e0/2
R3(config-if)#ip policy route-map R3-to-R1
R3(config-if)#end
 
R3#

3.4. บน router R3 ใช้คำสั่ง show route-map เพื่อแสดง policy และ packet ที่ match

R3#show route-map
 
route-map R3-to-R1, permit, sequence 10
 Match clauses:
 ip address (access-lists): PBR-ACL
 Set clauses:
 ip next-hop 172.16.13.1
 Policy routing matches: 0 packets, 0 bytes
R3#

ในขั้นตอนนี้จะทำการทดสอบ policy ที่เรา configure ไว้บน R3 โดยให้ enable คำสั่ง debug ip policy บน router R3 เพื่อให้เราสามารถสังเกตการทำงานของ policy ได้ และเพื่อให้ช่วยในการ filter traffic ที่เราต้องการ monitor ให้เราสร้าง standard ACL ให้ match กับ traffic ทั้งหมดที่มาจาก R4 LAN ก่อน


3.5. บน router R3 ให้ทำการสร้าง ACL ที่ระบุ R4 LAN ทั้งหมด

 R3#conf t
 Enter configuration commands, one per line. End with CNTL/Z.
 R3(config)#access-list 1 permit 192.168.4.0 0.0.0.255
 R3(config)#exit

3.6. ทำการ enable PBR debugging เฉพาะ traffic ที่ match กับ R4 LAN


 R3#debug ip policy ?
 
 <1-199> Access list
 dynamic dynamic PBR
 <cr>
 
 R3#debug ip policy 1
 
Policy routing debugging is on for access list 1
R3#


3.7. ทำการทดสอบ policy จาก R4 โดยใช้คำสั่ง traceroute โดยใช้ R4 LAN A เป็น source address


R4#traceroute 192.168.1.1 source 192.168.4.1
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
 1 172.16.34.3 6 msec 0 msec 1 msec --> R3
 2 172.16.23.2 0 msec 1 msec 1 msec --> R2 
 3 172.16.12.1 0 msec 4 msec * --> R1
R4#

สังเกตว่า path ของ packet ที่มาจาก source R4 LAN A นั้นยังคงวิ่งผ่าน R3->R2->R1 เช่นเดิม

สำหรับ router R3 จะแสดง debugging output ดังนี้


R3#
*Nov 5 07:36:33.369: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, policy rejected -- normal forwarding
R3#
*Nov 5 07:36:42.395: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, policy rejected -- normal forwarding
*Nov 5 07:36:42.395: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, policy rejected -- normal forwarding
*Nov 5 07:36:42.396: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, FIB policy rejected(no match) - normal forwarding
R3#
*Nov 5 07:36:51.417: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, FIB policy rejected(no match) - normal forwarding
*Nov 5 07:36:51.418: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, FIB policy rejected(no match) - normal forwarding
*Nov 5 07:36:51.419: IP: s=192.168.4.1 (Ethernet0/2), d=192.168.1.1, len 28, FIB policy rejected(no match) - normal forwarding

3.8. ทำการทดสอบ policy จาก R4 โดยใช้คำสั่ง traceroute โดยให้ R4 LAN B เป็น source address



 R4#traceroute 192.168.1.1 source 192.168.4.129
 
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
 1 172.16.34.3 1 msec 5 msec 5 msec --> R3
 2 172.16.13.1 2 msec 2 msec * --> R1

ในตอนนี้ path ของ packet ที่มาจาก source R4 LAN B จะเป็น R3-> R1 ตามที่ได้ทำการ Configure PBR ไว้


R3#
*Nov 5 07:37:57.660: IP: s=192.168.4.129 (Ethernet0/2), d=192.168.1.1, len 28, policy match
*Nov 5 07:37:57.660: IP: route map R3-to-R1, item 10, permit
*Nov 5 07:37:57.660: IP: s=192.168.4.129 (Ethernet0/2), d=192.168.1.1 (Ethernet0/0), len 28, policy routed
*Nov 5 07:37:57.660: IP: Ethernet0/2 to Ethernet0/0 172.16.13.1
R3#
*Nov 5 07:38:06.679: IP: s=192.168.4.129 (Ethernet0/2), d=192.168.1.1, 

3.9. บน router R3 ใช้คำสั่ง show route-map เพื่อแสดง policy และจำนวน packet ที่ match

R3#show route-map
route-map R3-to-R1, permit, sequence 10
 Match clauses:
 ip address (access-lists): PBR-ACL
 Set clauses:
 ip next-hop 172.16.13.1
Nexthop tracking current: 0.0.0.0
172.16.13.1, fib_nh:0,oce:0,status:0
 
 Policy routing matches: 6 packets, 252 bytes
R3#

Note : ในตอนนี้จะเห็นว่ามีการ match กับ policy แล้ว เพราะ packet ที่ match กับ ACL นั้นได้ผ่านเข้ามาทาง R3 e0/1


หวังว่าน่าจะได้ความรู้ในส่วนของการตั้งค่า PBR พร้อมทั้งการตรวจสอบการทำงานของ PBR กันไปนะครับ


แล้วเจอกันบทความต่อไปครับ


ขอบคุณแหล่งที่มา www.cisco.com, www.ine.com, และ เอกสาร LAB Cisco Networking Academy


กลับสู่ด้านบน


ดู 120 ครั้ง
  • Facebook
  • Twitter
  • YouTube
  • Tumblr Social Icon
  • Instagram

Tel. 087-449-6954, 094-417-8544 | Email : sale@9huatraining.com | Facebook : 9HUA Training