/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Bài 3: MPLS Layer 3 VPN - core


Giới thiệu:

Đang cập nhật ...

Sơ đồ Lab:



Yêu cầu:

1. Đặt IP theo quy hoạch hình vẽ
2. Chạy định tuyến OSPF trong vùng MPLS core (R2, R3, R4, R5)
3. Enable MPLS/Enable LDP trên các cổng đấu nối giữa các router PE và P
4. Cấu hình iBGP cho các router PE (R2, R5)
5. Bật tính năng VPNv4/VPN lable cho vùng iBGP giữa các router PE
6. Tạo VRF cho từng khách hàng

Các kiến thức sử dụng trong bài: OSPF, MPLS, BGP, VRF, VPNv4

Cấu hình:

1. Đặt IP theo quy hoạch hình vẽ
  • Cấu hình
R1, R2:
interface Loopback0
 ip address 1.1.1.1 255.255.255.0
exit
interface Ethernet0/2
 ip address 192.168.12.1 255.255.255.0
no shutdown
end
write

R2:
interface Loopback0
 ip address 2.2.2.2 255.255.255.0
exit
interface Ethernet0/0
 ip address 192.168.23.2 255.255.255.0
no shutdown
end
write

R3:
interface Loopback0
 ip address 3.3.3.3 255.255.255.0
exit
interface Ethernet0/0
 ip address 192.168.23.3 255.255.255.0
no shutdown
exit
interface Ethernet0/1
 ip address 192.168.34.3 255.255.255.0
no shutdown
end
write

R4:
interface Loopback0
 ip address 4.4.4.4 255.255.255.0
exit
interface Ethernet0/1
 ip address 192.168.34.4 255.255.255.0
no shutdown
exit
interface Ethernet0/0
 ip address 192.168.45.4 255.255.255.0
no shutdown
end
write

R5:
interface Loopback0
 ip address 5.5.5.5 255.255.255.0
exit
interface Ethernet0/0
 ip address 192.168.45.5 255.255.255.0
no shutdown
end
write

R6A, R6B:
interface Loopback0
 ip address 6.6.6.6 255.255.255.0
exit
interface Ethernet0/2
 ip address 192.168.56.6 255.255.255.0
no shutdown
end
write

2. Chạy định tuyến OSPF trong vùng MPLS core (R2, R3, R4, R5)
  • Cấu hình
R2:
router ospf 1
router-id 2.2.2.2
exit
interface range loopback 0, ethernet 0/0
ip ospf 1 area 0
end
write

R3:
router ospf 1
router-id 3.3.3.3
exit
interface range loopback 0, ethernet 0/0-1
ip ospf 1 area 0
end
write

R4:
router ospf 1
router-id 4.4.4.4
exit
interface range loopback 0, ethernet 0/0-1
ip ospf 1 area 0
end
write

R5:
router ospf 1
router-id 5.5.5.5
exit
interface range loopback 0, ethernet 0/0
ip ospf 1 area 0
end
write 

  • Kiểm tra sau khi chạy định tuyến OSPF, chắc chắn các IP trong vùng MPLS core có thể giao tiếp được với nhau.
R2#show ip route ospf
(...)
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/11] via 192.168.23.3, 00:04:19, Ethernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/21] via 192.168.23.3, 00:03:34, Ethernet0/0
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/31] via 192.168.23.3, 00:00:55, Ethernet0/0
O     192.168.34.0/24 [110/20] via 192.168.23.3, 00:04:19, Ethernet0/0
O     192.168.45.0/24 [110/30] via 192.168.23.3, 00:03:34, Ethernet0/0

R3#show ip route ospf
(...)
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/11] via 192.168.23.2, 00:04:34, Ethernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/11] via 192.168.34.4, 00:03:48, Ethernet0/1
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/21] via 192.168.34.4, 00:01:08, Ethernet0/1
O     192.168.45.0/24 [110/20] via 192.168.34.4, 00:03:48, Ethernet0/1

R4#show ip route ospf
(...)
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/21] via 192.168.34.3, 00:03:55, Ethernet0/1
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/11] via 192.168.34.3, 00:03:55, Ethernet0/1
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/11] via 192.168.45.5, 00:01:14, Ethernet0/0
O     192.168.23.0/24 [110/20] via 192.168.34.3, 00:03:55, Ethernet0/1

R5#show ip route ospf
(...)
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/31] via 192.168.45.4, 00:00:45, Ethernet0/0
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/21] via 192.168.45.4, 00:00:45, Ethernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/11] via 192.168.45.4, 00:00:45, Ethernet0/0
O     192.168.23.0/24 [110/30] via 192.168.45.4, 00:00:45, Ethernet0/0
O     192.168.34.0/24 [110/20] via 192.168.45.4, 00:00:45, Ethernet0/0

3. Enable MPLS/Enable LDP trên các cổng đấu nối giữa các router PE và P
  • Cấu hình
R2, R5:

interface ethernet 0/0
mpls ip
end
write

R3, R4:
interface range ethernet 0/0-1
mpls ip
end
write
Tìm hiểu về MPLS LDP tại đây

  • Kiểm tra MPLS đã được enable trên các router
R2#show mpls interfaces 
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes    

R3#show  mpls interfaces 
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes     
Ethernet0/1            Yes (ldp)     No       No  No     Yes        

R4#show mpls interfaces 
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes     
Ethernet0/1            Yes (ldp)     No       No  No     Yes       

R5#show  mpls interfaces
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes 
  • Kiểm tra quan hệ láng giềng LDP
R2#show mpls ldp neighbor 
    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 2.2.2.2:0
        TCP connection: 3.3.3.3.57415 - 2.2.2.2.646
        State: Oper; Msgs sent/rcvd: 22/23; Downstream
        Up time: 00:11:04
        LDP discovery sources:
          Ethernet0/0, Src IP addr: 192.168.23.3
        Addresses bound to peer LDP Ident:
          192.168.23.3    192.168.34.3    3.3.3.3 

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.57415
        State: Oper; Msgs sent/rcvd: 23/23; Downstream
        Up time: 00:11:15
        LDP discovery sources:
          Ethernet0/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.16247 - 3.3.3.3.646
        State: Oper; Msgs sent/rcvd: 22/22; Downstream
        Up time: 00:10:38
        LDP discovery sources:
          Ethernet0/1, Src IP addr: 192.168.34.4
        Addresses bound to peer LDP Ident:
          192.168.45.4    192.168.34.4    4.4.4.4 

