Bài viết chuyên đề

MPLS VPN: OVERLAPPING VPN

29/11/2017 11:48:32

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

Trong các bài viết trước, chúng ta đã cùng khảo sát kỹ thuật MPLS – VPN với các giao thức định tuyến PE – CE từ IGP cho đến BGP. Trong bài viết này, chúng ta sẽ cùng xem xét kỹ thuật tạo các VPN phức tap để đáp ứng các yêu cầu phức tạp hơn của khách hàng. Như với các bài viết trước, để quan sát vấn đề một cách trực quan, chúng ta cùng khảo sát thông qua một ví dụ lab.

Sơ đồ:

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

Mô tả:

Trên sơ đồ hình 1 là một core MPLS của một ISP, core này đang cung cấp dịch vụ MPLS – VPN cho các khách hàng A và B. Các router CE của khách hàng A là: A, A1, A2; các router CE của khách hàng B là B, B1, B2. Với khách hàng A, site A là site chính, các site A1 và A2 là các site chi nhánh; tương tự, với khách hàng B, site B là site chính, các site B1 và B2 là các site chi nhánh.

Yêu cầu đầu tiên được đặt ra trong việc thuê VPN hiển nhiên là các site của cùng một công ty phải đi đến được nhau: A, A1 và A2 đi đến được các subnet của nhau và B, B1, B2 đi đến được các subnet của nhau.

Bên cạnh đó, hai công ty A và B này lại có nhu cầu trao đổi dữ liệu kinh doanh với nhau nên một yêu cầu khác được đặt ra là hai công ty này có thể truy xuất được vào mạng của nhau. Tuy nhiên, để đảm bảo về vấn đề bảo mật, việc truy xuất này sẽ bị giới hạn. Các server dữ liệu cần trao đổi thông tin sẽ được đặt tại trụ sở chính của hai công ty và vì vậy chỉ có hai site A và B của hai công ty có thể đi đến được nhau, A và B không thể đi đến được các site còn lại của phía bên kia.

Nhà cung cấp dịch vụ sẽ phải cấu hình MPLS – VPN nối giữa các công ty để đáp ứng được yêu cầu nêu trên (hình 2).

Hình 2 – Các VPN đấu nối giữa các site.

Hình 2 thể hiện cấu trúc VPN được thực hiện phải đảm bảo các yêu cầu sau:

  • A, A1 và A2 đi đến nhau được.
  • B, B1 và B2 đi đến nhau được.
  • A và B đi đến nhau được.
  • A không đi đến được B1, B2 và B không đi đến được A1 và A2.

Đây là một dạng VPN phức tạp: hai VPN của hai công ty A và B có sự trùng lấp một phần lên nhau, ta gọi cấu trúc này là Overlapping VPN.

Yêu cầu:

  • Thiết lập core MPLS.
  • Cấu hình MPLS – VPN đáp ứng yêu cầu được nêu ra trong phần “Mô tả”.

Thực hiện:

Thiết lập Core MPLS:

Bước này rất giống với các bài viết trước, được nêu lại để tiện cho việc theo dõi.

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.

R1(config)#router ospf  1

R1(config-router)#network 1.1.1.1 0.0.0.0 area 0

R1(config-router)#network 192.168.12.1 0.0.0.0 area 0

R2(config)#router ospf  1

R2(config-router)#network 192.168.12.2 0.0.0.0 area 0

R2(config-router)#network 192.168.23.2 0.0.0.0 area 0

R3(config)#router ospf  1

R3(config-router)#network 3.3.3.3 0.0.0.0 area 0

R3(config-router)#network 192.168.23.3 0.0.0.0 area 0

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

R1(config)#interface FastEthernet0/1

R1(config-if)#mpls ip

R2(config)#interface FastEthernet0/0

R2(config-if)#mpls ip

R2(config-if)#interface FastEthernet0/1

R2(config-if)#mpls ip

R3(config)#interface FastEthernet0/0

R3(config-if)#mpls ip

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

