В данной статье описана конфигурация BGP Labeled Unicast для организации Inter-AS BGP OptC.

В качестве IGP протокола в AS100 выбран ISIS, а в AS200 OSPF. В качестве транспортного протокола используется LDP.

Настройки протоколов IGP и MPLS LDP не приведены.


Исходя из схемы выше, приведем пример конфигурации BGP на маршрутизаторах PE.

Для оценки результата доступности сервисов из разных AS, создадим на PE маршрутизаторах VRF и привяжем к loopback интерфейсу:

R3_PER4_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_PER4_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_RRR6_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_ASBRR11_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
  • Нет меток