R4#show mpls ldp neighbor
    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 4.4.4.4:0
        TCP connection: 3.3.3.3.646 - 4.4.4.4.16247
        State: Oper; Msgs sent/rcvd: 22/22; Downstream
        Up time: 00:10:48
        LDP discovery sources:
          Ethernet0/1, Src IP addr: 192.168.34.3
        Addresses bound to peer LDP Ident:
          192.168.23.3    192.168.34.3    3.3.3.3       
    Peer LDP Ident: 5.5.5.5:0; Local LDP Ident 4.4.4.4:0
        TCP connection: 5.5.5.5.53437 - 4.4.4.4.646
        State: Oper; Msgs sent/rcvd: 21/22; Downstream
        Up time: 00:10:32
        LDP discovery sources:
          Ethernet0/0, Src IP addr: 192.168.45.5
        Addresses bound to peer LDP Ident:
          192.168.45.5    5.5.5.5      

R5#show mpls ldp neighbor 
    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 5.5.5.5:0
        TCP connection: 4.4.4.4.646 - 5.5.5.5.53437
        State: Oper; Msgs sent/rcvd: 22/21; Downstream
        Up time: 00:10:39
        LDP discovery sources:
          Ethernet0/0, Src IP addr: 192.168.45.4
        Addresses bound to peer LDP Ident:
          192.168.45.4    192.168.34.4    4.4.4.4  
  • Kiểm tra kết nối giữa các router PE (R2, R5)

R2#ping 5.5.5.5 source 2.2.2.2
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 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R2#traceroute 5.5.5.5 source 2.2.2.2 numeric
Type escape sequence to abort.
Tracing the route to 5.5.5.5
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.23.3 [MPLS: Label 17 Exp 0] 1 msec 1 msec 1 msec
  2 192.168.34.4 [MPLS: Label 16 Exp 0] 1 msec 1 msec 0 msec
  3 192.168.45.5 1 msec *  2 msec

R5#ping 2.2.2.2 source 5.5.5.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, 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 = 1/1/1 ms
R5#traceroute 2.2.2.2 source 5.5.5.5 numeric 
Type escape sequence to abort.
Tracing the route to 2.2.2.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.45.4 [MPLS: Label 18 Exp 0] 1 msec 1 msec 1 msec
  2 192.168.34.3 [MPLS: Label 16 Exp 0] 1 msec 2 msec 0 msec
  3 192.168.23.2 1 msec *  1 msec

Noted: Để đảm bảo hệ thống chuyển mạch label của MPLS đúng nhất chúng ta nên đặt địa chỉ của các loopback0 với prefix-length /32, nhưng ở bài lab này đặt /24 nên bắt buộc phải chuyển network-type trong OSPF là POINT-TO-POINT cho các loopback 0 trong vùng core.

  • Cấu hình
R2, R3, R4, R5:
interface loopback 0
ip ospf network point-to-point
end
write

4. Cấu hình iBGP cho các router PE (R2, R5)
  • Cấu hình
R2:
router bgp 2345
 neighbor 5.5.5.5 remote-as 2345
 neighbor 5.5.5.5 update-source Loopback0

R5:
router bgp 2345
 neighbor 2.2.2.2 remote-as 2345
 neighbor 2.2.2.2 update-source Loopback0

5. Bật tính năng VPNv4/VPN lable cho vùng iBGP giữa các router PE

Khi thiết lập iBGP cho các router PE thì mặt định các router PE sẽ dùng IPv4 unicast để trao đổi thông tin, chúng cần phải enable vpnv4 route để trao đổi định tuyến. Tại sao enable vpnv4 sẽ được thảo luận ở chủ đề VPNv4/VPN Lable.

  • Cấu hình
R2:
router bgp 2345
address-family vpnv4
neighbor 5.5.5.5 activate
end
write

R2#show run | section bgp
router bgp 2345
 bgp log-neighbor-changes
 neighbor 5.5.5.5 remote-as 2345
 neighbor 5.5.5.5 update-source Loopback0
 !
 address-family vpnv4
  neighbor 5.5.5.5 activate
  neighbor 5.5.5.5 send-community extended
 exit-address-family
Khi enable VNPv4 router sẽ tự động thêm vào dòng lệnh neighbor 5.5.5.5 send-community extended, dòng này là bắt buộc và không thể xóa vì vpnv4 dùng để giao tiếp và quảng bá source-target giữa các router PE khi đã enable vnpv4.

R5:
router bgp 2345
address-family vpnv4
neighbor 2.2.2.2 activate
end
write
  • Kiểm tra sau khi thiết lập iBGP
R2#show bgp vpnv4 unicast all summary 
BGP router identifier 2.2.2.2, local AS number 2345
BGP table version is 1, main routing table version 1
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
5.5.5.5            4         2345        93      92            1     0       0        0    1:19:59        0

R5#show bgp vpnv4 unicast all summary 
BGP router identifier 5.5.5.5, local AS number 2345
BGP table version is 1, main routing table version 1
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2.2.2.2            4         2345      93            93        1    0        0       0     1:20:31        0

Đến đây đã xong phần MPLS Layer 3 VPN core.

Để chuẩn bị cho các bài route giữa các khách hàng thông qua MPLS Layer 3 VPN, ta phải tạo VRF, hãy chuyển sang yêu cầu 6

6. Tạo VRF cho từng khách hàng

Để mỗi khách hàng có một bảng route riêng biệt (tham khảo bài VRF lite) ta phải tạo VRF trên con router PE (R2, R5), đặt IP và gán các cổng tương ứng vào VRF như sơ đồ bài lab.
  • Cấu hình
Customer A
R2:
ip vrf Customer_A
 rd 16:16
 route-target export 1:6
 route-target import 6:1
exit
interface ethernet 0/2
ip vrf forwarding Customer_A
ip address 192.168.12.2 255.255.255.0
no shutdown
end
write

R5:
ip vrf Customer_A
 rd 16:16
 route-target export 6:1
 route-target import 1:6
exit
interface ethernet 0/2
ip vrf forwarding Customer_A
ip address 192.168.56.5 255.255.255.0
no shutdown
end
write

Noted: ASN:nn route-target import của PE bên này là ASN:nn route-target export của PE bên kia và ngược lại (sẽ có bài nói về vấn đề này)

Customer B

R2:
ip vrf Customer_B
route-target both 11:66
exit
interface ethernet 0/1
ip vrf forwarding Customer_B
ip address 192.168.12.2 255.255.255.0
no shutdown
end
write

Khi cấu hình route-target both 11:66 trên router sẽ tự động thay bằng 2 dòng:
route-target export 11:66 và 
- route-target import 11:66

R2#show run | begin ip vrf Customer_B
ip vrf Customer_B
rd 11:66
 route-target export 11:66
 route-target import 11:66

R5:
ip vrf Customer_B
route-target both 11:66
exit
interface ethernet 0/1
ip vrf forwarding Customer_B
ip address 192.168.56.5 255.255.255.0
no shutdown
end
write

  • Kiểm tra sau khi tạo vrf

R2#ping vrf Customer_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 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
R2#ping vrf Customer_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 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms

