Если на сети используется протокол BGP, то он настраивается на всех маршрутизаторах. При этом, если AS является транзитной и провайдер не хочет иметь Full BGP таблицы на P-маршрутизаторах, а только на ASBR’ах, он может скрыть транзитный трафик от P- маршрутизаторов при помощи:
туннеля GRE/VXLAN;
MPLS LSP.
В данной статье рассмотрим настройку BGP free core на основе MPLS.
Все маршрутизатор находятся в AS 100, настроен OSPF, MPLS, LDP. Интерфейсы Loopback10 используются для симуляции сервисов.
hostname PE1 interface loopback 1 ipv4 address 1.1.1.1/32 exit interface loopback 10 ipv4 address 100.0.0.1/32 exit interface tengigabitethernet 0/0/12 description "To P1" ipv4 address 10.0.0.1/24 exit mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/12 exit ldp discovery interface tengigabitethernet 0/0/12 exit exit router-id 1.1.1.1 transport-address 1.1.1.1 exit router ospfv2 1 area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/0/12 network point-to-point exit exit router-id 1.1.1.1 exit
hostname P1 interface loopback 1 ipv4 address 2.2.2.2/32 exit interface tengigabitethernet 0/0/2 description "To P2" ipv4 address 20.0.0.1/24 exit interface tengigabitethernet 0/0/12 description "To PE1" ipv4 address 10.0.0.2/24 exit mpls forwarding interface loopback 1 interface tengigabitethernet 0/0/2 interface tengigabitethernet 0/0/12 exit ldp discovery interface tengigabitethernet 0/0/2 exit discovery interface tengigabitethernet 0/0/12 exit exit router-id 2.2.2.2 transport-address 2.2.2.2 exit router ospfv2 1 area 0.0.0.0 interface loopback 1 passive exit interface tengigabitethernet 0/0/2 network point-to-point exit interface tengigabitethernet 0/0/12 network point-to-point exit exit router-id 2.2.2.2 exit
PE2 и P2 настраиваются аналогично.
Между PE1 и PE2 настраивается iBGP.
Т.к. P1 и P2 не участвуют в BGP маршрутизации, чтобы передать между PE1 и PE2 маршрутную информацию об интерфейсах Looback10, нам нужно передать не просто маршрут, а маршрут + метку MPLS. Поэтому используется address-family ipv4 labeled – BGP Labelled Unicast
0/ME5100:PE1# show run router bgp Thu Nov 28 04:32:40 2024 ! Configuration version 3.9.1.140R router bgp 100 address-family ipv4 labeled <<<< redistribution local Loop10 match prefix 100.0.0.1/32 exit exit bgp router-id 1.1.1.1 neighbor 4.4.4.4 address-family ipv4 labeled next-hop-self exit remote-as 100 update-source 1.1.1.1 exit exit 0/ME5200:PE2# show run router bgp Thu Nov 28 07:05:01 2024 ! Configuration version 3.9.1.140R router bgp 100 address-family ipv4 labeled <<<< redistribution local Loop10 match prefix 200.0.0.1/32 exit exit bgp router-id 4.4.4.4 neighbor 1.1.1.1 address-family ipv4 labeled exit remote-as 100 update-source 4.4.4.4 exit exit
В таблице маршрутизации PE1 маршрут до 200.0.0.1/32 помечен как BGP labeled
0/ME5100:PE1# show route Thu Nov 28 06:15:48 2024 Codes: C - connected, S - static, O - OSPF, B - BGP, L - local IA - OSPF inter area, EA - OSPF intra 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, L1 - IS-IS level-1, L2 - IS-IS level-2, LE1 - IS-IS level1 external, LE2 - IS-IS level2 external BI - BGP internal, BE - BGP external, BV - BGP vpn, BL - BGP labeled, R - RIP L 1.1.1.1/32 is directly connected, 21h40m16s, lo1 O EA 2.2.2.2/32 via 10.0.0.2 [30/1], 19h18m24s, te0/0/12 O EA 4.4.4.4/32 via 10.0.0.2 [30/3], 19h04m58s, te0/0/12 O EA 5.5.5.5/32 via 10.0.0.2 [30/2], 19h05m03s, te0/0/12 C 10.0.0.0/24 is directly connected, 19h20m04s, te0/0/12 L 10.0.0.1/32 is directly connected, 19h20m04s, te0/0/12 O EA 20.0.0.0/24 via 10.0.0.2 [30/2], 19h05m13s, te0/0/12 O EA 30.0.0.0/24 via 10.0.0.2 [30/3], 19h05m03s, te0/0/12 L 100.0.0.1/32 is directly connected, 18h56m02s, lo10 B BL 200.0.0.1/32 via 4.4.4.4 [199/0], 01h36m14s, <<<<<<< Total entries: 10
В FIB для префикса 200.0.0.1/32 кроме nexthop’а и интерфейса также видим MPLS метки
0/ME5100:PE1# show l3forwarding Thu Nov 28 06:16:34 2024 Prefix Nexthop Outgoing label Interface ---------------------------------------------- ------------------------------------------- ------------------ ---------- 1.1.1.1/32 receive -- lo1 2.2.2.2/32 10.0.0.2 -- te0/0/12 4.4.4.4/32 10.0.0.2 18 te0/0/12 5.5.5.5/32 10.0.0.2 17 te0/0/12 10.0.0.0/24 attached -- te0/0/12 10.0.0.1/32 receive -- te0/0/12 20.0.0.0/24 10.0.0.2 -- te0/0/12 30.0.0.0/24 10.0.0.2 -- te0/0/12 100.0.0.1/32 receive -- lo10 200.0.0.1/32 10.0.0.2 18/3 te0/0/12 <<<<
Проверяем связность:
0/ME5100:PE1# ping 200.0.0.1 Thu Nov 28 08:56:01 2024 Sending 4, 56-byte ICMP Echos to 200.0.0.1, request send interval is 0.100 seconds, response wait timeout is 2.000 seconds: !!!! Success rate is 100 percent (4/4), round-trip min/avg/max = 0.132/0.169/0.214 ms