Implementing Inter-AS BGP MPLS VPN Option C on Huawei Routers.
- March 5, 2024
- Posted by: Lyfey Technologies
- Categories: Huawei, Networking
There are three flavors of Inter-AS BGP MPLS VPN implementation. Options A, B, and C. Option C is the most preferred solution for large ISP networks because of its scalability and ease of implementation.
Check out the implementation of option A and B below links:
Inter-AS BGP MPLS VPN Option A implementation on Huawei routers
Inter-AS BGP MPLS VPN Option B implementation on Huawei routers
Both Option A and Option B can meet inter-AS VPN communication requirements. Their main drawback is that ASBRs need to maintain and distribute VPN-IPv4 routes which may hinder network extension when each AS needs to exchange a large number of VPN routes. There are two implementations of Inter-AS BGP Option C:
- The PE devices directly establish a multi-hop EBGP connection to exchange VPN-IPv4 routes. This is not scalable when you have many PEs and have to establish multi-hop EBGP peering between them.
- Inter-Provider Backbones Option C with an RR. To improve network scalability, you can specify an RR in each AS. The RR stores all VPN-IPv4 routes and exchanges VPN-IPv4 routes with the PE devices in the local AS. The RRs in two ASs establish an MP-EBGP connection to advertise VPN-IPv4 routes.
In this article, we will focus on the first implementation where RRs are not deployed. Below is our topology diagram.
Lab objective: Establish multi-hop EBGP peering between PE1 and PE2, ensure they can exchange customer routes, and test communication between the two customer sites.
1. Configure IP Address, Enable MPLS and LDP on interfaces in the two ASes 100, and 200. Configure IGP and enable on the interfaces in the backbone network.
***************************PE01
sys
sysname PE1
#
isis 20
is-level level-2
cost-style wide
network-entity 49.0000.0020.0200.2002.00
is-name PE01
#
mpls lsr-id 2.2.2.2
mpls
mpls ldp
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
isis enable 20
#
interface GigabitEthernet0/0/3
ip address 10.251.250.10 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
commit
*******************************P1
sys
sysname P1
#
mpls lsr-id 3.3.3.3
mpls
#
mpls ldp
#
isis 20
is-level level-2
cost-style wide
network-entity 49.0000.0030.0300.3003.00
is-name P01
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
isis enable 20
#
interface GigabitEthernet0/0/0
ip address 10.251.250.11 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
ip address 10.251.250.8 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
commit
****************************ASBR01
sys
sysname ASBR01
#
mpls lsr-id 4.4.4.4
mpls
#
mpls ldp
#
isis 20
is-level level-2
cost-style wide
network-entity 49.0000.0040.0400.4004.00
is-name ASBR01
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
isis enable 20
#
interface GigabitEthernet0/0/2
ip address 10.251.250.9 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
ip address 172.16.16.3 255.255.255.254
mpls
#
commit
*******************************ASBR02
sysname ASBR02
#
mpls lsr-id 5.5.5.5
mpls
#
mpls ldp
#
isis 20
is-level level-2
cost-style wide
network-entity 49.0000.0050.0500.5005.00
is-name ASBR02
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.255
isis enable 20
#
interface GigabitEthernet0/0/0
description TO_ASBR_02
ip address 172.16.16.2 255.255.255.254
mpls
mpls ldp
#
interface GigabitEthernet0/0/2
ip address 10.251.250.12 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
commit
*************************************P2
sysname P2
#
mpls lsr-id 6.6.6.6
mpls
#
mpls ldp
#
isis 20
is-level level-2
cost-style wide
network-entity 49.0000.0060.0600.6006.00
is-name P02
#
interface LoopBack0
ip address 6.6.6.6 255.255.255.255
isis enable 20
#
interface GigabitEthernet0/0/0
ip address 10.251.250.13 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
interface GigabitEthernet0/0/1
ip address 10.251.250.14 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
**********************************PE2
mpls lsr-id 7.7.7.7
mpls
#
mpls ldp
#
isis 20
is-level level-2
cost-style wide
network-entity 49.0000.0070.0700.7007.00
is-name PE02
#
interface LoopBack0
ip address 7.7.7.7 255.255.255.255
isis enable 20
#
interface GigabitEthernet0/0/0
ip address 10.251.250.8 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
interface GigabitEthernet0/0/2
ip address 10.251.250.13 255.255.255.254
isis enable 20
isis circuit-type p2p
isis cost 100
mpls
mpls ldp
#
commit
Verify IGP status in AS 100 and AS 200. Ensure PEs can ping ASBRs.
Configure iBGP between ASBRs and PE routers. Configure EBGP between ASBRs
****************************PE1
bgp 200
router-id 2.2.2.2
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 4.4.4.4 enable
peer 4.4.4.4 label-route-capability
#
*****************************ASBR01
bgp 200
router-id 4.4.4.4
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 172.16.16.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 route-policy policy2 export
peer 2.2.2.2 label-route-capability
peer 172.16.16.2 enable
peer 172.16.16.2 route-policy policy1 export
peer 172.16.16.2 label-route-capability
#
************************PE2
bgp 100
router-id 7.7.7.7
peer 5.5.5.5 as-number 100
peer 5.5.5.5 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 5.5.5.5 enable
peer 5.5.5.5 label-route-capability
#
***************************ASBR02
bgp 100
router-id 5.5.5.5
peer 7.7.7.7 as-number 100
peer 7.7.7.7 connect-interface LoopBack0
peer 172.16.16.3 as-number 200
#
ipv4-family unicast
undo synchronization
network 7.7.7.7 255.255.255.255
peer 7.7.7.7 enable
peer 7.7.7.7 route-policy policy2 export
peer 7.7.7.7 label-route-capability
peer 172.16.16.3 enable
peer 172.16.16.3 route-policy policy1 export
peer 172.16.16.3 label-route-capability
#
Verify BGP status on PEs and ASBRs. Configure reachability between PE routers
Configure EBGP between PE routers
****************************PE1
bgp 200
peer 7.7.7.7 as-number 100
peer 7.7.7.7 ebgp-max-hop 10
peer 7.7.7.7 connect-interface LoopBack0
#
ipv4-family unicast
undo peer 7.7.7.7 enable
#
ipv4-family vpnv4
undo policy vpn-target
peer 7.7.7.7 enable
#
****************************PE2
bgp 100
peer 2.2.2.2 as-number 200
peer 2.2.2.2 ebgp-max-hop 10
peer 2.2.2.2 connect-interface LoopBack0
#
ipv4-family unicast
undo peer 2.2.2.2 enable
#
ipv4-family vpnv4
undo policy vpn-target
peer 2.2.2.2 enable
#
Configure VPN Instances on PE routers and bind the VPN to the interfaces facing the customers.
**************************PE1
ip vpn-instance VRF1
ipv4-family
route-distinguisher 200:1
vpn-target 200:1 export-extcommunity
vpn-target 200:1 import-extcommunity
#
interface GigabitEthernet0/0/0
ip binding vpn-instance VRF1
ip address 10.10.10.2 255.255.255.254
#
**************************PE2
ip vpn-instance VRF1
ipv4-family
route-distinguisher 65000:1
vpn-target 200:1 export-extcommunity
vpn-target 200:1 import-extcommunity
#
interface GigabitEthernet0/0/1
ip binding vpn-instance VRF1
ip address 20.20.20.2 255.255.255.254
#
Configure EBGP between PEs and CEs.
*************************PE1
bgp 200
ipv4-family vpn-instance VRF1
peer 10.10.10.3 as-number 65500
#
*************************CE01
bgp 65500
router-id 1.1.1.1
peer 10.10.10.2 as-number 200
#
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
peer 10.10.10.2 enable
#
*************************PE2
bgp 100
ipv4-family vpn-instance VRF1
peer 20.20.20.3 as-number 65000
#
************************CE02
bgp 65000
peer 20.20.20.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 8.8.8.8 255.255.255.255
peer 20.20.20.2 enable
#
Verify the eBGP status between PEs and CEs
Testing communication between customer sites.
Thank you for such interesting and well blog. It explained very well.