[Cisco – Other] Bài 9 – Virtual Routing Forwading

Trong bài viết tuần này, chúng ta sẽ cùng tìm hiểu về cách thức tạo ra các VRF trên  router. Các VRF – Virtual Routing Forwarding là các khổi chức năng được sử dụng để  chia một router thành nhiều router ảo khác nhau, mỗi router ảo này sẽ sử dụng một bảng  RIB (Routing Information Based) và một bảng FIB (Forwarding Information Based)  riêng biệt. Việc chia một router thành nhiều VRF tương tự như việc chia một switch  thành nhiều VLAN. 

Như thường lệ, để nắm được rõ vấn đề, chúng ta sẽ cùng trao đổi thông qua một bài lab ví dụ.

Sơ đồ

Mô tả 

∙ Sơ đồ lab gồm hai router được đấu nối với nhau như hình vẽ. 

∙ Trên sơ đồ này, chúng ta sẽ thực hiện cấu hình hai VRF, chia sơ đồ nêu trên thành  hai sơ đồ chạy định tuyến độc lập hoàn toàn với nhau. 

Thực hiện 

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

∙ Thực hiện đặt địa chỉ IP trên các cổng của các router theo quy hoạch IP được chỉ  ra trên hình 1. 

∙ Kiểm tra rằng các địa chỉ kết nối trực tiếp đã đi đến được nhau. 

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.21.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)#exit 
R1(config)#interface loopback 1 
R1(config-if)#ip address 192.168.11.1 255.255.255.0 
R1(config-if)#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.21.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)#exit 
R2(config)#interface loopback 1 
R2(config-if)#ip address 192.168.22.1 255.255.255.0 
R2(config-if)#exit

Kiểm tra 

Ta kiểm tra rằng các địa chỉ kết nối trực tiếp đã đi đến được nhau:

R1#ping 192.168.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 20/41/80 ms

R1#ping 192.168.21.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.21.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/43/84 ms

Bước 2: Cấu hình VRF trên các router 

∙ Trên R1 và R2 thực hiện cấu hình một VRF có tên là VRF1. Thực hiện gán các  cổng F0/0 và các loopback 0 của hai router này vào VRF1 vừa tạo. 

∙ Trên R1 và R2 thực hiện cấu hình một VRF khác có tên là VRF2. Thực hiện gán  các cổng F0/1 và các loopback 1 của hai router này vào VRF2 vừa tạo. ∙ Kiểm tra rằng các địa chỉ kết nối trực tiếp đã đi đến được nhau.

Cấu hình 

Trên R1:

R1(config)#ip vrf VRF1
R1(config-vrf)#rd 1:1
R1(config-vrf)#exit
R1(config)#interface f0/0
R1(config-if)#ip vrf forwarding VRF1
% Interface FastEthernet0/0 IP address 192.168.12.1 removed due to enabling VRF VRF1
R1(config-if)#ip address 192.168.12.1 255.255.255.0
R1(config-if)#exit
R1(config)#interface loopback 0
R1(config-if)#ip vrf forwarding VRF1
% Interface Loopback0 IP address 192.168.1.1 removed due to enabling VRF VRF1
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#ip vrf VRF2
R1(config-vrf)#rd 2:2
R1(config-vrf)#exit
R1(config)#interface f0/1
R1(config-if)#ip vrf forwarding VRF2
% Interface FastEthernet0/1 IP address 192.168.21.1 removed due to enabling VRF VRF2
R1(config-if)#ip address 192.168.21.1 255.255.255.0
R1(config-if)#exit
R1(config)#interface loopback 1
R1(config-if)#ip vrf forwarding VRF2
% Interface Loopback1 IP address 192.168.11.1 removed due to enabling VRF VRF2
R1(config-if)#ip address 192.168.11.1 255.255.255.0
R1(config-if)#exit

Trên R2:

R2(config)#ip vrf VRF1
R2(config-vrf)#rd 1:1
R2(config-vrf)#exit
R2(config)#interface f0/0
R2(config-if)#ip vrf forwarding VRF1
% Interface FastEthernet0/0 IP address 192.168.12.2 removed due to enabling VRF VRF1
R2(config-if)#ip address 192.168.12.2 255.255.255.0
R2(config-if)#exit
R2(config)#interface loopback 0
R2(config-if)#ip vrf forwarding VRF1
% Interface Loopback0 IP address 192.168.2.1 removed due to enabling VRF VRF1
R2(config-if)#ip address 192.168.2.1 255.255.255.0
R2(config-if)#exit
R2(config)#ip vrf VRF2
R2(config-vrf)#rd 2:2
R2(config-vrf)#exit
R2(config)#interface f0/1
R2(config-if)#ip vrf forwarding VRF2
% Interface FastEthernet0/1 IP address 192.168.21.2 removed due to enabling VRF VRF2
R2(config-if)#ip address 192.168.21.2 255.255.255.0
R2(config-if)#exit
R2(config)#interface loopback 1
R2(config-if)#ip vrf forwarding VRF2
% Interface Loopback1 IP address 192.168.22.1 removed due to enabling VRF VRF2
R2(config-if)#ip address 192.168.22.1 255.255.255.0
R2(config-if)#exit

Ghi chú 

Các VRF – Virtual Routing Forwarding là các khổi chức năng được sử dụng để chia một  router thành nhiều router ảo khác nhau, mỗi router ảo này sẽ sử dụng một bảng RIB  (Routing Information Based) và một bảng FIB (Forwarding Information Based) riêng  biệt. Việc chia một router thành nhiều VRF tương tự như việc chia một switch thành  nhiều VLAN. 

Câu lệnh để khai báo một VRF trên một router:

R(config)#ip vrf Tên_VRF 
R(config-vrf)#rd X:Y 
R(config-vrf)#exit

Trong đó: 

Tên_VRF: là tên gọi đặt cho VRF được tạo ra. Ví dụ, trong bài lab này, chúng ta  tạo ra hai VRF có tên là VRF1 và VRF2 trên hai router. 

X:Y: là giá trị có tên gọi là Route Distinguisher (RD) được gán cho VRF. RD là  một giá trị 64 bit được gán vào cho mọi route thuộc về VRF tương ứng. Định  dạng thường gặp của RD là ASN:NN, trong đó, ASN là giá trị Autonomous  System Number và NN là số hiệu VRF bên trong router, hoặc xét trên toàn sơ đồ,  là số hiệu VPN bên trong một AS. Một cách đơn giản, ta có thể hiểu giá trị này  được dùng để định danh cho VRF trên router và có thể dùng bất kỳ giá trị nào ta  muốn khi cấu hình. Giá trị này không bắt buộc phải giống nhau giữa các router  mà chỉ có ý nghĩa local trên mỗi router. 

Sau khi cấu hình các VRF để chia một router thành nhiều router ảo biệt lập với nhau,  chúng ta cần phải phân bổ các cổng hiện có trên router vào các router ảo mới tạo này.  Điều này tương tự như việc xây dựng xong một router thì cần phải lắp cho router mới này  các cổng giao tiếp, và các cổng giao tiếp này được lấy ra từ router gốc cũ. Ta có thể so  sánh điều này với việc gán các cổng trên switch vào một VLAN vừa tạo. 

Câu lệnh để gán một cổng trên router vào một VRF: 

R(config-if)#ip vrf forwarding Tên_VR

Khi gán một cổng vào một VRF, mọi địa chỉ IP được cấu hình trước đó trên cổng sẽ được  gỡ bỏ, ta phải thực hiện cấu hình lại IP cho cổng mới được gán này. 

Mặc định, trên router luôn tồn tại một VRF tên là “global” và mọi cổng của router ban  đầu đều thuộc VRF này. Điều này tương tự như trên switch luôn tồn tại VLAN 1 và ban  đầu mọi cổng của switch đều thuộc về VLAN 1.