R5#ping vrf Customer_A 192.168.56.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
R5#ping vrf Customer_B 192.168.56.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms

Tóm tắt: Để tạo ra vùng MPLS Layer3 VPN - core cần:

  1. Chạy giao thức định tuyến IGP (ospf, is-is,...) cho vùng core
  2. Thiết lập iBGP giữa các router PE
  3. Enable LDP / MPLS IP trên các cổng đấu nối giữa các router P và PE (nếu không sẽ bị lỗi backhole)
  4. Enable VPN lable / VPNv4 để thêm nhãn RT để tạo định tuyển duy nhất để quảng bá giữa các PE
  5. Tạo VRF trên các router PE và gán các cổng tương ứng vào VRF thích hợp

Các lệnh troubleshooting:

  1. show mpls interfaces
  2. show mpls ldp neighbor
  3. show ip bgp summary
  4. show bgp vpnv4 unicast all summary
  5. show run | begin ip vrf TênVRF
  6. ping vrf TênVRF IP_cần_ping



Xong!



Bài 3: MPLS Layer 3 VPN - core


Giới thiệu:

Đang cập nhật ...

Sơ đồ Lab:



Yêu cầu:

1. Đặt IP theo quy hoạch hình vẽ
2. Chạy định tuyến OSPF trong vùng MPLS core (R2, R3, R4, R5)
3. Enable MPLS/Enable LDP trên các cổng đấu nối giữa các router PE và P
4. Cấu hình iBGP cho các router PE (R2, R5)
5. Bật tính năng VPNv4/VPN lable cho vùng iBGP giữa các router PE
6. Tạo VRF cho từng khách hàng

Các kiến thức sử dụng trong bài: OSPF, MPLS, BGP, VRF, VPNv4

Cấu hình:

1. Đặt IP theo quy hoạch hình vẽ
  • Cấu hình
R1, R2:
interface Loopback0
 ip address 1.1.1.1 255.255.255.0
exit
interface Ethernet0/2
 ip address 192.168.12.1 255.255.255.0
no shutdown
end
write

R2:
interface Loopback0
 ip address 2.2.2.2 255.255.255.0
exit
interface Ethernet0/0
 ip address 192.168.23.2 255.255.255.0
no shutdown
end
write

R3:
interface Loopback0
 ip address 3.3.3.3 255.255.255.0
exit
interface Ethernet0/0
 ip address 192.168.23.3 255.255.255.0
no shutdown
exit
interface Ethernet0/1
 ip address 192.168.34.3 255.255.255.0
no shutdown
end
write

R4:
interface Loopback0
 ip address 4.4.4.4 255.255.255.0
exit
interface Ethernet0/1
 ip address 192.168.34.4 255.255.255.0
no shutdown
exit
interface Ethernet0/0
 ip address 192.168.45.4 255.255.255.0
no shutdown
end
write

R5:
interface Loopback0
 ip address 5.5.5.5 255.255.255.0
exit
interface Ethernet0/0
 ip address 192.168.45.5 255.255.255.0
no shutdown
end
write

R6A, R6B:
interface Loopback0
 ip address 6.6.6.6 255.255.255.0
exit
interface Ethernet0/2
 ip address 192.168.56.6 255.255.255.0
no shutdown
end
write

2. Chạy định tuyến OSPF trong vùng MPLS core (R2, R3, R4, R5)
  • Cấu hình
R2:
router ospf 1
router-id 2.2.2.2
exit
interface range loopback 0, ethernet 0/0
ip ospf 1 area 0
end
write

R3:
router ospf 1
router-id 3.3.3.3
exit
interface range loopback 0, ethernet 0/0-1
ip ospf 1 area 0
end
write

R4:
router ospf 1
router-id 4.4.4.4
exit
interface range loopback 0, ethernet 0/0-1
ip ospf 1 area 0
end
write

R5:
router ospf 1
router-id 5.5.5.5
exit
interface range loopback 0, ethernet 0/0
ip ospf 1 area 0
end
write 

  • Kiểm tra sau khi chạy định tuyến OSPF, chắc chắn các IP trong vùng MPLS core có thể giao tiếp được với nhau.
R2#show ip route ospf
(...)
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/11] via 192.168.23.3, 00:04:19, Ethernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/21] via 192.168.23.3, 00:03:34, Ethernet0/0
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/31] via 192.168.23.3, 00:00:55, Ethernet0/0
O     192.168.34.0/24 [110/20] via 192.168.23.3, 00:04:19, Ethernet0/0
O     192.168.45.0/24 [110/30] via 192.168.23.3, 00:03:34, Ethernet0/0

R3#show ip route ospf
(...)
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/11] via 192.168.23.2, 00:04:34, Ethernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/11] via 192.168.34.4, 00:03:48, Ethernet0/1
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/21] via 192.168.34.4, 00:01:08, Ethernet0/1
O     192.168.45.0/24 [110/20] via 192.168.34.4, 00:03:48, Ethernet0/1

R4#show ip route ospf
(...)
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/21] via 192.168.34.3, 00:03:55, Ethernet0/1
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/11] via 192.168.34.3, 00:03:55, Ethernet0/1
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/11] via 192.168.45.5, 00:01:14, Ethernet0/0
O     192.168.23.0/24 [110/20] via 192.168.34.3, 00:03:55, Ethernet0/1

R5#show ip route ospf
(...)
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/31] via 192.168.45.4, 00:00:45, Ethernet0/0
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/21] via 192.168.45.4, 00:00:45, Ethernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/11] via 192.168.45.4, 00:00:45, Ethernet0/0
O     192.168.23.0/24 [110/30] via 192.168.45.4, 00:00:45, Ethernet0/0
O     192.168.34.0/24 [110/20] via 192.168.45.4, 00:00:45, Ethernet0/0

3. Enable MPLS/Enable LDP trên các cổng đấu nối giữa các router PE và P
  • Cấu hình
R2, R5:

interface ethernet 0/0
mpls ip
end
write

R3, R4:
interface range ethernet 0/0-1
mpls ip
end
write
Tìm hiểu về MPLS LDP tại đây

  • Kiểm tra MPLS đã được enable trên các router
R2#show mpls interfaces 
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes    

R3#show  mpls interfaces 
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes     
Ethernet0/1            Yes (ldp)     No       No  No     Yes        

R4#show mpls interfaces 
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes     
Ethernet0/1            Yes (ldp)     No       No  No     Yes       

R5#show  mpls interfaces
Interface                IP              Tunnel   BGP Static Operational
Ethernet0/0            Yes (ldp)     No       No  No     Yes 
  • Kiểm tra quan hệ láng giềng LDP