R2#show mpls ldp neighbor

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

        TCP connection: 1.1.1.1.646 - 2.2.2.2.39046

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

        Up time: 01:48:13

        LDP discovery sources:

          FastEthernet0/0, Src IP addr: 192.168.12.1

        Addresses bound to peer LDP Ident:

          192.168.12.1    1.1.1.1        

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

        TCP connection: 3.3.3.3.58701 - 2.2.2.2.646

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

        Up time: 01:43:03

        LDP discovery sources:

          FastEthernet0/1, Src IP addr: 192.168.23.3

        Addresses bound to peer LDP Ident:

          192.168.23.3    3.3.3.3    

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

R1(config)#router bgp 123

R1(config-router)#neighbor 3.3.3.3 remote-as 123

R1(config-router)#neighbor 3.3.3.3 update-source Loopback0

R3(config)#router bgp 123

R3(config-router)#neighbor 1.1.1.1 remote-as 123

R3(config-router)#neighbor 1.1.1.1 update-source Loopback0

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

R1(config)#router bgp 123

R1(config-router)#address-family vpnv4

R1(config-router-af)#neighbor 3.3.3.3 activate

R3(config)#router bgp 123

R3(config-router)#address-family vpnv4

R3(config-router-af)#neighbor 1.1.1.1 activate

Xây dựng Overlapping VPN:

Để có thể thực hiện được VPN phức tạp theo yêu cầu ở trên, chúng ta cần quy hoạch cẩn thận các giá trị RT được sử dụng để đảm bảo phân bố các route đến đúng các VRF thích hợp của các site. Theo như phần mô tả, chúng ta thực hiện tạo các VRF cùng các giá trị RD, RT thích hợp theo như được liệt kê trong các bảng 1 và 2:

Site

VRF

RD

RT (cả Import và Export)

A

A

100:1

100:100

300:300

A1

A1

100:2

100:100

B2

A2

100:3

200:200

         Bảng 1 – Phân bố VRF trên router PE R1.
 

Site

VRF

RD

RT (cả Import và Export)

B

B

200:1

200:200

300:300

B1

B1

200:2

200:200

A2

A2

200:3

100:100

             Bảng 2 – Phân bố VRF trên router PE R3.

Từ các bảng ta thấy, các site A, A1 và A2 cùng sử dụng chung bộ RT (Import và Export) là 100:100 nên các site này có thể đi đến nhau; các site B, B1, B2 sử dụng chung bộ RT là 200:200 nên chúng có thể đi đến nhau. Ngoài ra, hai site A và B còn được khai báo thêm bộ RT 300:300 nên chúng có thể đi đến nhau, giá trị RT này chỉ xuất hiện trên các VRF của A và B nên chỉ A và B đi đến nhau được, các site của phía B không đi được đến A và các site của phía A không đi được đến B.

Lần này, vì các khách hàng có thể đi đến nhau, nên các subnet sử dụng trên các site của các khách hàng không được phép trùng nhau. Sơ đồ lab sử dụng quy hoạch IP đấu nối cũng như IP cho các subnet của các site như chỉ ra trên hình 1.

Bước 1: Tạo các VRF trên các PE theo như phân bố trên các bảng 1 và 2.

Trên PE R1:

R1(config)#ip vrf A

R1(config-vrf)#rd 100:1

R1(config-vrf)#route-target both 100:100

R1(config-vrf)#route-target both 300:300

R1(config-vrf)#exit

R1(config)#ip vrf A1

R1(config-vrf)#rd 100:2

R1(config-vrf)#route-target both 100:100

R1(config-vrf)#exit

R1(config)#ip vrf B2

R1(config-vrf)#rd 100:3

R1(config-vrf)#route-target both 200:200

R1(config-vrf)#exit

Trên PE R3:

R3(config)#ip vrf B

R3(config-vrf)#rd 200:1

R3(config-vrf)#route-target both 200:200

R3(config-vrf)#route-target both 300:300

R3(config-vrf)#exit

R3(config)#ip vrf B1

R3(config-vrf)#rd 200:2

R3(config-vrf)#route-target both 200:200

R3(config-vrf)#exit

R3(config)#ip vrf A2

R3(config-vrf)#rd 200:3

R3(config-vrf)#route-target both 100:100

R3(config-vrf)#exit

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

Trên PE R1:

R1(config)#interface s2/1

