Thursday, January 23, 2025

[Cisco] Policy Based Routing 3

-

Trong bài viết tuần này, chúng ta sẽ cùng tìm hiểu cách thức để thực hiện dự phòng cho  hoạt động Policy Based Routing. Như thường lệ, chúng ta sẽ cùng tìm hiểu vấn đề quan  tâm thông qua một bài lab ví dụ. 

Sơ đồ

Hình 1 – Sơ đồ bài lab ví dụ.

Mô tả 

  • Sơ đồ gồm các router được đấu nối với nhau như hình 1.  
  • Trên sơ đồ này, chúng ta chạy định tuyến OSPF area 0 và thực hiện cấu hình PBR  trên router R1 để thực hiện chính sách về đường đi cho một số loại lưu lượng đến  từ R5. 
  • Chúng ta sẽ cùng thực hiện một giải pháp dự phòng đường đi cho kỹ thuật PBR  trong bài lab này.
  • Bạn đọc có thể sử dụng router thật hoặc chạy giả lập trên GNS – 3 để thực hiện  bài lab này. 

Thực hiện 

Bước 1: Cấu hình ban đầu 

  • Thực hiện đặt địa chỉ IP trên cổng của các router theo quy hoạch IP được chỉ ra  trên hình 1. 
  • Chạy định tuyến OSPF Area 0 trên toàn bộ sơ đồ, đảm bảo mọi địa chỉ trên sơ đồ  thấy được nhau. 
  • Cấu hình đảm bảo các subnet loopback được quảng bá đi đúng prefix – length của  chúng. 
  • Đảm bảo R3 đi đến loopback 0 của R4 theo đường link serial nối giữa R3 và R4.  Sử dụng static route để thực hiện yêu cầu này. 

Cấu hình 

Trên R1:

R1(config)#interface f0/0 
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.12.1 255.255.255.0 
R1(config-if)#exit 

R1(config)#interface f0/1 
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.13.1 255.255.255.0 
R1(config-if)#exit 

R1(config)#interface s0/0/0 
R1(config-if)#no shutdown 
R1(config-if)#ip address 192.168.15.1 255.255.255.0 
R1(config-if)#exit 

R1(config)#interface loopback 0 
R1(config-if)#ip address 192.168.1.1 255.255.255.0 
R1(config-if)#ip ospf network point-to-point 
R1(config-if)#exit 

R1(config)#router ospf 1 
R1(config-router)#network 192.168.1.1 0.0.0.0 area 0 
R1(config-router)#network 192.168.12.1 0.0.0.0 area 0 
R1(config-router)#network 192.168.13.1 0.0.0.0 area 0 
R1(config-router)#network 192.168.15.1 0.0.0.0 area 0 
R1(config-router)#exit

Trên R2:

R2(config)#interface f0/0 
R2(config-if)#no shutdown 
R2(config-if)#ip address 192.168.12.2 255.255.255.0 
R2(config-if)#exit 

R2(config)#interface f0/1 
R2(config-if)#no shutdown 
R2(config-if)#ip address 192.168.24.2 255.255.255.0
R2(config-if)#exit 

R2(config)#interface loopback 0 
R2(config-if)#ip address 192.168.2.1 255.255.255.0 
R2(config-if)#ip ospf network point-to-point 
R2(config-if)#exit 

R2(config)#router ospf 1 
R2(config-router)#network 192.168.2.1 0.0.0.0 area 0 
R2(config-router)#network 192.168.12.2 0.0.0.0 area 0 
R2(config-router)#network 192.168.24.2 0.0.0.0 area 0 
R2(config-router)#exit

Trên R3:

R3(config)#interface f0/0 
R3(config-if)#no shutdown 
R3(config-if)#ip address 192.168.13.3 255.255.255.0 
R3(config-if)#exit 

R3(config)#interface s0/0/0 
R3(config-if)#no shutdown 
R3(config-if)#ip address 192.168.34.3 255.255.255.0 
R3(config-if)#exit 

R3(config)#interface loopback 0 
R3(config-if)#ip address 192.168.3.1 255.255.255.0 
R3(config-if)#ip ospf network point-to-point 
R3(config-if)#exit 

R3(config)#router ospf 1 
R3(config-router)#network 192.168.3.1 0.0.0.0 area 0 
R3(config-router)#network 192.168.13.3 0.0.0.0 area 0 
R3(config-router)#network 192.168.34.3 0.0.0.0 area 0 

R3(config-router)#exit 
R3(config)#ip route 192.168.4.0 255.255.255.0 s0/0/0

Trên R4:

R4(config)#interface f0/0 
R4(config-if)#no shutdown 
R4(config-if)#ip address 192.168.24.4 255.255.255.0 
R4(config-if)#exit 