R2#show mpls ldp neighbor 
    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 2.2.2.2:0
        TCP connection: 3.3.3.3.57415 - 2.2.2.2.646
        State: Oper; Msgs sent/rcvd: 22/23; Downstream
        Up time: 00:11:04
        LDP discovery sources:
          Ethernet0/0, Src IP addr: 192.168.23.3
        Addresses bound to peer LDP Ident:
          192.168.23.3    192.168.34.3    3.3.3.3 

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.57415
        State: Oper; Msgs sent/rcvd: 23/23; Downstream
        Up time: 00:11:15
        LDP discovery sources:
          Ethernet0/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.16247 - 3.3.3.3.646
        State: Oper; Msgs sent/rcvd: 22/22; Downstream
        Up time: 00:10:38
        LDP discovery sources:
          Ethernet0/1, Src IP addr: 192.168.34.4
        Addresses bound to peer LDP Ident:
          192.168.45.4    192.168.34.4    4.4.4.4 

R4#show mpls ldp neighbor
    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 4.4.4.4:0
        TCP connection: 3.3.3.3.646 - 4.4.4.4.16247
        State: Oper; Msgs sent/rcvd: 22/22; Downstream
        Up time: 00:10:48
        LDP discovery sources:
          Ethernet0/1, Src IP addr: 192.168.34.3
        Addresses bound to peer LDP Ident:
          192.168.23.3    192.168.34.3    3.3.3.3       
    Peer LDP Ident: 5.5.5.5:0; Local LDP Ident 4.4.4.4:0
        TCP connection: 5.5.5.5.53437 - 4.4.4.4.646
        State: Oper; Msgs sent/rcvd: 21/22; Downstream
        Up time: 00:10:32
        LDP discovery sources:
          Ethernet0/0, Src IP addr: 192.168.45.5
        Addresses bound to peer LDP Ident:
          192.168.45.5    5.5.5.5      

R5#show mpls ldp neighbor 
    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 5.5.5.5:0
        TCP connection: 4.4.4.4.646 - 5.5.5.5.53437
        State: Oper; Msgs sent/rcvd: 22/21; Downstream
        Up time: 00:10:39
        LDP discovery sources:
          Ethernet0/0, Src IP addr: 192.168.45.4
        Addresses bound to peer LDP Ident:
          192.168.45.4    192.168.34.4    4.4.4.4  
  • Kiểm tra kết nối giữa các router PE (R2, R5)

R2#ping 5.5.5.5 source 2.2.2.2
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 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R2#traceroute 5.5.5.5 source 2.2.2.2 numeric
Type escape sequence to abort.
Tracing the route to 5.5.5.5
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.23.3 [MPLS: Label 17 Exp 0] 1 msec 1 msec 1 msec
  2 192.168.34.4 [MPLS: Label 16 Exp 0] 1 msec 1 msec 0 msec
  3 192.168.45.5 1 msec *  2 msec

R5#ping 2.2.2.2 source 5.5.5.5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, 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 = 1/1/1 ms
R5#traceroute 2.2.2.2 source 5.5.5.5 numeric 
Type escape sequence to abort.
Tracing the route to 2.2.2.2
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.45.4 [MPLS: Label 18 Exp 0] 1 msec 1 msec 1 msec
  2 192.168.34.3 [MPLS: Label 16 Exp 0] 1 msec 2 msec 0 msec
  3 192.168.23.2 1 msec *  1 msec

Noted: Để đảm bảo hệ thống chuyển mạch label của MPLS đúng nhất chúng ta nên đặt địa chỉ của các loopback0 với prefix-length /32, nhưng ở bài lab này đặt /24 nên bắt buộc phải chuyển network-type trong OSPF là POINT-TO-POINT cho các loopback 0 trong vùng core.

  • Cấu hình
R2, R3, R4, R5:
interface loopback 0
ip ospf network point-to-point
end
write

4. Cấu hình iBGP cho các router PE (R2, R5)
  • Cấu hình
R2:
router bgp 2345
 neighbor 5.5.5.5 remote-as 2345
 neighbor 5.5.5.5 update-source Loopback0

R5:
router bgp 2345
 neighbor 2.2.2.2 remote-as 2345
 neighbor 2.2.2.2 update-source Loopback0

5. Bật tính năng VPNv4/VPN lable cho vùng iBGP giữa các router PE

Khi thiết lập iBGP cho các router PE thì mặt định các router PE sẽ dùng IPv4 unicast để trao đổi thông tin, chúng cần phải enable vpnv4 route để trao đổi định tuyến. Tại sao enable vpnv4 sẽ được thảo luận ở chủ đề VPNv4/VPN Lable.

  • Cấu hình
R2:
router bgp 2345
address-family vpnv4
neighbor 5.5.5.5 activate
end
write

R2#show run | section bgp
router bgp 2345
 bgp log-neighbor-changes
 neighbor 5.5.5.5 remote-as 2345
 neighbor 5.5.5.5 update-source Loopback0
 !
 address-family vpnv4
  neighbor 5.5.5.5 activate
  neighbor 5.5.5.5 send-community extended
 exit-address-family
Khi enable VNPv4 router sẽ tự động thêm vào dòng lệnh neighbor 5.5.5.5 send-community extended, dòng này là bắt buộc và không thể xóa vì vpnv4 dùng để giao tiếp và quảng bá source-target giữa các router PE khi đã enable vnpv4.

R5:
router bgp 2345
address-family vpnv4
neighbor 2.2.2.2 activate
end
write
  • Kiểm tra sau khi thiết lập iBGP
R2#show bgp vpnv4 unicast all summary 
BGP router identifier 2.2.2.2, local AS number 2345
BGP table version is 1, main routing table version 1
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
5.5.5.5            4         2345        93      92            1     0       0        0    1:19:59        0

R5#show bgp vpnv4 unicast all summary 
BGP router identifier 5.5.5.5, local AS number 2345
BGP table version is 1, main routing table version 1
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
2.2.2.2            4         2345      93            93        1    0        0       0     1:20:31        0

Đến đây đã xong phần MPLS Layer 3 VPN core.

Để chuẩn bị cho các bài route giữa các khách hàng thông qua MPLS Layer 3 VPN, ta phải tạo VRF, hãy chuyển sang yêu cầu 6

6. Tạo VRF cho từng khách hàng

Để mỗi khách hàng có một bảng route riêng biệt (tham khảo bài VRF lite) ta phải tạo VRF trên con router PE (R2, R5), đặt IP và gán các cổng tương ứng vào VRF như sơ đồ bài lab.
  • Cấu hình
Customer A
R2:
ip vrf Customer_A
 rd 16:16
 route-target export 1:6
 route-target import 6:1
exit
interface ethernet 0/2
ip vrf forwarding Customer_A
ip address 192.168.12.2 255.255.255.0
no shutdown
end
write

R5:
ip vrf Customer_A
 rd 16:16
 route-target export 6:1
 route-target import 1:6
exit
interface ethernet 0/2
ip vrf forwarding Customer_A
ip address 192.168.56.5 255.255.255.0
no shutdown
end
write