R1(config-if)#ip vrf forwarding A

R1(config-if)#ip address 192.168.1.254 255.255.255.0

R1(config-if)#exit

R1(config)#interface s2/2

R1(config-if)#ip vrf forwarding A1

R1(config-if)#ip address 192.168.11.254 255.255.255.0

R1(config-if)#exit

R1(config)#interface s2/3

R1(config-if)#ip vrf forwarding B2

R1(config-if)#ip address 192.168.222.254 255.255.255.0

R1(config-if)#exit

Trên PE R3:

R3(config)#interface s2/1

R3(config-if)#ip vrf forwarding B

R3(config-if)#ip address 192.168.2.254 255.255.255.0

R3(config-if)#exit

R3(config)#interface s2/2

R3(config-if)#ip vrf forwarding B1

R3(config-if)#ip address 192.168.22.254 255.255.255.0

R3(config-if)#exit

R3(config)#interface s2/3

R3(config-if)#ip vrf forwarding A2

R3(config-if)#ip address 192.168.111.254 255.255.255.0

R3(config-if)#exit

Bước 4: Thực hiện đặt IP trên các site khách hàng theo như quy hoạch IP được thể hiện trong sơ đồ hình 1. Sau khi đặt xong các IP, ta thực hiện ping kiểm tra các kết nối giữa PE – CE:

Trên PE R1:

R1#ping vrf A 192.168.1.1

Type escape sequence to abort.

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

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/36/56 ms

R1#ping vrf A1 192.168.11.1

Type escape sequence to abort.

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

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/40/60 ms

R1#ping vrf B2 192.168.222.1

Type escape sequence to abort.

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

!!!!!

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

Trên PE R3:

R3#ping vrf B 192.168.2.1

Type escape sequence to abort.

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

!!!!!

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

R3#ping vrf B1 192.168.22.1

Type escape sequence to abort.

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

!!!!!

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

R3#ping vrf A2 192.168.111.1

Type escape sequence to abort.

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

!!!!!

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

Bước 5: Chạy định tuyến giữa PE – CE. Trong bài lab này, chúng ta chọn giao thức chạy giữa PE và CE của cả hai công ty là EIGRP. Công ty A sử dụng EIGRP 100 và công ty B sử dụng EIGRP 200.

Chạy EIGRP với khách hàng A:

R1(config)#router eigrp 1

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

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

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

R1(config-router-af)#network 192.168.1.0

R1(config-router-af)#exit

R1(config-router)#address-family ipv4 vrf A1

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

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

R1(config-router-af)#network 192.168.11.0

R1(config-router-af)#exit

R3(config)#router eigrp 1

R3(config-router)#address-family ipv4 vrf A2

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

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

R3(config-router-af)#network 192.168.111.0

R3(config-router-af)#exit

A(config)#router eigrp 100

A(config-router)#no auto-summary

A(config-router)#network 192.168.1.0

A1(config)#router eigrp 100

A1(config-router)#no auto-summary

A1(config-router)#network 192.168.11.0

A2(config)#router eigrp 100

A2(config-router)#no auto-summary

A2(config-router)#network 192.168.111.0

Chạy EIGRP với khách hàng B:

R3(config)#router eigrp 1

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

R3(config-router-af)#autonomous-system 200

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

R3(config-router-af)#network 192.168.2.0

R3(config-router-af)#exit

R3(config-router)#address-family ipv4 vrf B1

R3(config-router-af)#autonomous-system 200

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

R3(config-router-af)#network 192.168.22.0

R3(config-router-af)#exit

R1(config)#router eigrp 1

R1(config-router)#address-family ipv4 vrf B2

R1(config-router-af)#autonomous-system 200

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

R1(config-router-af)#network 192.168.222.0

R1(config-router-af)#exit

B(config)#router eigrp 200

B(config-router)#no auto-summary

B(config-router)#network 192.168.2.0

B1(config)#router eigrp 200

B1(config-router)#no auto-summary

B1(config-router)#network 192.168.22.0

B2(config)#router eigrp 200

B2(config-router)#no auto-summary

B2(config-router)#network 192.168.222.0