Khi chúng ta thực hiện đấu nối giữa các VRF tương ứng của các router, ta đã thực hiện xây dựng nhiều mạng lớp 3 khác nhau từ một sơ đồ đấu nối lớp 3 duy nhất trước đó. Ví dụ, trong bài lab của chúng ta, chúng ta đã xây dựng hai sơ đồ lớp 3 từ một sơ đồ lớp 3 trước đó (hình 2):

Kiểm tra 

Ta kiểm tra rằng, trong từng VRF, các địa chỉ đấu nối trực tiếp trên hai router đã đi đến  được nhau:

R1#ping vrf VRF1 192.168.12.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/44/72 ms

R1#ping vrf VRF2 192.168.21.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.21.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/45/120 ms

Bước 3: Định tuyến trên VRF 

∙ Cấu hình định tuyến OSPF trên VRF1 đảm bảo mọi địa chỉ trên VRF1 thấy nhau. ∙ Cấu hình định tuyến EIGRP trên VRF2 đảm bảo mọi địa chỉ trên VRF2 thấy  nhau. 

Cấu hình 

Trên R1:

R1(config)#router ospf 1 vrf VRF1 
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)#exit
R1(config)#router eigrp 100 
R1(config-router)#address-family ipv4 vrf VRF2 
R1(config-router-af)#autonomous-system 100 
R1(config-router-af)#network 192.168.11.0 
R1(config-router-af)#network 192.168.21.0 
R1(config-router-af)#exit 
R1(config-router)#exit

Trên R2:

R2(config)#router ospf 1 vrf VRF1 
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)#exit 
R2(config)#router eigrp 100 
R2(config-router)#address-family ipv4 vrf VRF2 
R2(config-router-af)#autonomous-system 100 
R2(config-router-af)#network 192.168.22.0 
R2(config-router-af)#network 192.168.21.0 
R2(config-router-af)#exit

Ghi chú 

Trong bước này, chúng ta thực hiện chạy định tuyến trên từng VRF đảm bảo rằng mọi địa  chỉ trên mỗi VRF khác nhau. Chúng ta có thể cấu hình bất kỳ hình thức định tuyến nào đã  biết cho các VRF này. Trong bài lab này, chúng ta sử dụng OSPF cho VRF1 và EIGRP  cho VRF2. Khác với cấu hình định tuyến trên VRF global thông thường, chúng ta phải  chỉ định rõ VRF mà tiến trình định tuyến sẽ chạy khi thực hiện cấu hình định tuyến. 

Kiểm tra 

Ta kiểm tra bảng định tuyến của từng VRF trên các router để xác nhận rằng các giao thức  định tuyến đều đã hội tụ. 

Trên VRF1: 

R1#show ip route vrf VRF1 ospf
Routing Table: VRF1
  192.168.2.0/32 is subnetted, 1 subnets
O    192.168.2.1 [110/2] via 192.168.12.2, 00:07:43, FastEthernet0/0

R2#show ip route vrf VRF1 ospf
Routing Table: VRF1
  192.168.1.0/32 is subnetted, 1 subnets
O    192.168.1.1 [110/2] via 192.168.12.1, 00:07:57, FastEthernet0/0

Trên VRF2:

R1#show ip route vrf VRF2 eigrp
D    192.168.22.0/24 [90/156160] via 192.168.21.2, 00:08:13, FastEthernet0/1

R2#show ip route vrf VRF2 eigrp
D    192.168.11.0/24 [90/156160] via 192.168.21.1, 00:08:22, FastEthernet0/1

Các địa chỉ loopback trên các VRF đã đi đến được nhau:

R1#ping vrf VRF1 192.168.2.1 source 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/34/44 ms

R1#ping vrf VRF2 192.168.22.1 source 192.168.11.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.22.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.11.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/37/64 ms

Trên đây, chúng ta đã cùng nhau tìm hiểu về cách thức cấu hình các VRF trên các router  và tác dụng của cấu hình này. Trong thực tế, VRF thường được sử dụng trên các router  PE của các ISP để cung cấp dịch vụ MPLS VPN đến khách hàng. 

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!

Bài viết gần đây

spot_img

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Đăng ký nhận thông tin bài viết qua email