Bài viết chuyên đề

MPLS VPN: STATIC ROUTE VÀ RIP

17/11/2017 11:52:40

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

Trong bài viết trước, chúng ta đã cùng điểm qua một ứng dụng của MPLS là BGP – Free Core. Trong các bài viết tiếp theo, chúng ta sẽ cùng điểm qua một ứng dụng khác cực kỳ nổi bật của MPLS đó là MPLS – VPN.

VPN – Virtual Private Network (Mạng riêng ảo) là kỹ thuật cho phép triển khai một hạ tầng mạng riêng biệt của một doanh nghiệp trên nền của một hạ tầng mạng chung. Với kỹ thuật này, mỗi doanh nghiệp giống như có hẳn một hạ tầng mạng truyền tải riêng để phục vụ cho việc trao đổi dữ liệu của công ty mình.

Ngày nay, MPLS – VPN nổi lên như một giải pháp vượt trội nhờ tính linh động trong việc thiết lập các VPN, tính tối ưu của lộ trình đường đi dữ liệu khách hàng qua core của ISP, có thể dễ dàng cung cấp hệ thống VPN phức tạp tới khách hàng, đáp ứng được các yêu cầu đa dạng của khách hàng trong việc đấu nối giữa các chi nhánh cũng như truy nhập Internet.

Chúng ta sẽ cùng tìm hiểu việc thiết lập các đường MPLS VPN qua một core MPLS được thực hiện như thế nào thông qua các bài lab sẽ được trình bày trong các bài viết tiếp theo đây. Tuy nhiên, vì MPLS – VPN là một vấn đề phức tạp, chúng ta cần phải nắm vững một số kiến thức về định tuyến (cả định tuyến trong và định tuyến ngoài), về chuyển mạch nhãn cũng như một số khái niệm về VRF, RD, RT,.v.v… trước khi thực hành lab. Khuôn khổ của các bài viết không cho phép review tất cả khối lượng kiến thức lớn như vậy nên các bạn quan tâm có thể tham khảo thêm các tài liệu khác để nắm được những vấn đề này. Một số tài liệu được khuyến nghị tham khảo về MPLS gồm:

  1. Luc de Ghein. MPLS Fundamentals. USA: Cisco Press.
  2. Cisco Systems. Implementing Cisco MPLS. USA: Cisco Press.
  3. Các tài liệu liên quan đến MPLS trên trang www.cisco.com

Lab MPLS – VPN:

Khi một khách hàng thuê đường MPLS VPN của ISP, họ sẽ phải chạy một kỹ thuật định tuyến nào đó với ISP. Việc cấu hình MPLS – VPN sẽ có một số khác biệt tùy thuộc vào kỹ thuật định tuyến chạy giữa khách hàng và ISP. Chúng ta sẽ cùng thực hiện các bài lab xây dựng MPLS – VPN với kỹ thuật định tuyến ISP – khách hàng (PE – CE) đi từ đơn giản đến phức tạp gồm: static routing, RIP, OSPF, EIGRP, BGP,… Chúng ta cũng sẽ cùng thực hiện các bài lab về VPN phức tạp và VPN cho phép đi Internet để thấy được tính chất linh hoạt, mềm dẻo và đa chức năng của MPLS – VPN.

Trong bài lab đầu tiên chúng ta sẽ cùng khảo sát với nhau việc triển khai MPLS – VPN với các kỹ thuật định tuyến PE – CE là Static route và RIP.

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.

Như đã nói ở trên, khách hàng khi thuê MPLS – VPN phải chạy định tuyến với ISP, chúng ta sẽ cùng khảo sát việc thiết lập MPLS – VPN khi khách hàng A sử dụng định tuyến tĩnh còn khách hàng B sử dụng giao thức RIPv2 với ISP. Kết quả cuối cùng sau khi thiết lập thành công VPN là 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 sử dụng Static route.

+ Khách hàng B chạy RIPv2 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 (Static route):

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: Cấu hình Static route với khách hàng A:

R2(config)#ip route vrf A 1.1.1.0 255.255.255.0 192.168.12.1

R4(config)#ip route vrf A 5.5.5.0 255.255.255.0 192.168.45.5

Bước 5: Trên các router của khách hàng A, thực hiện các static route chỉ đến các mạng 1.1.1.0/24 và 5.5.5.0/24:

R1A(config)#ip route 5.5.5.0 255.255.255.0 192.168.12.2

R5A(config)#ip route 1.1.1.0 255.255.255.0 192.168.45.4