Bước 6: Redistribute các route của các khách hàng vào MP – BGP trên các router PE:

Trên PE R1:

R1(config)#router bgp 123

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

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

R1(config-router-af)#exit

R1(config-router)#address-family ipv4 vrf A1

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

R1(config-router-af)#exit

R1(config-router)#address-family ipv4 vrf B2

R1(config-router-af)#redistribute eigrp 200

R1(config-router-af)#exit

Trên PE R3:

R3(config)#router bgp 123

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

R3(config-router-af)#redistribute eigrp 200

R3(config-router-af)#exit

R3(config-router)#address-family ipv4 vrf B1

R3(config-router-af)#redistribute eigrp 200

R3(config-router-af)#exit

R3(config-router)#address-family ipv4 vrf A2

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

R3(config-router-af)#exit

Bước 7: Ta cũng thực hiện redistribute MP – BGP vào các VRF của các khách hàng.

Trên PE R1:

R1(config)#router eigrp 1

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

R1(config-router-af)#redistribute bgp 123 metric 10000 10 255 1 1500

R1(config-router-af)#exit

R1(config-router)#address-family ipv4 vrf A1

R1(config-router-af)#redistribute bgp 123 metric 10000 10 255 1 1500

R1(config-router-af)#exit

R1(config-router)#address-family ipv4 vrf B2

R1(config-router-af)#redistribute bgp 123 metric 10000 10 255 1 1500

R1(config-router-af)#exit

Trên PE R3:

R3(config)#router eigrp 1

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

R3(config-router-af)#redistribute bgp 123 metric 10000 10 255 1 1500

R3(config-router-af)#exit

R3(config-router)#address-family ipv4 vrf B1

R3(config-router-af)#redistribute bgp 123 metric 10000 10 255 1 1500

R3(config-router-af)#exit

R3(config-router)#address-family ipv4 vrf A2

R3(config-router-af)#redistribute bgp 123 metric 10000 10 255 1 1500

R3(config-router-af)#exit

Đến đây chúng ta đã hoàn tất việc cấu hình Overlapping VPN. Trong bước tiếp theo, chúng ta sẽ thực hiện kiểm tra xem kết quả cấu hình có đáp ứng được yêu cầu đặt ra hay không.

Bước 8: Kiểm tra kết quả thực hiện.

Ta kiểm tra bảng định tuyến EIGRP trên các site chi nhánh của hai công ty.

Công ty A:

A1#show ip route eigrp

D    192.168.111.0/24 [90/2681856] via 192.168.11.254, 01:02:01, Serial2/0

     172.16.0.0/24 is subnetted, 3 subnets

D       172.16.0.0 [90/2809856] via 192.168.11.254, 01:02:31, Serial2/0

D       172.16.2.0 [90/2809856] via 192.168.11.254, 01:02:01, Serial2/0

D    192.168.1.0/24 [90/2681856] via 192.168.11.254, 01:02:31, Serial2/0

A2#show ip route eigrp

     172.16.0.0/24 is subnetted, 3 subnets

D       172.16.0.0 [90/2809856] via 192.168.111.254, 01:02:34, Serial2/0

D       172.16.1.0 [90/2809856] via 192.168.111.254, 01:02:34, Serial2/0

D    192.168.11.0/24 [90/2681856] via 192.168.111.254, 01:02:34, Serial2/0

D    192.168.1.0/24 [90/2681856] via 192.168.111.254, 01:02:34, Serial2/0

Công ty B:

B1#show ip route eigrp

     172.17.0.0/24 is subnetted, 3 subnets

D       172.17.0.0 [90/2809856] via 192.168.22.254, 01:06:16, Serial2/0

D       172.17.2.0 [90/2809856] via 192.168.22.254, 01:06:16, Serial2/0

D    192.168.2.0/24 [90/2681856] via 192.168.22.254, 01:06:16, Serial2/0

D    192.168.222.0/24 [90/2681856] via 192.168.22.254, 01:06:16, Serial2/0

B2#show ip route eigrp

     172.17.0.0/24 is subnetted, 3 subnets

D       172.17.1.0 [90/2809856] via 192.168.222.254, 01:06:23, Serial2/0