Noted: ASN:nn route-target import của PE bên này là ASN:nn route-target export của PE bên kia và ngược lại (sẽ có bài nói về vấn đề này)

Customer B

R2:
ip vrf Customer_B
route-target both 11:66
exit
interface ethernet 0/1
ip vrf forwarding Customer_B
ip address 192.168.12.2 255.255.255.0
no shutdown
end
write

Khi cấu hình route-target both 11:66 trên router sẽ tự động thay bằng 2 dòng:
route-target export 11:66 và 
- route-target import 11:66

R2#show run | begin ip vrf Customer_B
ip vrf Customer_B
rd 11:66
 route-target export 11:66
 route-target import 11:66

R5:
ip vrf Customer_B
route-target both 11:66
exit
interface ethernet 0/1
ip vrf forwarding Customer_B
ip address 192.168.56.5 255.255.255.0
no shutdown
end
write

  • Kiểm tra sau khi tạo vrf

R2#ping vrf Customer_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 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
R2#ping vrf Customer_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 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms

R5#ping vrf Customer_A 192.168.56.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
R5#ping vrf Customer_B 192.168.56.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms

Tóm tắt: Để tạo ra vùng MPLS Layer3 VPN - core cần:

  1. Chạy giao thức định tuyến IGP (ospf, is-is,...) cho vùng core
  2. Thiết lập iBGP giữa các router PE
  3. Enable LDP / MPLS IP trên các cổng đấu nối giữa các router P và PE (nếu không sẽ bị lỗi backhole)
  4. Enable VPN lable / VPNv4 để thêm nhãn RT để tạo định tuyển duy nhất để quảng bá giữa các PE
  5. Tạo VRF trên các router PE và gán các cổng tương ứng vào VRF thích hợp

Các lệnh troubleshooting:

  1. show mpls interfaces
  2. show mpls ldp neighbor
  3. show ip bgp summary
  4. show bgp vpnv4 unicast all summary
  5. show run | begin ip vrf TênVRF
  6. ping vrf TênVRF IP_cần_ping



Xong!

Bài 2: Cisco, VRF Life Configuration

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.

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 vrf 
  Name                             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 route 
Codes: 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_A
Routing 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_B
Routing 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.1
Type 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.2
Type 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 ospf
Routing 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.2
Type 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.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 = 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.3 
Type 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.4
Type 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.3
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
Tóm lại:
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!


Bài 2: Cisco, VRF Life Configuration

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.

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 vrf 
  Name                             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 route 
Codes: 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_A
Routing 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_B
Routing 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.1
Type 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.2
Type 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 ospf
Routing 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.2
Type 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.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 = 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.3 
Type 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.4
Type 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.3
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
Tóm lại:
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!

Bài 1: Tìm hiểu về MPLS/BGP Free core

Giới thiệu:

đang cập nhật...

Sơ đồ Lab:

Yêu cầu:
1. Cấu hình IP như sơ đồ
2. Chạy giao thức định tuyến trong IGP (giao thức nào cũng được), đảm bảo mọi IP trong vùng AS 200 phải thông nhau. Trong bài lab này ta chọn OSPF.
3. Cấu hình eBGP giữa các Router CE và PE (R1 với R2 và R5 với R6)
4. Cấu hình GRE giữa R2 với R5
5. Cấu hình iBGP giữa các router PE (R2 và R5) đảm bảo loopback 0 của R1 và R6 phải thông nhau
6. Xóa bỏ cấu hình ở yêu cầu 4, 5
7. Cấu hình iBGP giữa R2 và R5
8. Enable MPLS trên tất cả các interface kết nối giữa các router PE, P (R2, R3, R4, R5)

Các kiến thức sử dụng trong bài
: OSPF, GRE, BGP, MPLS

Cấu hình:
1. Cấu hình IP như sơ đồ:

R1:

interface Ethernet0/1
ip address 192.168.12.1 255.255.255.0
no shutdown
exit
interface Loopback0
ip address 192.168.1.1 255.255.255.0
end
write

R2:
interface Ethernet0/0
ip address 192.168.12.2 255.255.255.0
no shutdown
exit
interface Ethernet0/1
ip address 192.168.23.2 255.255.255.0
no shutdown
exit
interface Loopback0
ip address 192.168.2.1 255.255.255.0
end
write

R3:
interface Ethernet0/0
 ip address 192.168.23.3 255.255.255.0
no shutdown
exit
interface Ethernet0/1
 ip address 192.168.34.3 255.255.255.0
no shutdown
exit
interface Loopback0
 ip address 192.168.3.1 255.255.255.0
end
write

R4:
interface Ethernet0/0
ip address 192.168.34.4 255.255.255.0
no shutdown
exit
interface Ethernet0/1
ip address 192.168.45.4 255.255.255.0
no shutdown
exit
interface Loopback0
ip address 192.168.4.1 255.255.255.0
end
write

R5:
interface Ethernet0/0
 ip address 192.168.45.5 255.255.255.0
no shutdown
exit
interface Ethernet0/1
 ip address 192.168.56.5 255.255.255.0
no shutdown
exit
interface Loopback0
 ip address 192.168.5.1 255.255.255.0
end
write

R6:
interface Ethernet0/0
 ip address 192.168.56.6 255.255.255.0
no shutdown
exit
interface Loopback0
 ip address 192.168.6.1 255.255.255.0
end
write

2. Chạy giao thức định tuyến trong IGP (giao thức nào cũng được), đảm bảo mọi IP trong vùng AS 200 phải thông nhau. Trong bài lab này ta chọn OSPF.

R2:
router ospf 1
router-id 192.168.2.1
exit
interface range ethernet 0/1, loopback 0
ip ospf 1 area 0
do write

R3:
router ospf 1
router-id 192.168.3.1
exit
interface range ethernet 0/0-1, loopback 0
ip ospf 1 area 0
do write

R4:
router ospf 1
router-id 192.168.4.1
exit
interface range ethernet 0/0-1, loopback 0
ip ospf 1 area 0
do write

R5:
router ospf 1
router-id 192.168.5.1
exit
interface range ethernet 0/0, loopback 0
ip ospf 1 area 0
do write

Kiểm tra bảng định tuyến của các Router trong vùng AS 200 (R2, R3, R4, R5) để chắc chắn mọi địa chỉ phải đi đến được với nhau sau khi cấu hình OSPF


R2#show ip route ospf
O        192.168.3.1 [110/11] via 192.168.23.3, 15:24:42, Ethernet0/1
      192.168.4.0/32 is subnetted, 1 subnets
O        192.168.4.1 [110/21] via 192.168.23.3, 15:23:26, Ethernet0/1
      192.168.5.0/32 is subnetted, 1 subnets
