Bài viết chuyên đề

MPLS VPN: OSPF và EIGRP

22/11/2017 10:13:10

Bài số 3: Chuyên đề MPLS VPN

Trong bài viết trước, chúng ta đã cùng nhau khảo sát cách thức thực hiện MPLS – VPN với hai kỹ thuật định tuyến PE – CE là Static route và RIP. Trong bài viết này, chúng ta sẽ cùng thực hiện cấu hình MPLS – VPN với giao thức định tuyến PE – CE là OSPF và EIGRP.

Bài lab này sẽ sử dụng lại Core MPLS đã xây dựng ở bài viết trước. Giao thức định tuyến PE – CE trong bài này sẽ là OSPF và EIGRP thay cho Static route và RIP ở bài trước. Để tiện theo dõi, phần cấu hình MPLS Core và tạo VRF cho các khách hàng sẽ được trình bày lại trong bài viết này.

Sơ đồ bài lab:

Hình 1 – Sơ đồ bài lab

Mô tả:

Bài lab ở hình 1 mô phỏng một kịch bản có hai khách hàng muốn thuê đường truyền MPLS – VPN của ISP. Các router R1A và R5A là các router đấu nối của khách hàng A, các router R1B và R5B là các router đấu nối của khách hàng B. Các router R2, R3 và R4 đóng vai trò các router MPLS của một core ISP và sẽ thực hiện tạo các đường MPLS – VPN để đấu nối giữa các chi nhánh của các khách hàng A và B.

Khách hàng A sẽ chạy OSPF còn khách hàng B sẽ chạy EIGRP với ISP. Kết quả cuối cùng sau khi thiết lập thành công VPN là các router chi nhánh của mỗi khách hàng sẽ phải thấy được các subnet của nhau trong bảng định tuyến của mình, các subnet của A đi đến nhau được (loopback 0 của R1A đi đến được loopback 0 của R5A), các subnet của B đi đến nhau được (loopback 0 của R1B đi đến được loopback 0 của R5B).

Yêu cầu:

  • Tạo MPLS core.
  • Thực hiện các MPLS – VPN cho các khách hàng A và B.
  • Yêu cầu về định tuyến:
    • Khách hàng A chạy OSPF với nhà cung cấp dịch vụ.
    • Khách hàng B chạy EIGRP với nhà cung cấp dịch vụ.

​​Thực hiện:

Tạo MPLS – core:

Bước 1: Chạy một giao thức định tuyến IGP trong Core, đảm bảo mọi địa chỉ trong Core thấy nhau. Trong bài lab này ta chọn IGP là OSPF.

R2(config)#router ospf  1

R2(config-router)#network 2.2.2.0 0.0.0.255 area 0

R2(config-router)#network 192.168.23.0 0.0.0.255 area 0

R3(config)#router ospf  1

R3(config-router)# network 192.168.23.0 0.0.0.255 area 0

R3(config-router)# network 192.168.34.0 0.0.0.255 area 0

R4(config)#router ospf  1

R4(config-router)#network 4.4.4.0 0.0.0.255 area 0

R4(config-router)#network 192.168.34.0 0.0.0.255 area 0

Bước 2: Bật MPLS trên tất cả các router PE và P.

R2(config)#interface FastEthernet0/1

R2(config-if)# mpls ip

R3(config)#interface FastEthernet0/0

R3(config-if)# mpls ip

R3(config-if)#interface FastEthernet0/1

R3(config-if)# mpls ip

R4(config)#interface FastEthernet0/1

R4(config-if)# mpls ip

Show kiểm tra việc thiết lập quan hệ LDP:

R3#show mpls ldp neighbor

    Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 3.3.3.3:0

        TCP connection: 2.2.2.2.646 - 3.3.3.3.48539

        State: Oper; Msgs sent/rcvd: 26/26; Downstream

        Up time: 00:16:44

        LDP discovery sources:

          FastEthernet0/0, Src IP addr: 192.168.23.2

        Addresses bound to peer LDP Ident:

          192.168.23.2    2.2.2.2        

    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 3.3.3.3:0

        TCP connection: 4.4.4.4.48088 - 3.3.3.3.646

        State: Oper; Msgs sent/rcvd: 26/27; Downstream

        Up time: 00:16:43

        LDP discovery sources:

          FastEthernet0/1, Src IP addr: 192.168.34.4

        Addresses bound to peer LDP Ident:

          192.168.34.4    4.4.4.4      

Chú ý: Các interface loopback cần phải được quảng bá đi đúng subnet – mask của nó. Điều này nhằm đảm bảo hệ thống chuyển mạch nhãn hoạt động đúng đắn. Muốn vậy, ngay từ đầu đặt địa chỉ cho các loopback với prefix – length /32 hoặc chọn kiểu network – type là point – to – point cho các loopback này.

