3.3 Triển khai MPLS-VPN trên hệ thống router của Cisco
3.3.1 Triển khai MPLS-VPN trên hệ thống router của Cisco trong mơ hình MPLS-
VPN Inter AS
Hình 3.7 Mơ hình MPLS- VPN Inter AS
Mơ hình này mơ tả trao đổi các định tuyến MPLS- VPN giữa hai AS khác nhau: P1, PE1 và ASBR1 thuộc AS #100, P2, PE2 và ASBR2 thuộc AS2 #200.
Cấu hình MPLS- VPN bình thường trên các router P1, P2, PE1, PE2, và cấu hình VPNv4 eBGP giữa ASBR1 và ASBR2.
Cấu hình VPNv4 eBGP
Cấu hình giao diện ASBR1 và ASBR2 như sau: ASBR1#sh run int fa 0/0
interface FastEthernet0/0 description To ASBR2
ASBR2#sh run int fa 0/0 interface FastEthernet0/0 description To ASBR1
ip address 123.0.0.2 255.255.255.252 !
Một phiên MP-eBGP được thiết lập giữa ASBR1 và ASBR2: ASBR1#sh run | begin ^router bgp
router bgp 100
no bgp default ipv4-unicast no bgp default route-target filter bgp log-neighbor-changes
neighbor 10.10.0.1 remote-as 100
neighbor 10.10.0.1 update-source Loopback0 neighbor 123.0.0.2 remote-as 200
!
address-family vpnv4 neighbor 10.10.0.1 activate
neighbor 10.10.0.1 send-community extended neighbor 123.0.0.2 activate
neighbor 123.0.0.2 send-community both exit-address-family
!
Hình 3.8 Giao diện GNS3 với mơ hình MPLS-VPN Inter AS
Kiểm tra lại cấu hình
Các tiền tố MPLS học qua BGP: ASBR1#sh ip bgp vpnv4 all
BGP table version is 7, local router ID is 10.10.0.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: 100:1 *>i100.1.0.1/32 10.10.0.1 0 100 0 ? *> 200.1.0.1/32 123.0.0.2 0 200 ? Route Distinguisher: 100:2 *>i100.2.0.1/32 10.10.0.1 0 100 0 ? *> 200.2.0.1/32 123.0.0.2 0 200 ? Route Distinguisher: 100:3 *>i100.3.0.1/32 10.10.0.1 0 100 0 ?
Các nhãn MPLS học cùng với BGP: ASBR1#sh ip bgp vpnv4 all labels
Network Next Hop In label/Out label Route Distinguisher: 100:1 100.1.0.1/32 10.10.0.1 26/18 200.1.0.1/32 123.0.0.2 nolabel/26 Route Distinguisher: 100:2 100.2.0.1/32 10.10.0.1 27/19 200.2.0.1/32 123.0.0.2 nolabel/27 Route Distinguisher: 100:3 100.3.0.1/32 10.10.0.1 28/20 200.3.0.1/32 123.0.0.2 nolabel/28 MPLS LFIB: ASBR1#sh mpls for
Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 16 10.10.0.1/32 0 Fa1/0 10.1.1.1 17 Pop tag 10.10.0.0/32 0 Fa1/0 10.1.1.1 18 Pop tag 10.1.0.0/30 0 Fa1/0 10.1.1.1 22 Pop tag 123.0.0.2/32 2738 Fa0/0 123.0.0.2 26 18 100:1:100.1.0.1/32 \ 5554 Fa1/0 10.1.1.1 27 19 100:2:100.2.0.1/32 \ 0 Fa1/0 10.1.1.1 28 20 100:3:100.3.0.1/32 \ 0 Fa1/0 10.1.1.1 ASBR2#sh mpls for
Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 16 10.20.0.1/32 0 Fa1/0 10.2.1.1 17 Pop tag 10.20.0.0/32 0 Fa1/0 10.2.1.1 18 Pop tag 10.2.0.0/30 0 Fa1/0 10.2.1.1 22 Pop tag 123.0.0.1/32 7838 Fa0/0 123.0.0.1
26 18 100:1:200.1.0.1/32 \ 3658 Fa1/0 10.2.1.1 27 19 100:2:200.2.0.1/32 \ 1524 Fa1/0 10.2.1.1 28 20 100:3:200.3.0.1/32 \ 0 Fa1/0 10.2.1.1 Traceroute
Chạy một traceroute trong VRF VPN1 từ PE1 (100.1.0.1) đến PE2 (200.1.0.1): PE1#trace vrf VPN1 200.1.0.1
Type escape sequence to abort. Tracing the route to 200.1.0.1
1 10.1.0.1 [MPLS: Labels 18/26 Exp 0] 72 msec 60 msec 28 msec 2 10.1.1.2 [MPLS: Labels 22/26 Exp 0] 28 msec 60 msec 68 msec 3 123.0.0.2 [MPLS: Label 26 Exp 0] 28 msec 32 msec 28 msec 4 10.2.1.1 [MPLS: Labels 16/18 Exp 0] 28 msec 20 msec 32 msec 5 200.1.0.1 28 msec * 16 msec
Với lệnh CEF ta có thể thấy hai nhãn được sử dụng bởi PE1 để đến được PE2/ 200.1.0.1 là {18 26}
PE1#sh ip cef vrf VPN1 200.1.0.1
200.1.0.1/32, version 8, epoch 0, cached adjacency 10.1.0.1 0 packets, 0 bytes
tag information set
local tag: VPN-route-head
fast tag rewrite with Fa0/0, 10.1.0.1, tags imposed: {18 26} via 123.0.0.2, 0 dependencies, recursive
next hop 10.1.0.1, FastEthernet0/0 via 123.0.0.2/32 valid cached adjacency
tag rewrite with Fa0/0, 10.1.0.1, tags imposed: {18 26}
Nhãn {18} tương đương với 123.0.0.2 (ASBR2), và nhãn 26 là nhãn VPN được chọn bởi ASBR2 cho định tuyến này.
ASBR2#sh mpls for label 26 detail
Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 26 18 100:1:200.1.0.1/32 \
3658 Fa1/0 10.2.1.1 MAC/Encaps=14/22, MRU=1496, Tag Stack{16 18} CA030C27001CCA010C22001C8847 0001000000012000 No output feature configured
Ta có thể thấy rằng nhãn {26}đã bị bỏ đi và thay vào đó là nhãn {16 18}: nhãn {16} tương ứng với PE2, và nhãn {18} là nhãn VPN được chọn bởi PE2.
Mơ hình MPLS-VPN Inter AS là mơ hình dễ mở rộng nhưng hạn chế trong vấn đề bảo mật và chất lượng dịch vụ.
3.3.2 Triển khai MPLS-VPN trên hệ thống router của Cisco trong mơ hình MPLS-VPN CSC VPN CSC
Trong thực tế, có rất nhiều nhà cung cấp dịch vụ lớn cung cấp back bone của mình cho các nhà cung cấp dịch vụ nhỏ triển khai dịch vụ của mình trên đó. Mơ hình CsC là mơ hình MPLS VPN phân tầng, cho phép một khách hàng có thể triển khai cơng nghệ MPLS VPN trên nền mạng MPLS VPN của một nhà cung cấp dịch vụ khác
Client ISP muốn kết nối đến hai thực thể (CLI-PE1 và CLI-PE2/CLI-PE3 như trong hình vẽ) của mạng MPLS-VPN thơng qua một MPLS-VPN backbone khác (các bộ định tuyến CSC)
Client ISP được xem như một VPN từ CSC backbone (VRF “VPN1” trong các bộ định tuyến CSC)
Client ISP có các VPN của chính nó, khơng phụ thuộc vào CSC backbone (VRF “VPNA” trong các bô định tuyến CLI)
Cấu hình CSC
Trên các giao diện VRF đến các bộ định tuyến CLI, thêm lệnh “mpls ip: CSC_PE1#sh run int fa1/0
Building configuration...
Current configuration : 141 bytes ! interface FastEthernet1/0 description To CLI_PE1 ip vrf forwarding VPN1 ip address 100.0.1.1 255.255.255.252 duplex half mpls ip end
Sau đó kiểm tra LDP gần kề đã được thiết lập: CSC_PE1#sh mpls ldp nei vrf VPN1
Peer LDP Ident: 100.100.0.1:0; Local LDP Ident 100.0.1.1:0 TCP connection: 100.100.0.1.40052 - 100.0.1.1.646
State: Oper; Msgs sent/rcvd: 152/151; Downstream Up time: 02:05:35
LDP discovery sources:
FastEthernet1/0, Src IP addr: 100.0.1.2 Addresses bound to peer LDP Ident: 100.0.1.2 100.100.0.1
Để trao đổi định tuyến giữa CSC-PE1 và CLI-PE1, giữa CSC-PE2 và CLI-PE2, sử dụng giao thức OSPF:
CSC_PE1#sh run | begin ^router ospf 200 router ospf 200 vrf VPN1
log-adjacency-changes
redistribute bgp 65000 metric-type 1 subnets network 100.0.0.0 0.255.255.255 area 0 !
Kết quả cấu hình
Hình 3.10 Giao diện GNS3 với mơ hình MPLS-VPN CSC
Kiểm tra lại cấu hình
Trên CLI-PE1
CLI_PE1#sh ip ro vrf VPNA
C 200.0.0.1 is directly connected, Loopback100 B 200.0.0.2 [200/0] via 100.100.0.2, 01:19:24 B 200.0.0.3 [200/0] via 100.100.0.3, 01:06:39 CLI_PE1#sh ip cef vrf VPNA 200.0.0.3
200.0.0.3/32, version 8, epoch 0, cached adjacency 100.0.1.1 0 packets, 0 bytes
tag information set
local tag: VPN-route-head
fast tag rewrite with Fa0/0, 100.0.1.1, tags imposed: {24 20} via 100.100.0.3, 0 dependencies, recursive
next hop 100.0.1.1, FastEthernet0/0 via 100.100.0.3/32 valid cached adjacency
tag rewrite with Fa0/0, 100.0.1.1, tags imposed: {24 20} CLI_PE1#sh ipv6 route
LC FEC0:1000::1/128 [0/0] via ::, Loopback0 B FEC0:1000::2/128 [200/0] via ::FFFF:100.100.0.2, IPv6-mpls B FEC0:1000::3/128 [200/0] via ::FFFF:100.100.0.3, IPv6-mpls L FF00::/8 [0/0] via ::, Null0
CLI_PE1#sh ipv6 cef FEC0:1000::3 FEC0:1000::3/128
nexthop ::FFFF:100.100.0.3
fast tag rewrite with Fa0/0, 100.0.1.1, tags imposed: {24 21}
Nhãn đầu tiên {24} được dùng để đến địa chỉ 100.100.0.3 (Loopback0 của CLI_PE3):
100.100.0.3/32, version 14, epoch 0, cached adjacency 100.0.1.1 0 packets, 0 bytes
tag information set, shared local tag: 19
fast tag rewrite with Fa0/0, 100.0.1.1, tags imposed: {24} via 100.0.1.1, FastEthernet0/0, 1 dependency
next hop 100.0.1.1, FastEthernet0/0 valid cached adjacency
tag rewrite with Fa0/0, 100.0.1.1, tags imposed: {24}
Ta có thể thấy nhãn {20} và {21} bị điều khiển bởi CLI_PE3: CLI_PE3#sh mpls for
Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 Pop tag 100.100.0.2/32 0 Fa0/0 100.0.23.1 17 Pop tag 100.0.2.0/30 0 Fa0/0 100.0.23.1 18 18 100.0.1.0/30 0 Fa0/0 100.0.23.1 19 19 100.100.0.1/32 0 Fa0/0 100.0.23.1 20 Aggregate 200.0.0.3/32[V] 5288 21 Aggregate FEC0:1000::3/128 1040 Trên CSC_PE1, ta có bảng chuyển tiếp MPLS:
CSC_PE1#sh mpls for
Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 16 Pop tag 10.10.0.0/32 0 Fa0/0 10.0.1.1 17 Pop tag 10.0.2.0/30 0 Fa0/0 10.0.1.1 18 17 10.10.0.2/32 0 Fa0/0 10.0.1.1 19 Aggregate 100.0.1.0/30[V] 3756 20 Pop tag 100.100.0.1/32[V] 17404 Fa1/0 100.0.1.2 21 19 100.0.2.0/30[V] 0 Fa0/0 10.0.1.1 22 20 100.0.23.0/30[V] 0 Fa0/0 10.0.1.1 23 21 100.100.0.2/32[V] 7703 Fa0/0 10.0.1.1
24 22 100.100.0.3/32[V] 4666 Fa0/0 10.0.1.1 Cách điều khiển nhãn {24}:
CSC_PE1#sh mpls for lab 24 det
Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 24 22 100.100.0.3/32[V] 4666 Fa0/0 10.0.1.1 MAC/Encaps=14/22, MRU=1496, Tag Stack{17 22}
CA1368530000CA12685300008847 0001100000016000 VPN route: VPN1
No output feature configured Per-packet load-sharing
Ta thấy nhãn {24} được chuyển đến và thay thế bởi hai nhãn {17 và 22}, tương ứng với 100.100.0.3 trong VRF "VPN1". Trên CLI-PE1, các nhãn được sử dụng để đến 200.0.0.3 trong vrf VPNA là {24 và 20}, và các nhãn được dùng để đến FEC0:1000::3 là {24 và 21}.
Nghĩa là khi các gói tin rời khỏi CSC-PE1 thì có 3 nhãn trong ngăn xếp:
• {17 22 20} cho 200.0.0.3 trong vrf VPNA
• {17 22 21} cho FEC0:1000::3
Traceroute
CLI_PE1#trace vrf VPNA 200.0.0.3 Type escape sequence to abort.
Tracing the route to 200.0.0.3
1 10.0.1.2 [MPLS: Labels 24/20 Exp 0] 12 msec 32 msec 28 msec 2 10.0.1.1 [MPLS: Labels 17/22/20 Exp 0] 20 msec 68 msec 4 msec 3 100.0.2.1 [MPLS: Labels 22/20 Exp 0] 72 msec 12 msec 24 msec 4 100.0.2.2 [MPLS: Labels 16/20 Exp 0] 24 msec 28 msec 24 msec 5 200.0.0.3 28 msec * 40 msec
Mơ hình MPLS-VPN CSC là một mơ hình mạng phức tạp, địi hỏi sự cẩn thận và chính xác của người cấu hình. Đây là mơ hình chun nghiệp, đáp ứng được nhiều yêu cầu khó khăn của sự phát triển công nghệ trong tương lai.
3.4 Kết luận chương
Trong chương này đã đưa ra các bước cấu hình MPLS- VPN, đặt ra bài toán và cách giải quyết. Sử dụng phần mềm GNS3 để cấu hình MPLS- VPN trên các router của Cisco trong mơ hình MPLS-VPN Inter AS và MPLS-VPN CSC.
MPLS- VPN được ứng dụng rất nhiều trong thực tế, đặc biệt là với các tổ chức và doanh nghiệp muốn đạt được các mục tiêu như: điều khiển nhiều hơn trên hạ tầng mạng, có được dịch vụ hiệu năng và độ tin cậy tốt hơn, cung cấp đa lớp dịch vụ tới người sử dụng, mở rộng an toàn, đảm bảo hiệu năng đáp ứng theo yêu cầu của ứng dụng, hỗ trợ hội tụ đa công nghệ và đa kiểu lưu lượng trên cùng một mạng đơn. Tuy nhiên, các đơn vị này khi chọn lựa nhà cung cấp phần cứng cần phải cẩn thận và phải căn cứ trên nhiều góc độ và tiêu chí đánh giá khác nhau. Ví dụ có thể căn cứ các tài liệu đánh giá hiệu năng sản phẩm của các đơn vụ truyền thông, bức tranh phát triển của nhà cung cấp đó cả về chiều rộng và chiều sâu.
KẾT LUẬN
Hiện nay ở Việt Nam các nhà cung cấp Internet lớn như VDC, Viettel, FPT, ... đang đẩy nhanh xây dựng hệ thống mạng trục MPLS để cung cấp dịch vụ MPLS-VPN tới khách hàng. Hầu hết các công ty, tổ chức mới thiết lập đường truyền đều hướng đến sử dụng MPLS-VPN thay vì các đường truyền khác. Như vậy có thể thấy xu hướng kết nối mạng trong những năm tới chủ yếu sẽ là MPLS-VPN.
Tuy nhiên còn rất nhiều vấn đề kỹ thuật phải quan tâm và phân tích khi xây dựng cấu hình để bảo đảm hoạt động của mạng. Một trong những vấn đề quan trọng cần quan tâm đó là cần xác định nguyên tắc tổ chức của những nút LSR trong mạng, cần phân định rõ ràng giao diện và chức năng của từng thành phần thiết bị trong mạng lõi, mạng biên các vấn đề về kỹ thuật lưu lượng (MPLS-TE), các vấn đề về chất lượng dịch vụ (MPLS-QoS). Đặc biệt là triển khai thực tế việc liên kết mạng MPLS-VPN giữa các nhà cung cấp dịch vụ. Đây là các vấn đề cần phát triển và hướng nghiên cứu tiếp theo của đồ án.
Với tầm nghiên cứu đồ án tốt nghiệp, khoảng thời gian không nhiều nên không thể đề cập hết được tất cả các vấn đề. Vì vậy em rất mong nhận được những ý kiến đóng góp của thầy cơ và các bạn.
Cuối cùng em xin chân thành cảm ơn sự quan tâm của các thầy cô giáo đã tạo điều kiện tốt nhất để đồ án của em được hoàn thiện cả về nội dung lẫn hình thức. Đặc biệt, em xin gửi lời cảm ơn chân thành và sâu sắc tới thầy giáo hướng dẫn Nguyễn Đình Long đã góp ý và giúp đỡ em rất nhiều trong thời gian làm đồ án.
TÀI LIỆU THAM KHẢO
1. James Reagan, CCIP MPLS Study Guide,Cisco Press, 2002.
2. CCNP Implementing Secure Converged Wide Area Networks (ICSW) Student Guide Version 1.0 Vol.1, Cisco Systems, 2006.
3. Ivan Pepelnjak, MPLS and VPN Architectures, Vol. 1, Cisco Press, 2000. 4. Ivan Pepelnjak, MPLS and VPN Architectures, Vol. 2, Cisco Press, 2003. 5. Advanced MPLS VPN Solutions, Vol. 2, Version 1.0, Cisco Systems, 2000.
6. Michael H. Behringer, Monique J. Morrow, MPLS VPN Security, Cisco Systems, 2005.
PHỤ LỤC