D       172.17.0.0 [90/2809856] via 192.168.222.254, 01:06:38, Serial2/0

D    192.168.22.0/24 [90/2681856] via 192.168.222.254, 01:06:23, Serial2/0

D    192.168.2.0/24 [90/2681856] via 192.168.222.254, 01:06:38, Serial2/0

Đối chiếu với quy hoạch IP trên sơ đồ hình 1, ta thấy rằng các router tại các site chi nhánh chỉ thấy được các subnet của các site khác thuộc cùng công ty và vì vậy chỉ đi đến được các địa chỉ thuộc về công ty của mình.

Ta kiểm tra bảng định tuyến của hai site trụ sở chính:

A#show ip route eigrp

D    192.168.111.0/24 [90/2681856] via 192.168.1.254, 01:09:07, Serial2/0

     172.17.0.0/24 is subnetted, 1 subnets

D EX    172.17.0.0 [170/2172416] via 192.168.1.254, 01:09:36, Serial2/0

     172.16.0.0/24 is subnetted, 3 subnets

D       172.16.1.0 [90/2809856] via 192.168.1.254, 01:09:36, Serial2/0

D       172.16.2.0 [90/2809856] via 192.168.1.254, 01:09:07, Serial2/0

D    192.168.11.0/24 [90/2681856] via 192.168.1.254, 01:09:36, Serial2/0

D EX 192.168.2.0/24 [170/2172416] via 192.168.1.254, 01:09:36, Serial2/0

B#show ip route eigrp

     172.17.0.0/24 is subnetted, 3 subnets

D       172.17.1.0 [90/2809856] via 192.168.2.254, 01:09:37, Serial2/0

D       172.17.2.0 [90/2809856] via 192.168.2.254, 01:10:07, Serial2/0

     172.16.0.0/24 is subnetted, 1 subnets

D EX    172.16.0.0 [170/2172416] via 192.168.2.254, 01:10:07, Serial2/0

D    192.168.22.0/24 [90/2681856] via 192.168.2.254, 01:09:37, Serial2/0

D EX 192.168.1.0/24 [170/2172416] via 192.168.2.254, 01:10:07, Serial2/0

D    192.168.222.0/24 [90/2681856] via 192.168.2.254, 01:10:07, Serial2/0

Từ kết quả show ta thấy rằng bên cạnh các subnet của cùng công ty, hai router tại hai site chính còn thấy thêm các prefix của nhau, và như thế chúng có thể đi đến nhau.

Ta kiểm tra điều này qua các lệnh ping:

A#ping 172.16.1.1 source 172.16.0.1

Type escape sequence to abort.

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

Packet sent with a source address of 172.16.0.1

!!!!! <- A đi được đến A1

Success rate is 100 percent (5/5), round-trip min/avg/max = 52/92/124 ms

A#ping 172.16.2.1 source 172.16.0.1

Type escape sequence to abort.

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

Packet sent with a source address of 172.16.0.1

!!!!! <- A đi được đến A2

Success rate is 100 percent (5/5), round-trip min/avg/max = 120/155/188 ms

A#ping 172.17.0.1 source 172.16.0.1

Type escape sequence to abort.

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

Packet sent with a source address of 172.16.0.1

!!!!! <- A đi được đến B

Success rate is 100 percent (5/5), round-trip min/avg/max = 124/135/164 ms

A#ping 172.17.1.1 source 172.16.0.1

Type escape sequence to abort.

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

Packet sent with a source address of 172.16.0.1

..... <- A không đi đến được B1

Success rate is 0 percent (0/5)

A#ping 172.17.2.1 source 172.16.0.1

Type escape sequence to abort.

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

Packet sent with a source address of 172.16.0.1

..... <- A không đi đến được B2

Success rate is 0 percent (0/5)

Ta thực hiện ping kiểm tra tương tự với site B.

Chúng ta đã cùng nhau khảo sát việc cấu hình thiết lập một VPN phức tạp dạng overlapping VPN và thấy được rằng khi sử dụng kỹ thuật MPLS – VPN, các ISP có thể đáp ứng được những yêu cầu khá phức tạp và đa dạng của khách hàng. 

 

TRUNG TÂM WAREN