O        192.168.5.1 [110/31] via 192.168.23.3, 15:23:16, Ethernet0/1
O     192.168.34.0/24 [110/20] via 192.168.23.3, 15:23:36, Ethernet0/1
O     192.168.45.0/24 [110/30] via 192.168.23.3, 15:23:26, Ethernet0/1
R3#show  ip route ospf
O        192.168.2.1 [110/11] via 192.168.23.2, 15:24:24, Ethernet0/0
      192.168.4.0/32 is subnetted, 1 subnets
O        192.168.4.1 [110/11] via 192.168.34.4, 15:23:17, Ethernet0/1
      192.168.5.0/32 is subnetted, 1 subnets
O        192.168.5.1 [110/21] via 192.168.34.4, 15:22:56, Ethernet0/1
O     192.168.45.0/24 [110/20] via 192.168.34.4, 15:23:06, Ethernet0/1
R4#show  ip route ospf 
O        192.168.2.1 [110/21] via 192.168.34.3, 15:23:46, Ethernet0/0
      192.168.3.0/32 is subnetted, 1 subnets
O        192.168.3.1 [110/11] via 192.168.34.3, 15:23:46, Ethernet0/0
      192.168.5.0/32 is subnetted, 1 subnets
O        192.168.5.1 [110/11] via 192.168.45.5, 15:23:34, Ethernet0/1
O     192.168.23.0/24 [110/20] via 192.168.34.3, 15:23:46, Ethernet0/0
R5#show ip route ospf
O        192.168.2.1 [110/31] via 192.168.45.4, 15:23:44, Ethernet0/0
      192.168.3.0/32 is subnetted, 1 subnets
O        192.168.3.1 [110/21] via 192.168.45.4, 15:23:44, Ethernet0/0
      192.168.4.0/32 is subnetted, 1 subnets
O        192.168.4.1 [110/11] via 192.168.45.4, 15:23:44, Ethernet0/0
O     192.168.23.0/24 [110/30] via 192.168.45.4, 15:23:44, Ethernet0/0
O     192.168.34.0/24 [110/20] via 192.168.45.4, 15:23:44, Ethernet0/0

3. Cấu hình eBGP giữa các Router CE và PE (R1 với R2 và R5 với R6).

R1: quảng bá loopback 0 vào eBGP cho router PE (R2) học
router bgp 100
 network 192.168.1.0 mask 255.255.255.0
 neighbor 192.168.12.2 remote-as 200

R2:
router bgp 200
neighbor 192.168.12.1 remote-as 100

R5:
router bgp 200
 neighbor 192.168.56.6 remote-as 300

R6: quảng bá loopback 0 vào eBGP cho router PE (R5) học
router bgp 300
 network 192.168.6.0 mask 255.255.255.0
 neighbor 192.168.56.5 remote-as 200

Kiểm tra trên các router PE (R2 và R5) đã học được loopback 0 sau khi chạy BGP

R2#show ip route 192.168.1.1
Routing entry for 192.168.1.0/24
  Known via "bgp 200", distance 20, metric 0
  Tag 100, type external
  Last update from 192.168.12.1 00:07:40 ago
  Routing Descriptor Blocks:
  * 192.168.12.1, from 192.168.12.1, 00:07:40 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 100
      MPLS label: none
R2#show ip route bgp
B     192.168.1.0/24 [20/0] via 192.168.12.1, 00:09:45

R5#show ip route 192.168.6.1
Routing entry for 192.168.6.0/24
  Known via "bgp 200", distance 20, metric 0
  Tag 300, type external
  Last update from 192.168.56.6 00:09:38 ago
  Routing Descriptor Blocks:
  * 192.168.56.6, from 192.168.56.6, 00:09:38 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 300
      MPLS label: none
R5#show ip route bgp
B     192.168.6.0/24 [20/0] via 192.168.56.6, 00:09:46

4. Cấu hình GRE giữa R2 với R5


Để tạo ra BGP free core trong vùng AS 200 chúng ta có rất nhiều cách: 
  • Có thể dùng GRE để thiết lập tunnel giữa các con PE router (trong bài lab này là R2 với R5), được thực hiện ở yêu cầu số 4 
  • Hoặc enable MPLS trên các interface đấu nối giữa các router PE và router CE (noted: interface loopback không hỗ trợ enable MPLS), sẽ thực hiện ở yêu cầu số 6

Thiết lập tunnel giữa R2 và R5, ip address của tunnel 0 trên R2 là 192.168.25.2
R2:
!
interface Tunnel0
 ip address 192.168.25.2 255.255.255.0
tunnel mode gre ip
 tunnel source 192.168.2.1
 tunnel destination 192.168.5.1
end


Thiết lập tunnel giữa R2 và R5, ip address của tunnel 0 trên R5 là 192.168.25.5
R5:
!
interface Tunnel0
 ip address 192.168.25.5 255.255.255.0
tunnel mode gre ip
 tunnel source 192.168.5.1
 tunnel destination 192.168.2.1
end

Kiểm tra hoạt động của tunnel:
R2#show interfaces tunnel 0
Tunnel0 is up, line protocol is up 
  Hardware is Tunnel
  Internet address is 192.168.25.2/24
  MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel source 192.168.2.1, destination 192.168.5.1
  Tunnel protocol/transport GRE/IP
  (...)

R5#show interfaces tunnel 0
Tunnel0 is up, line protocol is up 
  Hardware is Tunnel
  Internet address is 192.168.25.5/24
  MTU 17916 bytes, BW 100 Kbit/sec, DLY 50000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation TUNNEL, loopback not set
  Keepalive not set
  Tunnel source 192.168.5.1, destination 192.168.2.1
  Tunnel protocol/transport GRE/IP
   (...)


5. Cấu hình iBGP giữa các router PE (R2 và R5) đảm bảo loopback 0 của R1 và R6 phải thông nhau

R2:
router bgp 200
 neighbor 192.168.25.5 remote-as 200
 neighbor 192.168.25.5 next-hop-self

R5:
router bgp 200
 neighbor 192.168.25.2 remote-as 200
 neighbor 192.168.25.2 next-hop-self

Kiểm tra kết nối giữa loopback 0 (IP: 192.168.1.1) của R1 và loopback 0 (IP: 192.168.6.1) của R6
R1#show ip route 192.168.6.1
Routing entry for 192.168.6.0/24
  Known via "bgp 100", distance 20, metric 0
  Tag 200, type external
  Last update from 192.168.12.2 00:13:16 ago
  Routing Descriptor Blocks:
  * 192.168.12.2, from 192.168.12.2, 00:13:16 ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 200
      MPLS label: none
R1#traceroute 192.168.6.1 source 192.168.1.1 numeric 
Type escape sequence to abort.
Tracing the route to 192.168.6.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.12.2 1 msec 0 msec 1 msec
  2 192.168.25.5 1 msec 1 msec 1 msec
  3 192.168.56.6 1 msec *  1 msec