R4(config)#interface s0/0/0 
R4(config-if)#no shutdown 
R4(config-if)#ip address 192.168.34.3 255.255.255.0 
R4(config-if)#exit 

R4(config)#interface loopback 0 
R4(config-if)#ip address 192.168.4.1 255.255.255.0 
R4(config-if)#ip ospf network point-to-point 
R4(config-if)#exit
 
R4(config)#router ospf 1 
R4(config-router)#network 192.168.4.1 0.0.0.0 area 0 
R4(config-router)#network 192.168.24.4 0.0.0.0 area 0 
R4(config-router)#network 192.168.34.4 0.0.0.0 area 0 
R4(config-router)#exit

Trên R5:

R5(config)#interface s0/0/0 
R5(config-if)#no shutdown 
R5(config-if)#ip address 192.168.15.5 255.255.255.0 
R5(config-if)#exit 

R5(config)#interface f0/0 
R5(config-if)#no shutdown 
R5(config-if)#ip address 192.168.5.1 255.255.255.0 
R5(config-if)#exit 

R5(config)#interface f0/1 
R5(config-if)#no shutdown 
R5(config-if)#ip address 192.168.55.1 255.255.255.0 
R5(config-if)#exit 

R5(config)#router ospf 1 
R5(config-router)#network 192.168.5.1 0.0.0.0 area 0 
R5(config-router)#network 192.168.55.1 0.0.0.0 area 0 
R5(config-router)#network 192.168.15.5 0.0.0.0 area 0 
R5(config-router)#exit

Kiểm tra 

Ta kiểm tra rằng các subnet đều đã xuất hiện trong bảng định tuyến của các router:

R1#show ip route ospf 
O 192.168.24.0/24 [110/2] via 192.168.12.2, 00:01:43, FastEthernet0/0
O 192.168.55.0/24 [110/65] via 192.168.15.5, 00:01:43, Serial0/0/0
O 192.168.4.0/24 [110/3] via 192.168.12.2, 00:01:43, FastEthernet0/0
O 192.168.5.0/24 [110/65] via 192.168.15.5, 00:01:43, Serial0/0/0
O 192.168.34.0/24 [110/65] via 192.168.13.3, 00:01:43, FastEthernet0/1
O 192.168.2.0/24 [110/2] via 192.168.12.2, 00:01:43, FastEthernet0/0
O 192.168.3.0/24 [110/2] via 192.168.13.3, 00:01:43, FastEthernet0/1 

R2#show ip route ospf 
O 192.168.13.0/24 [110/2] via 192.168.12.1, 00:01:51, FastEthernet0/0
O 192.168.15.0/24 [110/65] via 192.168.12.1, 00:01:51, FastEthernet0/0
O 192.168.55.0/24 [110/66] via 192.168.12.1, 00:01:51, FastEthernet0/0
O 192.168.4.0/24 [110/2] via 192.168.24.4, 00:01:51, FastEthernet0/1
O 192.168.5.0/24 [110/66] via 192.168.12.1, 00:01:51, FastEthernet0/0
O 192.168.34.0/24 [110/66] via 192.168.12.1, 00:01:51, FastEthernet0/0
O 192.168.1.0/24 [110/2] via 192.168.12.1, 00:01:51, FastEthernet0/0
O 192.168.3.0/24 [110/3] via 192.168.12.1, 00:01:51, FastEthernet0/0 

R3#show ip route ospf 
O 192.168.12.0/24 [110/2] via 192.168.13.1, 00:01:57, FastEthernet0/0
O 192.168.15.0/24 [110/65] via 192.168.13.1, 00:01:57, FastEthernet0/0
O 192.168.24.0/24 [110/3] via 192.168.13.1, 00:01:57, FastEthernet0/0
O 192.168.55.0/24 [110/66] via 192.168.13.1, 00:01:57, FastEthernet0/0
O 192.168.5.0/24 [110/66] via 192.168.13.1, 00:01:57, FastEthernet0/0
O 192.168.1.0/24 [110/2] via 192.168.13.1, 00:01:57, FastEthernet0/0
O 192.168.2.0/24 [110/3] via 192.168.13.1, 00:01:57, FastEthernet0/0
 
R3#show ip route 192.168.4.0 
Routing entry for 192.168.4.0/24 
 Known via "static", distance 1, metric 0 (connected) 
 Routing Descriptor Blocks: 
 * directly connected, via Serial0/0/0 
 Route metric is 0, traffic share count is 1

R4#show ip route ospf 
O 192.168.12.0/24 [110/2] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.13.0/24 [110/3] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.15.0/24 [110/66] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.55.0/24 [110/67] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.5.0/24 [110/67] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.1.0/24 [110/3] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.2.0/24 [110/2] via 192.168.24.2, 00:02:13, FastEthernet0/0
O 192.168.3.0/24 [110/4] via 192.168.24.2, 00:02:13, FastEthernet0/0 