R2(config)#interface Loopback0

R2(config-if)#ip ospf network point-to-point

R3(config)#interface Loopback0

R3(config-if)#ip ospf network point-to-point

R4(config)#interface Loopback0

R4(config-if)#ip ospf network point-to-point

Bước 3: Bật BGP trên các PE router.

R2(config)#router bgp 234

R2(config-router)#neighbor 4.4.4.4 remote-as 234

R2(config-router)#neighbor 4.4.4.4 update-source Loopback0

R4(config)#router bgp 234

R4(config-router)#neighbor 2.2.2.2 remote-as 234

R4(config-router)#neighbor 2.2.2.2 update-source Loopback0

Bước 4: Bật tính năng VPNv4 cho BGP.

R2(config)#router bgp 234

R2(config-router)#address-family vpnv4

R2(config-router-af)#neighbor 4.4.4.4 activate

 

R4(config)#router bgp 234

R4(config-router)#address-family vpnv4

R4(config-router-af)#neighbor 2.2.2.2 activate

Khách hàng A (chạy OSPF):

Bước 1: Tạo VRF cho khách hàng A trên các router PE (ở đây là các router R2 và R4):

R2(config)#ip vrf A

R2(config-vrf)# rd 15:15

R2(config-vrf)#route-target export 1:1

R2(config-vrf)#route-target import 5:5

R4(config)#ip vrf A

R4(config-vrf)#rd 15:15

R4(config-vrf)#route-target export 5:5

R4(config-vrf)#route-target import 1:1

Bước 2: Gán các VRF này vào các cổng tương ứng và tiến hành đặt địa chỉ IP:

R2(config)#interface s2/1

R2(config-if)#ip vrf forwarding A

R2(config-if)#ip address 192.168.12.2 255.255.255.0

R4(config)#interface s2/1

R4(config-if)#ip vrf forwarding A

R4(config-if)#ip address 192.168.45.4 255.255.255.0

Bước 3: Thực hiện đặt địa chỉ IP như đã chỉ ra trên sơ đồ cho khách hàng A. Ping kiểm tra giữa PE và CE.

Trên R2:

R2#ping vrf A 192.168.12.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 32/69/156 ms

R2#

Trên R4:

R4#ping vrf A 192.168.45.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.45.5, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 28/46/68 ms

Bước 4: Chạy OSPF trên các router khách hàng.

R1A(config)#router ospf 1

R1A(config-router)#network 0.0.0.0 255.255.255.255 area 0

R5A(config)#router ospf 1

R5A(config-router)#network 0.0.0.0 255.255.255.255 area 0

Bước 5: Trên các router PE chạy giao thức OSPF cho VRF A.

R2(config)#router ospf 11 vrf A

R2(config-router)#network 192.168.12.0 0.0.0.255 area 0

R4(config)#router ospf 11 vrf A

R4(config-router)#network 192.168.45.0 0.0.0.255 area 0

Bước 6: Kiểm tra bảng định tuyến tương ứng với VRF A trên các router PE, ta thấy các route từ khách hàng đã được học:

R2#sh ip route vrf A

C    192.168.12.0/24 is directly connected, Serial2/1

     1.0.0.0/32 is subnetted, 1 subnets

O       1.1.1.1 [110/65] via 192.168.12.1, 00:13:26, Serial2/1

R4#show ip route vrf A

C    192.168.45.0/24 is directly connected, Serial2/1

     5.0.0.0/32 is subnetted, 1 subnets

O       5.5.5.5 [110/65] via 192.168.45.5, 00:13:03, Serial2/1

Kiểm tra mối quan hệ láng giềng từ các router biên của khách hàng:

R1A#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

192.168.12.2      0   FULL/  -        00:00:38    192.168.12.2    Serial2/0

R5A#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

192.168.45.4      0   FULL/  -        00:00:36    192.168.45.4    Serial2/0

Bước 7: Trên các router PE, thực hiện redistribute các route OSPF của khách hàng A vào MP – BGP:

Trên R2:

R2(config)#router bgp 234

R2(config-router)#address-family ipv4 vrf A

R2(config-router-af)#redistribute ospf 11 vrf A

Trên R4:

R4(config)#router bgp 234

R4(config-router)#address-family ipv4 vrf A

R4(config-router-af)#redistribute ospf 11 vrf A

Bước 8: Kiểm tra trên các router PE rằng đã nhận được các route OSPF từ đầu kia:

R2#show ip bgp vpnv4 vrf A

BGP table version is 9, local router ID is 2.2.2.2

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 15:15 (default for vrf A)

*> 1.1.1.1/32       192.168.12.1            65         32768 ?