R1#ping 192.168.6.1 source 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.6.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms

R6#show ip route 192.168.1.1
Routing entry for 192.168.1.0/24
  Known via "bgp 300", distance 20, metric 0
  Tag 200, type external
  Last update from 192.168.56.5 00:17:52 ago
  Routing Descriptor Blocks:
  * 192.168.56.5, from 192.168.56.5, 00:17:52 ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 200
      MPLS label: none
R6#traceroute 192.168.1.1 source 192.168.6.1 numeric
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.56.5 1 msec 1 msec 0 msec
  2 192.168.25.2 1 msec 2 msec 2 msec
  3 192.168.12.1 6 msec *  2 msec
R6#ping 192.168.1.1 source 192.168.6.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.6.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Đến đây 2 loopback 0 của R1 và R6 đã thông nhau thông qua BGP free core. Ta có thể bắt gói trên các interface của các router P (R3 và R4) để phân tích:


Ta thấy trong phần IP header có source là 192.168.2.1 và destination là 192.168.5.1 cả router P học được từ OSPF. Và để 2 loopback o của R1 và R6 thông nhau nhờ vào thiết lập GRE giữa R2 và R5. và chính tunnel của GRE trong trường hợp này là tạo BGP free core.

6. Xóa bỏ cấu hình ở yêu cầu 4, 5

  • Remove cấu hình GRE trên R2 và R5
R2, R5:
no interface Tunnel0

  • Remove cấu hình iBGP giữa R2 với R5

R2:
router bgp 200
no neighbor 192.168.25.5 next-hop-self
no neighbor 192.168.25.5 remote-as 200

R5:
router bgp 200
no neighbor 192.168.25.2 next-hop-self
no neighbor 192.168.25.2 remote-as 200

7. Cấu hình iBGP giữa R2 và R5

Dùng IP trên interface loopback 0 của R2 và R5 thể thiết lập neighbor cho iBGP

R2:
router bgp 200
 neighbor 192.168.5.1 remote-as 200
 neighbor 192.168.5.1 update-source Loopback0
 neighbor 192.168.5.1 next-hop-self

R5:
router bgp 200
 neighbor 192.168.2.1 remote-as 200
 neighbor 192.168.2.1 update-source Loopback0
 neighbor 192.168.2.1 next-hop-self


  • Kiểm tra thiết lập neighbor sau khi cấu hình iBGP

R2#show ip bgp summary 
(...)
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.5.1      4          200         9         8        7    0    0 00:03:10        1
192.168.12.1    4          100     302     301        7    0    0 04:29:43        1
R5#show ip bgp summary
(...)
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.2.1      4          200         8         9        5    0    0 00:02:54        1
192.168.56.6    4          300     300     298        5    0    0 04:26:38        1



  • Kiểm tra kết nối giữa 2 loopback 0 của R1 và R6

R1#show ip route 192.168.6.1
Routing entry for 192.168.6.0/24
  Known via "bgp 100", distance 20, metric 0
  Tag 200, type external
  Last update from 192.168.12.2 00:20:58 ago
  Routing Descriptor Blocks:
  * 192.168.12.2, from 192.168.12.2, 00:20:58 ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 200
      MPLS label: none
R2#show ip route 192.168.6.1
Routing entry for 192.168.6.0/24
  Known via "bgp 200", distance 200, metric 0
  Tag 300, type internal
  Last update from 192.168.5.1 00:18:22 ago
  Routing Descriptor Blocks:
  * 192.168.5.1, from 192.168.5.1, 00:18:22 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 300
      MPLS label: none

R6#show ip route 192.168.1.1
Routing entry for 192.168.1.0/24
  Known via "bgp 300", distance 20, metric 0
  Tag 200, type external
  Last update from 192.168.56.5 00:25:51 ago
  Routing Descriptor Blocks:
  * 192.168.56.5, from 192.168.56.5, 00:25:51 ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 200
      MPLS label: none
R5#show ip route 192.168.1.1
Routing entry for 192.168.1.0/24
  Known via "bgp 200", distance 200, metric 0
  Tag 100, type internal
  Last update from 192.168.2.1 00:27:28 ago
  Routing Descriptor Blocks:
  * 192.168.2.1, from 192.168.2.1, 00:27:28 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 100
      MPLS label: none

R1 và R6 đã học được các lớp mạng loopback 0 đã quảng bá nhờ vào kết nối iBGP giữa R2 và R5. Tuy nhiên khi tracertroute 192.168.6.1 từ R1, route này sẽ không đi đến được

R1#traceroute 192.168.6.1 source 192.168.1.1 numeric
Type escape sequence to abort.
Tracing the route to 192.168.6.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.12.2 0 msec 6 msec 0 msec
  2  *  *  *
  3  *  *  *
  4  *  *  *
  5  *  *  *
   (...)

vì các con router P (R3, R4) không chạy BGP với R2 và R5 nên nó không có thông tin về route này nên gói tin sẽ bị drop.

R3#show ip route 192.168.6.1
% Network not in table

Lỗi này gọi là back hole, R3 và R4 là "hố đen" đã hút mất gói tin khi chuyển qua đường đi của nó.

Để khắc phục lỗi này chúng ta có rất nhiều kỹ thuật ví dụ như: cho các router P (R3, R4) tham gia vào định tuyến BGP, hay redistribute BGP vào OSPF ở trên các router PE (R2, R5), tuy nhiên sẽ tốn rất nhiều tài nguyên. 

Yêu cầu 8 sẽ dùng MPLS để giải quyết vấn đề này.

8. Enable MPLS trên tất cả các interface kết nối giữa các router PE, P (R2, R3, R4, R5)

R2:
interface Ethernet0/1
mpls ip

R3, R4:
interface range ethernet 0/0-1
mpls ip

R5:
interface Ethernet0/0
mpls ip

  • Kiểm tra kết nối sau khi enable mpls

R1#ping 192.168.6.1 source 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.6.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R1#traceroute 192.168.6.1 source 192.168.1.1 numeric
Type escape sequence to abort.
Tracing the route to 192.168.6.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.12.2 1 msec 1 msec 0 msec
  2 192.168.23.3 [MPLS: Label 18 Exp 0] 2 msec 1 msec 2 msec
  3  *  *  *
  4 192.168.45.5 1 msec 2 msec 1 msec
  5 192.168.56.6 2 msec *  2 msec

R6#ping 192.168.1.1 source 192.168.6.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.6.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
R6#traceroute 192.168.1.1 source 192.168.6.1 numeric 
Type escape sequence to abort.
Tracing the route to 192.168.1.1
VRF info: (vrf in name/id, vrf out name/id)
  1 192.168.56.5 1 msec 0 msec 0 msec
  2 192.168.45.4 [MPLS: Label 16 Exp 0] 1 msec 2 msec 1 msec
  3  *  *  *
  4 192.168.23.2 2 msec 1 msec 1 msec
  5 192.168.12.1 1 msec *  2 msec