R5#show ip route ospf 
O 192.168.12.0/24 [110/65] via 192.168.15.1, 00:02:17, Serial0/0/0
O 192.168.13.0/24 [110/65] via 192.168.15.1, 00:02:17, Serial0/0/0
O 192.168.24.0/24 [110/66] via 192.168.15.1, 00:02:17, Serial0/0/0
O 192.168.4.0/24 [110/67] via 192.168.15.1, 00:02:17, Serial0/0/0 
O 192.168.34.0/24 [110/129] via 192.168.15.1, 00:02:17, Serial0/0/0
O 192.168.1.0/24 [110/65] via 192.168.15.1, 00:02:17, Serial0/0/0
O 192.168.2.0/24 [110/66] via 192.168.15.1, 00:02:17, Serial0/0/0
O 192.168.3.0/24 [110/66] via 192.168.15.1, 00:02:17, Serial0/0/0

Bước 2: Cấu hình Policy Based Routing 

  • Thực hiện cấu hình PBR trên R1 đảm bảo mọi gói tin đến từ subnet  192.168.5.0/24 của R5 khi đi đến R1 trên cổng S0/0/0 sẽ được chuyển đi tiếp trên  cổng F0/1 của R1. 
  • Mọi gói tin khác khi đi đến R1 trên cổng S0/0/0 sẽ được chuyển tiếp theo kết quả  định tuyến đã thực hiện. 

Cấu hình 

Ta thực hiện yêu cầu này tương tự như đã làm với các bài lab ví dụ trong các bài viết  trước. 

Trên R1:

R1(config)#access-list 5 permit 192.168.5.0 0.0.0.255 
R1(config)#route-map PBR permit 10 
R1(config-route-map)#match ip address 5 
R1(config-route-map)#set ip next-hop 192.168.13.3 
R1(config-route-map)#exit 
R1(config)#interface s0/0/0 
R1(config-if)#ip policy route-map PBR 
R1(config-if)#exit

Kiểm tra 

Ta thực hiện kiểm tra kết quả của hoạt động PBR vừa thực hiện bằng cách bật debug trên  R1:

R1#debug ip policy  
Policy routing debugging is on

Lưu lượng đến từ mạng 192.168.5.0/24 của R5 sẽ được R1 thực hiện PBR chuyển tiếp  qua cổng F0/1:

R5#traceroute 192.168.4.1 source 192.168.5.1 
Type escape sequence to abort. 
Tracing the route to 192.168.4.1 
 1 192.168.15.1 32 msec 60 msec 44 msec 
 2 192.168.13.3 40 msec 76 msec 44 msec 
 3 192.168.34.3 96 msec * 80 msec  
R1# 
*Mar 1 00:42:14.027: IP: s=192.168.5.1 (Serial0/0/0), d=192.168.4.1,  len 28, FIB policy match 
*Mar 1 00:42:14.027: IP: s=192.168.5.1 (Serial0/0/0), d=192.168.4.1,  g=192.168.13.3, len 28, FIB policy routed 

Các lưu lượng khác được forward bình thường theo đường đi trong bảng định tuyến:

R5#traceroute 192.168.4.1 source 192.168.55.1 
Type escape sequence to abort. 
Tracing the route to 192.168.4.1 
 1 192.168.15.1 44 msec 60 msec 44 msec 
 2 192.168.12.2 76 msec 88 msec 96 msec 
 3 192.168.24.4 88 msec * 132 msec  
R1# 
*Mar 1 00:44:29.059: IP: s=192.168.55.1 (Serial0/0/0), d=192.168.4.1, len 28, FIB policy rejected(no match) - normal forwarding

Bước 3: Cấu hình dự phòng với PBR 

Hiệu chỉnh cấu hình PBR đã thực hiện ở bước 2 đảm bảo nếu R1 không còn kết  nối được với R3 qua VLAN 13, lưu lượng xuất phát từ mạng 192.168.5.0/24 sẽ  được vận chuyển bình thường theo kết quả chỉ đường trong bảng định tuyến. ∙ Sử dụng IP SLA và track object để hoàn thành yêu cầu này. 

Cấu hình 

Trên R1:

R1(config)#ip sla monitor 1  
R1(config-sla-monitor)#type echo protocol ipIcmpEcho 192.168.13.3 R1(config-sla-monitor-echo)#frequency 5 
R1(config-sla-monitor-echo)#timeout 2000 
R1(config-sla-monitor-echo)#exit 
R1(config)#ip sla monitor schedule 1 start-time now life forever  

R1(config)#track 1 rtr 1 
R1(config-track)#exit 

R1(config)#route-map PBR permit 10 
R1(config-route-map)#no set ip next-hop 192.168.13.3 
R1(config-route-map)#set ip next-hop verify-availability 192.168.13.3 1 track 1  R1(config-route-map)#exit