*>i5.5.5.5/32       4.4.4.4                 65    100      0 ?

*> 192.168.12.0     0.0.0.0                  0         32768 ?

*>i192.168.45.0     4.4.4.4                  0    100      0 ?

R4#show ip bgp vpnv4 vrf A

BGP table version is 9, local router ID is 4.4.4.4

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 15:15 (default for vrf A)

*>i1.1.1.1/32       2.2.2.2                 65    100      0 ?

*> 5.5.5.5/32       192.168.45.5            65         32768 ?

*>i192.168.12.0     2.2.2.2                  0    100      0 ?

*> 192.168.45.0     0.0.0.0                  0         32768 ?

Bước 9: Trên các router PE, tại VRF A, thực hiện redistribute các route BGP vào OSPF.

R2(config)#router ospf 11 vrf A

R2(config-router)# redistribute bgp 234 subnets

R4(config)#router ospf 11 vrf A

R4(config-router)# redistribute bgp 234 subnets

Bước 10: Lúc này hai đầu khách hàng đã thấy được nhau. Ta thực hiện một số thao tác kiểm tra trên các router khách hàng.

Xem bảng định tuyến:

R1A#show ip route ospf

O IA 192.168.45.0/24 [110/65] via 192.168.12.2, 00:31:17, Serial2/0

     5.0.0.0/32 is subnetted, 1 subnets

O IA    5.5.5.5 [110/129] via 192.168.12.2, 00:31:17, Serial2/0

R5A#show ip route ospf

O IA 192.168.12.0/24 [110/65] via 192.168.45.4, 00:31:50, Serial2/0

     1.0.0.0/32 is subnetted, 1 subnets

O IA    1.1.1.1 [110/129] via 192.168.45.4, 00:31:50, Serial2/0

Ta để ý rằng các site R1A và R5A thấy các subnet của nhau được hiển thị thành các route O IA trong bảng định tuyến dù rằng ta chỉ cấu hình một Area 0 cho tiến trình OSPF giữa PE và CE. Điều này xảy ra vì kỹ thuật MPLS – VPN sẽ coi MPLS Core như một Super Backbone: hai chi nhánh của khách hàng khi đấu nối vào backbone này sẽ được xem như là hai Area khác nhau đấu vào vùng backbone nên chúng thấy các subnet của nhau thành các route liên vùng (O IA), tương tự như trong kiến trúc OSPF thông thường trong mạng doanh nghiệp khi các Area khác nhau đấu nối vào Area 0 sẽ thấy các subnet của nhau trong bảng định tuyến là O IA.

Ping kiểm tra:

R1A#ping 5.5.5.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 172/234/352 ms

R5A#ping 1.1.1.1

Type 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 = 140/200/224 ms

Khách hàng B (chạy EIGRP):

Bước 1: Tạo VRF cho khách hàng A trên các router PE (ở đây là các router R2 và R4):

R2(config)#ip vrf B

R2(config-vrf)#rd 67:67

R2(config-vrf)#route-target export 6:6

R2(config-vrf)#route-target import 7:7

R4(config)#ip vrf B

R4(config-vrf)#rd 67:67

R4(config-vrf)#route-target export 7:7

R4(config-vrf)#route-target import 6:6

Bước 2: Gán các VRF này vào các cổng tương ứng và tiến hành đặt địa chỉ IP:

R2(config)#interface s2/2

R2(config-if)#ip vrf forwarding B

R2(config-if)#ip address 192.168.12.2 255.255.255.0

R4(config)#interface s2/2

R4(config-if)#ip vrf forwarding B

R4(config-if)#ip address 192.168.45.4 255.255.255.0

Bước 3: Thực hiện đặt địa chỉ IP như đã chỉ ra trên sơ đồ cho khách hàng B. Để ý rằng bài lab này cố tình để địa chỉ hai khách hàng A và B hoàn toàn giống nhau. Ping kiểm tra giữa PE và CE:

Trên R2:

R2#ping vrf B 192.168.12.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 32/69/156 ms

R2#

Trên R4:

R4#ping vrf B 192.168.45.5

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.45.5, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 28/46/68 ms

Bước 4: Chạy EIGRP trên các router khách hàng.

R1B(config)# router eigrp 100

R1B(config-router)#network 0.0.0.0

R1B(config-router)#no auto-summary

R5B(config)# router eigrp 100

R5B(config-router)#network 0.0.0.0

R5B(config-router)#no auto-summary

Bước 5: Trên các router PE chạy giao thức EIGRP cho VRF B.

R2(config)#router eigrp 1

R2(config-router)#address-family ipv4 vrf B

R2(config-router-af)#network 192.168.12.0

R2(config-router-af)#autonomous-system 100

R2(config-router-af)#no auto-summary

