Giới thiệu: Mặt định router sử dụng global routing table để lưu các thông định tuyến bao gồm các cổng đang kết nối trực tiếp và các prefix mà nó học được thông qua các giao thức route (route tĩnh, route động).
VRF (Virtual Routing and Forwarding) giống như VLAN (VLAN: tạo vlan rồi vào cổng để gán vào vlan đã tạo). VRF thay vì sử dụng 1 bảng routing global thì nó có thể tạo ra nhiều bảng routing ảo (multiple virtual routing tables). Mỗi interface của router sẽ gán vào 1 VRF khác nhau.
VRF thường sử dụng để triển khai MPLS, nếu sử dụng VRF mà không dùng MPLS thì gọi là VRF life.
Kiểm tra bảng routing trên từng VRF
Bây giờ mỗi khách hàng đã có 1 bảng routing riêng.
Khi kiểm tra ping từ ISP đến các router khách hàng theo cấu trúc: ping vrf Tên_của_VRF IP_Cần_ping
Đến đây đã xong phần tạo VRF. Và với mỗi khách hàng có thể chạy giao thức routing độc lập với các khách hàng khác.
Ví dụ Customer_A chạy OSPF và Customer_B chạy Static Route để kiểm tra.
Customer_A, chạy OSPF
R1, R2:
R5-ISP:
Kiểm tra bảng routing trên R1, R2:
Customer_B, chạy Static Route
R5-ISP:
R3:
R4:
Kiểm tra sau khi cấu hình Static route:
Mục đích tạo ra VRF để tách riêng mỗi khách hàng 1 bảng routing độc lập nhau nhằm bảo mật hơn cho dữ liệu của khách hàng và cũng có thể giải quyết bài toán trùng IP của các khách hàng dùng IP nội bộ và đấu nối chung 1 ISP.
Xong!
Ví dụ có 2 khách hàng Customer A và Customter B, mỗi khách hàng có 2 sites và chúng được kết nối với 1 router của ISP. Trên router của ISP sẽ có duy nhất một bảng global routing của tất cả các interface được kết nối trực tiếp đến Router (trong trường hợp này có 4 interface)
ISP#show ip route(...)
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Ethernet0/1
L 192.168.1.5/32 is directly connected, Ethernet0/1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, Ethernet1/1
L 192.168.2.5/32 is directly connected, Ethernet1/1
192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.3.0/24 is directly connected, Ethernet0/2
L 192.168.3.5/32 is directly connected, Ethernet0/2
192.168.4.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.4.0/24 is directly connected, Ethernet1/2
L 192.168.4.5/32 is directly connected, Ethernet1/2
Bây giờ ta sẽ dùng VRF để tách bảng blobal routing trên ISP thành nhiều bảng routing theo từng khách hàng riêng biệt: Et0/1 và Et1/1 thuộc Customer A; Et0/2 và Et1/2 thuộc Customter B.
Tạo VRF trên ISP Router:
ip vrf Customer_A
exit
ip vrf Customer_B
exit
Gán cổng vào VRF vừa tạo
ISP Router:
interface Ethernet0/1
ip vrf forwarding Customer_A
ip address 192.168.1.5 255.255.255.0
Noted: khi gán interface/cổng vào VRF thì IP đã đặt trước đó sẽ bị remove, và sẽ gặp thông báo:
% Interface Ethernet0/1 IPv4 disabled and address(es) removed due to enabling VRF Customer_A
ISP Router:
interface Ethernet1/1
ip vrf forwarding Customer_A
ip address 192.168.2.5 255.255.255.0
exit
interface Ethernet0/2
ip vrf forwarding Customer_B
ip address 192.168.3.5 255.255.255.0
exit
interface Ethernet1/2
ip vrf forwarding Customer_B
ip address 192.168.4.5 255.255.255.0
end
write
Kiểm tra sau khi gán cổng vào VRF
ISP#show ip vrfName Default RD Interfaces
Customer_A <not set> Et0/1
Et1/1
Customer_B <not set> Et0/2
Et1/2
Kiểm tra bảng global routing và thấy rằng không còn route nào trong global routing, vì ta đã gán 2 cổng Et0/1, Et1/1 cho VRF Customer_A; và 2 cổng Et02, Et1/2 cho VRF Customer_B
ISP#show ip routeCodes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
Kiểm tra bảng routing trên từng VRF
ISP#show ip route vrf Customer_ARouting Table: Customer_A
(...)
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Ethernet0/1
L 192.168.1.5/32 is directly connected, Ethernet0/1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, Ethernet1/1
L 192.168.2.5/32 is directly connected, Ethernet1/1
ISP#show ip route vrf Customer_BRouting Table: Customer_B
(...)
192.168.3.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.3.0/24 is directly connected, Ethernet0/2
L 192.168.3.5/32 is directly connected, Ethernet0/2
192.168.4.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.4.0/24 is directly connected, Ethernet1/2
L 192.168.4.5/32 is directly connected, Ethernet1/2
Bây giờ mỗi khách hàng đã có 1 bảng routing riêng.
Khi kiểm tra ping từ ISP đến các router khách hàng theo cấu trúc: ping vrf Tên_của_VRF IP_Cần_ping
ISP#ping vrf Customer_A 192.168.1.1Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
ISP#ping vrf Customer_A 192.168.2.2Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
Đến đây đã xong phần tạo VRF. Và với mỗi khách hàng có thể chạy giao thức routing độc lập với các khách hàng khác.
Ví dụ Customer_A chạy OSPF và Customer_B chạy Static Route để kiểm tra.
Customer_A, chạy OSPF
R1, R2:
router ospf 1
exit
interface range ethernet 0/0, loopback 0
ip ospf 1 area 0
end
write
R5-ISP:
router ospf 1 vrf Customer_A
exit
interface range ethernet 0/1, ethernet 1/1
ip ospf 1 area 0
end
write
Kiểm tra bảng routing trên R1, R2:
CustomerA-1#show ip route ospf(...)
Gateway of last resort is not set
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/21] via 192.168.1.5, 00:01:15, Ethernet0/0
O 192.168.2.0/24 [110/20] via 192.168.1.5, 00:01:20, Ethernet0/0
CustomerA-2#show ip route ospf(...)
1.0.0.0/32 is subnetted, 1 subnets
O 1.1.1.1 [110/21] via 192.168.2.5, 00:02:06, Ethernet0/0
O 192.168.1.0/24 [110/20] via 192.168.2.5, 00:02:11, Ethernet0/0
ISP#show ip route vrf Customer_A ospfRouting Table: Customer_A
(...)
1.0.0.0/32 is subnetted, 1 subnets
O 1.1.1.1 [110/11] via 192.168.1.1, 00:31:02, Ethernet0/1
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/11] via 192.168.2.2, 00:31:02, Ethernet1/1
CustomerA-1#ping 2.2.2.2Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
CustomerA-2#ping 1.1.1.1Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Customer_B, chạy Static Route
R5-ISP:
ip route vrf Customer_B 3.3.3.3 255.255.255.255 192.168.3.3
ip route vrf Customer_B 4.4.4.4 255.255.255.255 192.168.4.4
R3:
ip route 4.4.4.4 255.255.255.255 192.168.3.5
R4:
ip route 3.3.3.3 255.255.255.255 192.168.4.5
Kiểm tra sau khi cấu hình Static route:
CustomerB-1#ping 4.4.4.4 source 3.3.3.3Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
ISP#ping vrf Customer_B 4.4.4.4Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
ISP#ping vrf Customer_B 3.3.3.3Tóm lại:Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Mục đích tạo ra VRF để tách riêng mỗi khách hàng 1 bảng routing độc lập nhau nhằm bảo mật hơn cho dữ liệu của khách hàng và cũng có thể giải quyết bài toán trùng IP của các khách hàng dùng IP nội bộ và đấu nối chung 1 ISP.
Xong!