Bước 6: Trên các router PE, thực hiện redistribute các route static vào MP – BGP để các route này có thể được phân phối tới đầu kia của khách hàng:

R2(config)#router bgp 234

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

R2(config-router-af)#redistribute static

R4(config)#router bgp 234

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

R4(config-router-af)#redistribute static

Bước 7: Kiểm tra trên các router PE rằng đã nhận được các route static 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.0/24       192.168.12.1             0         32768 ?

*>i5.5.5.0/24       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.0/24       2.2.2.2                  0    100      0 ?

*> 5.5.5.0/24       192.168.45.5             0         32768 ?

Bước 8: Kiểm tra rằng các địa chỉ 1.1.1.1 và 5.5.5.5 đã thấy được nhau:

Trên R1A:

R1A#ping 5.5.5.5 source 1.1.1.1

 

Type escape sequence to abort.

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

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 168/224/296 ms

Trên R5A:

R5A#ping 1.1.1.1 source 5.5.5.5

 

Type escape sequence to abort.

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

Packet sent with a source address of 5.5.5.5

!!!!!

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

Như vậy hai địa chỉ 1.1.1.1 và 5.5.5.5 tại hai site của khách hàng A đã đi đến nhau được thông qua đường hầm MPLS – VPN và bằng static route. Muốn các địa chỉ khác cũng có thể đi đến được, ta phải thực hiện thêm vào các route static thích hợp.

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

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 định tuyến RIPv2 với khách hàng B:

R2(config)# router rip

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

R2(config-router-af)# version 2

R2(config-router-af)# network 192.168.12.0

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

R4(config)# router rip

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

R4(config-router-af)# version 2

R4(config-router-af)# network 192.168.45.0

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

Bước 5: Trên các router của khách hàng B cũng thực hiện chạy RIPv2:

R1B(config)# router rip

R1B(config-router)# version 2

R1B(config-router)# network 1.0.0.0

R1B(config-router)# network 192.168.12.0

R1B(config-router)# no auto-summary

R5B(config)# router rip

R5B(config-router)# version 2

R5B(config-router)# network 5.0.0.0

R5B(config-router)# network 192.168.45.0

R5B(config-router)# no auto-summary

Bước 6: Kiểm tra bảng định tuyến VRF B trên các router PE:

R2#show ip route vrf B

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, Serial2/2

     1.0.0.0/24 is subnetted, 1 subnets

R       1.1.1.0 [120/1] via 192.168.12.1, 00:00:17, Serial2/2

R4#show ip route vrf B

Gateway of last resort is not set

C    192.168.45.0/24 is directly connected, Serial2/2

     5.0.0.0/24 is subnetted, 1 subnets

R       5.5.5.0 [120/1] via 192.168.45.5, 00:00:13, Serial2/2

Bước 7: Trên các router PE, thực hiện redistribute các route RIP vào MP – BGP để các route này có thể được phân phối tới đầu kia của khách hàng:

R2(config)#router bgp 234

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

R2(config-router-af)#redistribute rip

R4(config)#router bgp 234

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

R4(config-router-af)#redistribute rip

Bước 8: Kiểm tra trên các router PE rằng đã nhận được các route RIP 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             1         32768 ?

*>i5.5.5.0/24       4.4.4.4                  1    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                  1    100      0 ?

*> 5.5.5.0/24       192.168.45.5             1         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 phải thực hiện redistribute các route BGP nhận được vào RIP:

R2(config)# router rip

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

R2(config-router-af)#redistribute bgp 234 metric 5

R4(config)# router rip

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

R4(config-router-af)#redistribute bgp 234 metric 5

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 rip

R    192.168.45.0/24 [120/5] via 192.168.12.2, 00:00:00, Serial2/0

     5.0.0.0/24 is subnetted, 1 subnets

R       5.5.5.0 [120/5] via 192.168.12.2, 00:00:00, Serial2/0

R5B#show ip route rip

R    192.168.12.0/24 [120/5] via 192.168.45.4, 00:00:07, Serial2/0

     1.0.0.0/24 is subnetted, 1 subnets

R       1.1.1.0 [120/5] via 192.168.45.4, 00:00:07, 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 = 136/216/368 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 = 136/216/368 ms

Trên đây, chúng ta đã cùng thực hiện MPLS VPN qua bài lab tạo MPLS – VPN với các kỹ thuật PE – CE là Static route và RIP. Chúng ta sẽ cùng khảo sát việc thiết lập MPLS – VPN với giao thức định tuyến PE – CE là các giao thức khác trong các bài viết tới.

TRUNG TÂM WAREN