R4(config)#router eigrp 1

R4(config-router)#address-family ipv4 vrf B

R4(config-router-af)#network 192.168.12.0

R4(config-router-af)#autonomous-system 100

R4(config-router-af)#no auto-summary

Chú ý: Trong các tiến trình EIGRP chạy cho VRF B, chúng ta phải khai báo số autonomous system (AS) cho khớp với số AS của các tiến trình EIGRP đang chạy trên các router của khách hàng. Điều này được thực hiện bằng câu lệnh “autonomous-system”.

Bước 6: Kiểm tra bảng định tuyến tương ứng với VRF B trên các router PE, ta thấy các route từ khách hàng đã được học:

R2#show ip route vrf B

C    192.168.12.0/24 is directly connected, Serial2/2

     1.0.0.0/24 is subnetted, 1 subnets

D       1.1.1.0 [90/2297856] via 192.168.12.1, 00:11:45, Serial2/2

R4#show ip route vrf B

C    192.168.45.0/24 is directly connected, Serial2/2

     5.0.0.0/24 is subnetted, 1 subnets

D       5.5.5.0 [90/2297856] via 192.168.45.5, 00:12:20, Serial2/2

Kiểm tra mối quan hệ láng giềng từ các router biên của khách hàng:

R1B#show ip eigrp neighbors

IP-EIGRP neighbors for process 100

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

0   192.168.12.2            Se2/0             11 00:14:14  200  2700  0  5

R5B#show ip eigrp neighbors

IP-EIGRP neighbors for process 100

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

0   192.168.45.4            Se2/0             11 00:14:41  396  2376  0  3

Bước 7: Trên các router PE, thực hiện redistribute các route EIGRP của khách hàng B vào MP – BGP:

R2(config)#router bgp 234

R2(config-router)#address-family ipv4 vrf B

R2(config-router-af)#redistribute eigrp 100

R4(config)#router bgp 234

R4(config-router)#address-family ipv4 vrf B

R4(config-router-af)#redistribute eigrp 100

Bước 8: Kiểm tra trên các router PE rằng đã nhận được các route EIGRP từ đầu kia:

R2#show ip bgp vpnv4 vrf B

BGP table version is 21, local router ID is 2.2.2.2

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 67:67 (default for vrf B)

*> 1.1.1.0/24       192.168.12.1       2297856         32768 ?

*>i5.5.5.0/24       4.4.4.4            2297856    100      0 ?

*> 192.168.12.0     0.0.0.0                  0         32768 ?

*>i192.168.45.0     4.4.4.4                  0    100      0 ?

 

 

R4#show ip bgp vpnv4 vrf B

BGP table version is 21, local router ID is 4.4.4.4

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 67:67 (default for vrf B)

*>i1.1.1.0/24       2.2.2.2            2297856    100      0 ?

*> 5.5.5.0/24       192.168.45.5       2297856         32768 ?

*>i192.168.12.0     2.2.2.2                  0    100      0 ?

*> 192.168.45.0     0.0.0.0                  0         32768 ?

Bước 9: Trên các router PE, tại VRF B, thực hiện redistribute các route BGP vào EIGRP.

R2(config)#router eigrp 1

R2(config-router)#address-family ipv4 vrf B

R2(config-router-af)#redistribute bgp 234 metric 10000 100 255 1 1500

R4(config)#router eigrp 1

R4(config-router)#address-family ipv4 vrf B

R4(config-router-af)#redistribute bgp 234 metric 10000 100 255 1 1500

Bước 10: Lúc này hai đầu khách hàng đã thấy được nhau. Ta thực hiện một số thao tác kiểm tra trên các router khách hàng.

Xem bảng định tuyến:

R1B#show ip route eigrp

D    192.168.45.0/24 [90/2681856] via 192.168.12.2, 00:25:08, Serial2/0

     5.0.0.0/24 is subnetted, 1 subnets

D       5.5.5.0 [90/2809856] via 192.168.12.2, 00:25:08, Serial2/0

R5B#show ip route eigrp

D    192.168.12.0/24 [90/2681856] via 192.168.45.4, 00:25:40, Serial2/0

     1.0.0.0/24 is subnetted, 1 subnets

D       1.1.1.0 [90/2809856] via 192.168.45.4, 00:25:40, Serial2/0

Thực hiện ping kiểm tra:

R1B#ping 5.5.5.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 148/228/412 ms

R5B#ping 1.1.1.1

Type 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 = 204/262/340 ms

Đến đây, chúng ta đã hoàn thành yêu cầu đặt ra của bài lab.

Trong các bài viết tiếp theo, chúng ta sẽ cùng tìm hiểu tiếp các khía cạnh khác của MPLS VPN.

 

TRUNG TÂM WAREN