Exploring the quirks of Network Engineering
Scenario
The below config comparison is based on the below setup for the perspective of R1:
IOS Config
hostname R1
ip domain name lab1.com
!
ip vrf CUST_A
description Customer_A_VRF
rd 500:1
vpn id 500:1
route-target export 500:1
route-target import 500:1
!
ip vrf CUST_B
description Customer_B_VRF
rd 500:2
vpn id 500:2
route-target export 500:2
route-target import 500:2
!
interface Loopback0
description Loopback for MPLS Next Hop
ip address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet0/0
description Internal link with LDP and ISIS
ip address 10.14.0.1 255.255.255.0
ip router isis LAB
mpls ip
isis circuit-type level-2-only
isis network point-to-point
!
interface GigabitEthernet0/1
description Link to Customer A CE Router
ip vrf forwarding CUST_A
ip address 192.168.1.1 255.255.255.252
!
interface GigabitEthernet0/2
description Link to Customer B CE Router
ip vrf forwarding CUST_B
ip address 192.168.2.1 255.255.255.252
!
router isis LAB
net 49.0500.0000.0000.0001.00
is-type level-2-only
passive-interface Loopback0
!
router bgp 500
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 500
neighbor 2.2.2.2 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 2.2.2.2 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 2.2.2.2 next-hop-self
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
redistribute connected
redistribute static
neighbor 192.168.1.2 remote-as 64512
neighbor 192.168.1.2 activate
neighbor 192.168.1.2 route-map CUST_A_SITE_1_IN in
neighbor 192.168.1.2 as-override
exit-address-family
!
address-family ipv4 vrf CUST_B
no synchronization
redistribute connected
redistribute static
neighbor 192.168.2.2 remote-as 64513
neighbor 192.168.2.2 activate
neighbor 192.168.2.2 route-map CUST_B_SITE_1_IN in
neighbor 192.168.2.2 as-override
exit-address-family
!
!
ip prefix-list CUST_A_SITE_1 seq 10 permit 172.16.1.0/24
!
ip prefix-list CUST_B_SITE_1 seq 10 permit 172.16.2.0/24
!
!route-maps not strictly needed. Could be done using prefix-lists
!alone to filter. however route-maps are useful for adjusted BGP
!attributes (local_pref and so on)
route-map CUST_A_SITE_1_IN permit 10
match ip address prefix-list CUST_A_SITE_1
!
route-map CUST_B_SITE_1_IN permit 10
match ip address prefix-list CUST_B_SITE_1
!
XR Config
hostname R1
domain name lab1.com
vrf CUST_A
address-family ipv4 unicast
import route-target
500:2
!
export route-target
500:2
!
!
!
vrf CUST_B
address-family ipv4 unicast
import route-target
500:1
!
export route-target
500:1
!
!
!
interface Loopback0
description Loopback for MPLS Next Hop
ipv4 address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet0/0/0/0
description Internal link with LDP and ISIS
ipv4 address 10.14.0.1 255.255.255.0
!
interface GigabitEthernet0/0/0/1
description Link to Customer A CE Router
vrf CUST_A
ipv4 address 192.168.1.1 255.255.255.252
!
interface GigabitEthernet0/0/0/2
description Link to Customer B CE Router
vrf CUST_B
ipv4 address 192.168.2.1 255.255.255.252
!
prefix-set CUST_A_SITE_1
172.16.1.0/24 le 24
end-set
!
prefix-set CUST_B_SITE_1
172.16.2.0/24 le 24
end-set
!
route-policy ALLOW_ALL
pass
end-policy
!
route-policy CUST_A_SITE_1_IN
if destination in CUST_A_SITE_1 then
pass
else
drop
endif
end-policy
!
route-policy CUST_B_SITE_1_IN
if destination in CUST_B_SITE_1 then
pass
else
drop
endif
end-policy
!
router isis LAB1
is-type level-2-only
net 49.0500.0000.0000.0001.00
interface Loopback0
passive
address-family ipv4 unicast
!
!
interface GigabitEthernet0/0/0/0
circuit-type level-2-only
point-to-point
address-family ipv4 unicast
!
!
router bgp 500
address-family ipv4 unicast
!
address-family vpnv4 unicast
!
neighbor 2.2.2.2
remote-as 500
description BGP_TO_ROUTE_RELFECTOR
update-source Loopback0
address-family ipv4 unicast
next-hop-self
!
address-family vpnv4 unicast
next-hop-self
!
!
vrf CUST_A
rd 500:1
address-family ipv4 unicast
redistribute connected
redistribute static
!
neighbor 192.168.1.2
remote-as 64512
description BGP_CUST_A_SITE_1
address-family ipv4 unicast
route-policy ALLOW_ALL in
as-override
!
!
!
vrf CUST_B
rd 500:2
address-family ipv4 unicast
redistribute connected
redistribute static
!
neighbor 192.168.2.2
remote-as 64513
description BGP_CUST_B_SITE_1
address-family ipv4 unicast
route-policy CUST_B_SITE_1_IN in
route-policy ALLOW_ALL out
as-override
!
!
!
!
mpls ldp
router-id 1.1.1.1
interface GigabitEthernet0/0/0/0
!
!
You must be logged in to post a comment.