Vậy các loopback 0 của R1 và R6 đã thông nhau nhờ sử dụng kỹ thuật MPLS. Khi chúng ta enable MPLS các router sẽ dùng label để forward gói tin.

R2#show ip route 192.168.6.1
Routing entry for 192.168.6.0/24
  Known via "bgp 200", distance 200, metric 0
  Tag 300, type internal
  Last update from 192.168.5.1 02:44:26 ago
  Routing Descriptor Blocks:
  * 192.168.5.1, from 192.168.5.1, 02:44:26 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 300
      MPLS label: none

Để đến được 192.168.6.1 thì phải thông qua next hop là 192.168.5.1. Thông thường router sẽ kiểm tra trong bảng routing để quyết định forward đến next hop nào, cổng nào, ở đây MPLS dùng nhãn để forward gói tin.

R2#show  mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop 
Label      Label      or Tunnel Id     Switched      interface           
16         No Label   192.168.3.1/32   0             Et0/1      192.168.23.3
17         17              192.168.4.1/32   0             Et0/1      192.168.23.3
18         18              192.168.5.1/32   0             Et0/1      192.168.23.3
19         Pop Label  192.168.34.0/24  0            Et0/1      192.168.23.3
20         19              192.168.45.0/24  0             Et0/1      192.168.23.3

cũng có thể kiểm tra bảng CEF (cisco express forwarding) để biết được từ R1 đến địa chỉ 192.168.6.1 dùng nhãn là số bao nhiêu và thông qua cổng nào (xem bài Quá trình trao đổi nhãn trong MPLS)

R2#show ip cef 192.168.6.1
192.168.6.0/24
  nexthop 192.168.23.3 Ethernet0/1 label 18

Phân tích gói tin trên whileshark



Ta thấy MPLS header chèn vào giữa lớp Ethernet và lớp Internet, đó cũng chính là lý do người ta gọi MPLS hoạt động ở lớp 2.5.

Trong các router P (R3, R4) cũng dùng nhãn để forward gói tin
R3#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop 
Label      Label      or Tunnel Id     Switched      interface           
16         No Label   192.168.2.1/32   20931         Et0/0      192.168.23.2
17         No Label   192.168.4.1/32   0                 Et0/1      192.168.34.4
18         18              192.168.5.1/32   22092         Et0/1      192.168.34.4
19         Pop Label  192.168.45.0/24  0                Et0/1      192.168.34.4

Riêng R4 thì nhãn sẽ được remove ra trước, sau đó chuyển gói tin IP cho PE (R5). Tại sao R4 làm vậy sẽ được thảo luận trong phần Quá trình trao đổi nhãn trong MPLS.
R4#show mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop 
Label      Label      or Tunnel Id     Switched      interface           
16         16             192.168.2.1/32   22317         Et0/0      192.168.34.3
17         No Label   192.168.3.1/32      0             Et0/0      192.168.34.3
18         No Label   192.168.5.1/32   21239        Et0/1      192.168.45.5
19         Pop Label  192.168.23.0/24    0             Et0/0      192.168.34.3

R5 nhận được gói tin IP không có lable và forward cho R6 như bình thường. Khi R6 nhận được thì trả lời ICMP reply và sẽ kết thúc tại R5.
R5#show ip route 192.168.1.1
Routing entry for 192.168.1.0/24
  Known via "bgp 200", distance 200, metric 0
  Tag 100, type internal
  Last update from 192.168.2.1 03:35:59 ago
  Routing Descriptor Blocks:
  * 192.168.2.1, from 192.168.2.1, 03:35:59 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 100
      MPLS label: none
R5 biết rằng để đến 192.168.1.1 sẽ dùng next-hop là 192.168.2.1.
R5#show mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop 
Label      Label      or Tunnel Id     Switched      interface           
16         16              192.168.2.1/32   0                 Et0/0      192.168.45.4
17         17              192.168.3.1/32   0                 Et0/0      192.168.45.4
18         No Label   192.168.4.1/32   0                 Et0/0      192.168.45.4
19         19              192.168.23.0/24  0                Et0/0      192.168.45.4
20         Pop Label  192.168.34.0/24  0                Et0/0      192.168.45.4

R5 sẽ thêm lable 16 vào gói tin IP và forward ra cổng Et0/0 để đến router P (R4)
R5#show  ip cef 192.168.1.1
192.168.1.0/24
  nexthop 192.168.45.4 Ethernet0/0 label 16

Router R4 sẽ forward sang R3
R4#show mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop 
Label      Label      or Tunnel Id     Switched      interface           
16         16             192.168.2.1/32   211146        Et0/0      192.168.34.3
17         No Label   192.168.3.1/32       0             Et0/0      192.168.34.3
18         No Label   192.168.5.1/32   196413       Et0/1      192.168.45.5
19         Pop Label  192.168.23.0/24     0             Et0/0      192.168.34.3

R3 sẽ remove lable và forward đến R2 qua interface Et0/0
R3#show mpls forwarding-table 
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop 
Label      Label      or Tunnel Id     
Switched      interface           
16         No Label   192.168.2.1/32   
196480        Et0/0      192.168.23.2
17         No Label   192.168.4.1/32        0             Et0/1      192.168.34.4
18         18         192.168.5.1/32        211588        Et0/1      192.168.34.4
19         Pop Label  192.168.45.0/24      0            Et0/1      192.168.34.4

R2 forward gói tin IP không lable đến R1.

Hy vọng rằng chúng ta hiểu, biết sử dụng MPLS để tạo ra tunnel giữa các con router PE để tạo BGP free core.

Xong!

Tìm hiểu luật EUI-64 của IPv6 / Understanding IPv6 EUI-64 Bit Address

EUI-64 (Extended Unique Identifier) là cách tự động gán ip cho host IPv6. IPv6 sử dụng MAC address trên inteface của thiết bị để làm phần interface-id của địa chỉ IPv6. Tuy nhiên địa chỉ MAC address chỉ có 48bitinterface-id 64bit. Vì thế sẽ có qui luật để điền các bit còn thiếu cho đủ 64bit.

Luật EUI-64
  • Lấy 48bit của MAC address chia làm 2 phần mỗi phần 24bit, phần OUI (Organizationally Unique Identifier) 24bit và NIC 24bit
  • Chèn thêm 2 byte "FFFE" vào giữa phần OUI và NIC để đủ 64bit
  • Đảo ngược bit thứ 7 của địa chỉ MAC (nằm phần bên trái/OUI). Nếu bit thứ 7 bằng 1 thì ta đổi thành 0 và ngược lại nếu bằng 0 thì đổi bằng 1
/*header slide*/