В данной статье описана конфигурация BGP Labeled Unicast для организации Inter-AS BGP OptC.
В качестве IGP протокола в AS100 выбран ISIS, а в AS200 OSPF. В качестве транспортного протокола используется LDP.
Настройки протоколов IGP и MPLS LDP не приведены.
Исходя из схемы выше, приведем пример конфигурации BGP на маршрутизаторах PE.
Для оценки результата доступности сервисов из разных AS, создадим на PE маршрутизаторах VRF и привяжем к loopback интерфейсу:
| R3_PE | R4_PE |
|---|---|
vrf left export route-target 100:200 import route-target 100:200 rd 10.0.1.3:100 exit interface loopback 10 ipv4 address 100.0.0.1/32 vrf left exit | vrf right export route-target 100:200 import route-target 100:200 rd 10.0.2.4:200 exit interface loopback 10 ipv4 address 200.0.0.1/32 vrf right exit |
Теперь на PE маршрутизаторах поднимем BGP сессию с RR (Route Reflector) .
| R3_PE | R4_PE |
|---|---|
router bgp 100
bgp router-id 10.0.1.3
neighbor 10.0.1.5
address-family ipv4 labeled
exit
address-family vpnv4 unicast
exit
remote-as 100
send-community
send-community-ext
update-source 10.0.1.3
exit
exit
| router bgp 200
bgp router-id 10.0.2.4
neighbor 10.0.2.6
address-family ipv4 labeled
exit
address-family vpnv4 unicast
exit
remote-as 200
send-community
send-community-ext
update-source 10.0.2.4
exit
exit
|
Далее настроим RR в AS100 и AS200:
| R5_RR | R6_RR |
|---|---|
router bgp 100
address-family vpnv4 unicast
accept-nonexistent-rt-paths <==== Команда позволяет принимать L3VPN маршурты
для несуществующих на устройстве экземпляров vrf.
exit
bgp router-id 10.0.1.5
neighbor 10.0.1.10 <====== iBGP сессия с R10_ASBR
address-family ipv4 labeled
exit
remote-as 100
send-community
send-community-ext
update-source 10.0.1.5
exit
neighbor 10.0.1.3 <====== iBGP сессия с R3_PE
address-family ipv4 labeled
exit
address-family vpnv4 unicast
exit
remote-as 100
route-reflector-client
send-community
send-community-ext
update-source 10.0.1.5
exit
neighbor 10.0.2.6 <====== eBGP сессия с R6_RR
address-family vpnv4 unicast
exit
remote-as 200
send-community
send-community-ext
update-source 10.0.1.5
exit
exit
| router bgp 200
address-family vpnv4 unicast
accept-nonexistent-rt-paths
exit
bgp router-id 10.0.2.6
neighbor 10.0.1.5
address-family vpnv4 unicast
exit
remote-as 100
send-community
send-community-ext
update-source 10.0.2.6
exit
neighbor 10.0.2.11
address-family ipv4 labeled
exit
remote-as 200
send-community
send-community-ext
update-source 10.0.2.6
exit
neighbor 10.0.2.4
address-family ipv4 labeled
exit
address-family vpnv4 unicast
exit
remote-as 200
route-reflector-client
send-community
send-community-ext
update-source 10.0.2.6
exit
exit
|
Теперь настроим BGP на маршрутизаторах ASBR:
| R10_ASBR | R11_ASBR |
|---|---|
router bgp 100
address-family ipv4 labeled
redistribution isis 1
match prefix 10.0.1.5/32 <==== Редистрибуция IPv4 адреса RR. Данный маршрут необходим
для поднятия eBGP VPNv4 сессии между RR.
exit
exit
bgp router-id 10.0.1.10
neighbor 10.0.0.69 <====== eBGP сессия с R11_ASBR.
address-family ipv4 labeled
exit
remote-as 200
send-community
send-community-ext
exit
neighbor 10.0.1.5 <====== iBGP сессия с R5_RR
address-family ipv4 labeled
next-hop-self <====== Подставляем next-hop себя,
так как PE маршрутизатор не знает об адресации между ASBR.
route-map out lo <====== Фильтруем лишние маршруты отдаваемые в сторону RR.
exit
remote-as 100
send-community
send-community-ext
update-source 10.0.1.10
exit
exit
prefix-list lo
seq-num 1
le 32
prefix 10.0.1.0/24
exit
exit
route-map lo
seq-num 1
match prefix-list destination lo
exit
exit
| router bgp 200
address-family ipv4 labeled
redistribution ospf 1
match prefix 10.0.2.6/32
exit
exit
bgp router-id 10.0.2.11
neighbor 10.0.0.68
address-family ipv4 labeled
exit
remote-as 100
send-community
send-community-ext
exit
neighbor 10.0.2.6
address-family ipv4 labeled
next-hop-self
route-map out lo
exit
remote-as 200
send-community
send-community-ext
update-source 10.0.2.11
exit
exit
prefix-list lo
seq-num 1
le 32
prefix 10.0.2.0/24
exit
exit
route-map lo
seq-num 1
match prefix-list destination lo
exit
exit
|
Конфигурация завершена.
Теперь проверим работоспособность сервиса. Но для начало проверим получаемую маршрутную информацию.
На маршрутизаторе R10_ASBR проверяем маршруты получаемые из соседней AS:
0/ME5200:R10_ASBR# show bgp ipv4 labeled neighbors 10.0.0.69 routes Thu Sep 11 12:05:01 2025 BGP router identifier 10.0.1.10, local AS number 100 Graceful Restart is disabled BGP table state: active Status codes: d damped, h history, > best, b backup, S stale, * active, u untracked, i internal Origin codes: i igp, e egp, ? incomplete Received bgp routes from neighbor: 10.0.0.69 Network Next hop Metric Rcvd/Lcl label LocPrf Weight Path ------------------------ ---------------- ------- --------------- ------- ------- ----- u> 10.0.2.6/32 10.0.0.69 0 18/60 100 0 200 ? Total entries: 1 0/ME5200:R10_ASBR# show route 10.0.2.6 Thu Sep 11 12:07:12 2025 Entries: 0
Как видим маршрут получен из соседней AS, но маршрут не попал в таблицу маршрутизации. Причиной данного поведения является то, что по умолчанию Labeled Unicast маршруты, полученные из соседней AS на ASBR, в таблицу маршрутизации не устанавливаются.
Чтобы изменить данное поведение и использовать ASBR также в качестве PE, необходимо выполнить команду:
router bgp 100
address-family ipv4 labeled
labeled-unicast-rib-install
exit
exit
Теперь данный маршрут появится в таблице маршрутизации:
0/ME5200:R10_ASBR# show route 10.0.2.6
Thu Sep 11 12:12:29 2025
Routing entry for 10.0.2.6/32
Last update: 00h00m07s
Routing Descriptor Blocks
10.0.0.69, via bu1
Known via bgp, distance 19, metric 0
type bgp-lu-external, protection none, route-type remote
Entries: 1
Далее проверим получаемые маршруты на RR.
0/ME5100S:C1_R5_RR# show bgp ipv4 labeled
Thu Sep 11 13:23:18 2025
BGP router identifier 10.0.1.5, local AS number 100
Graceful Restart is disabled
BGP table state: active
Status codes: d damped, h history, > best, b backup, S stale, * active, u untracked, i internal
Origin codes: i igp, e egp, ? incomplete
Network Next hop Metric Rcvd/Lcl label LocPrf Weight Path
------------------------ ---------------- ------- --------------- ------- ------- -----
u>i 10.0.2.6/32 10.0.1.10 0 60/- 100 0 200 ?
Total entries: 1
0/ME5100S:C1_R5_RR# show route 10.0.2.6
Thu Sep 11 13:23:30 2025
Routing entry for 10.0.2.6/32
Last update: 23h40m19s
Routing Descriptor Blocks
10.0.1.10, via
Known via bgp, distance 199, metric 0
type bgp-lu-internal, protection none, route-type remote
Entries: 1
Из вывода выше видим, что есть маршрут до RR из соседней AS. Теперь можем проверить eBGP VPNv4 сессию до RR из AS100:
0/ME5100S:C1_R5_RR# show bgp vpnv4 unicast summary Thu Sep 11 13:24:50 2025 BGP router identifier 10.0.1.5, local AS number 100 Graceful Restart is disabled BGP table state: active Neighbor AS MsgRcvd MsgSent Up/Down St/PfxRcd -------------------------- ----------- ------------- ------------- ---------- ------------- 10.0.1.3 100 3062 3096 01d20h03m 1 10.0.2.6 200 1812 1804 01d02h10m 1 Total entries: 2
Сессия поднята.
Проверяем маршрут в vrf left и доступность.
0/ME5100S:MPLS_C12_R3_PE# show route vrf left Thu Sep 11 13:29:34 2025 L 100.0.0.1/32 is directly connected, 02h05m35s, lo10 B BV 200.0.0.1/32 via 10.0.2.6 [200/0], 01h55m58s Total entries: 2 0/ME5100S:MPLS_C12_R3_PE# ping 200.0.0.1 vrf left Thu Sep 11 13:30:40 2025 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.145/0.193/0.254 ms