Ghi chú 

Vì R1 được đấu nối đến R3 thông qua một VLAN Ethernet với hệ thống switch trung  gian ở giữa, không phải là kết nối trực tiếp giữa R1 và R3 nên nếu như một trong hai đầu  của đấu nối R1 – R3 down thì đầu kia sẽ không thể phát hiện được. Do đó, giả sử cổng  F0/0 nối vào VLAN 13 của R3 bị down, R1 không phát hiện được điều này thì khi có lưu  lượng sử dụng PBR, lưu lượng này sẽ vẫn được R1 chuyển hướng qua VLAN 13 để đi  đến R3 khiến dữ liệu sẽ bị mất trên đường đi. 

Để khắc phục vấn đề này, chúng ta sử dụng lệnh “set ip next-hop” trong route – map  của PBR tham chiếu đến một IP SLA probe thông qua một track object; IP SLA probe  này sẽ thực hiện ping liên tục đến R3 để kiểm tra xem R3 còn đi đến được không. Nếu  kết quả ping thành công, track object trả kết quả UP, tiếp tục thực hiện PBR; nếu kết quả  ping không thành công, track object trả kết quả DOWN, ngừng thực hiện PBR, các gói tin được đi theo kết quả định tuyến. 

Kiểm tra Ta kiểm tra vấn đề chuyển hướng trước khi thực hiện các hiệu chỉnh đã làm ở trên. Trước hết, shutdown cổng F0/0 nối đến VLAN 13 của R3:

R3(config)#interface f0/0 
R3(config-if)#shutdown 
*Mar 1 00:49:49.879: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state  to administratively down 
*Mar 1 00:49:50.879: %LINEPROTO-5-UPDOWN: Line protocol on Interface  FastEthernet0/0, changed state to down

R1 hoàn toàn không phát hiện được đầu xa R3 đã bị down, kết nối trên R1 vẫn giữ  “up/up”:

Các lưu lượng xuất phát từ mạng 192.168.5.0/24 của R5 vì thế vẫn được thực hiện PBR chuyển hướng qua VLAN 13 và bị mất trên đường đi:

R5#ping 192.168.4.1 source 192.168.5.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.4.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.5.1
.....
Success rate is 0 percent (0/5)

R1#
*Mar 1 00:50:52.235: IP: s=192.168.5.1 (Serial0/0/0), d=192.168.4.1, len 100,
FIB policy match
*Mar 1 00:50:52.239: IP: s=192.168.5.1 (Serial0/0/0), d=192.168.4.1,
g=192.168.13.3, len 100, FIB policy routed

Tiếp theo, chúng ta thực hiện kiểm tra vấn đề chuyển hướng sau khi đã thực hiện giải  pháp IP SLA ở trên.

Khi đã shutdown cổng F0/0 của R3, ping đến địa chỉ 192.168.13.3 không còn thành công,  kết quả track trả về DOWN:

R1#show ip sla monitor statistics  
Round trip time (RTT) Index 1 
 Latest RTT: NoConnection/Busy/Timeout 
Latest operation start time: *01:08:49.967 UTC Fri Mar 1 2002 
Latest operation return code: Timeout 
Number of successes: 0 
Number of failures: 201 
Operation time to live: Forever
 
R1#show track  
Track 1 
 Response Time Reporter 1 state 
 State is Down 
 1 change, last change 00:16:42 
 Latest operation return code: Timeout 
 Tracked by: 
 ROUTE-MAP 0 

R1#show route-map  
route-map PBR, permit, sequence 10 
 Match clauses: 
 ip address (access-lists): 5  
 Set clauses: 
 ip next-hop verify-availability 192.168.13.3 1 track 1 [down]  Policy routing matches: 38 packets, 2656 bytes

Các lưu lượng đến từ mạng 192.168.5.0/24 lần này sẽ không được thực hiện PBR và đi  theo chỉ đường trong bảng định tuyến và đi đến nơi thành công:

R5#ping 192.168.4.1 source 192.168.5.1 
Type escape sequence to abort. 
Sending 5, 100-byte ICMP Echos to 192.168.4.1, timeout is 2 seconds: Packet sent with a source address of 192.168.5.1  
!!!!! 
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/152/188 ms
 
R1# 
*Mar 1 00:53:37.747: IP: s=192.168.5.1 (Serial0/0/0), d=192.168.4.1, len 100,  FIB policy match 
*Mar 1 00:53:37.751: IP: s=192.168.5.1 (Serial0/0/0), d=192.168.4.1, len 100,  FIB policy rejected - normal forwarding

Đến đây, chúng ta đã hoàn thành cấu hình và kiểm tra cho vấn đề dự phòng tự động với  Policy Based Routing. 

Cảm ơn các bạn! 

Hẹn gặp lại các bạn trong các bài viết tiếp theo!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories