Конфигурации MPLS Option-A на Cisco (практика).

Usupovman
5 min readApr 28, 2021

--

Предположим у нас есть такая топология :

Для начала настроим маршрутизацию на устройствах :

R1 
interface Loopback0
ip address 1.1.1.1 255.255.255.255
interface GigabitEthernet1
ip address 10.0.5.1 255.255.255.0
interface GigabitEthernet2
ip address 10.0.0.1 255.255.255.0
mpls ip
interface GigabitEthernet3
ip address 10.0.1.1 255.255.255.0
mpls ip
router ospf 1
router-id 1.1.1.1
network 1.1.1.1 0.0.0.0 area 0
network 10.0.0.0 0.0.0.255 area 0
network 10.0.1.0 0.0.0.255 area 0
R2
interface Loopback0
ip address 2.2.2.2 255.255.255.255

interface GigabitEthernet1
ip address 10.0.0.2 255.255.255.0
mpls ip
router ospf 1
router-id 2.2.2.2
network 2.2.2.2 0.0.0.0 area 0
network 10.0.0.0 0.0.0.255 area 0
R3
interface Loopback0
ip address 3.3.3.3 255.255.255.255

interface GigabitEthernet1
ip address 10.0.1.2 255.255.255.0
mpls ip
router ospf 1
router-id 3.3.3.3
network 3.3.3.3 0.0.0.0 area 0
network 10.0.1.0 0.0.0.255 area 0

Как видим ничего сложного , для передачи лупбеков используем OSPF, так же сразу включаем LDP на интерфейсах. Далее настроим VPNv4 соседство как указано на нашей схеме, то есть у R2 и R3 будет соседство с R1, настройки на R4 пока отложим.

R1
router bgp 65000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 2.2.2.2 remote-as 65000
neighbor 2.2.2.2 update-source Loopback0
neighbor 3.3.3.3 remote-as 65000
neighbor 3.3.3.3 update-source Loopback0
!
address-family vpnv4
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 3.3.3.3 activate
neighbor 3.3.3.3 send-community extended
exit-address-family
R2,R3router bgp 65000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 1.1.1.1 remote-as 65000
neighbor 1.1.1.1 update-source Loopback0
!
address-family vpnv4
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
exit-address-family

VPNv4 BGP соседство у нас поднялось, но передавать пока нечего:

Теперь время создать наши VRF , у нас их будет два, VRF-A и VRF-B :

На R1 создадим VRF-A и VRF-B:ip vrf VRF-A
rd 1.1.1.1:10
route-target export 65000:10
route-target import 65000:10

ip vrf VRF-B
rd 1.1.1.1:20
route-target export 65000:20
route-target import 65000:20
На R2 создадим VRF-A :

ip vrf VRF-A
rd 2.2.2.2:10
route-target export 65000:10
route-target import 65000:10

На R3 создадим VRF-B :
ip vrf VRF-B
rd 3.3.3.3:20
route-target export 65000:20
route-target import 65000:20

Создадим лупбек интерфейсы и добавим их в созданные VRF :

На R1:
interface Loopback10
ip vrf forwarding VRF-A
ip address 10.10.10.1 255.255.255.255

interface Loopback20
ip vrf forwarding VRF-B
ip address 10.10.20.1 255.255.255.255
На R2:
interface Loopback10
ip vrf forwarding VRF-A
ip address 10.10.10.2 255.255.255.255
на R3:
interface Loopback20
ip vrf forwarding VRF-B
ip address 10.10.20.3 255.255.255.255

Проанонсируем наши подсети в BGP:

на R1
router bgp 65000
address-family ipv4 vrf VRF-A
redistribute connected
exit-address-family
!
address-family ipv4 vrf VRF-B
redistribute connected
exit-address-family
на R2 :
router bgp 65000
address-family ipv4 vrf VRF-A
redistribute connected
exit-address-family
на R3:
router bgp 65000
address-family ipv4 vrf VRF-B
redistribute connected
exit-address-family

После введенных команд начнется обмен VPNv4 префиксами:

И в наши VRF прилетят маршруты (Точнее пока только один маршрут):

Можно пропинговать полученные маршруты:

Как видим все в порядке . Между R1 и R4 у нас стык, на котором используется Option -A , для работы Opion-A нам надо для каждого VRF организовать ip связанность между R1 и R4, не трудно догадаться что для этого мы будем использовать саб интерфейсы :

на R1 : 
interface GigabitEthernet1.10
encapsulation dot1Q 10
ip vrf forwarding VRF-A
ip address 172.16.10.1 255.255.255.0
interface GigabitEthernet1.20
encapsulation dot1Q 20
ip vrf forwarding VRF-B
ip address 172.16.20.1 255.255.255.0

Можно переходить к настойкам роутера R4:

создадим VRF-A  и VRF-B :ip vrf VRF-A
rd 11.11.11.11:10
route-target export 65100:10
route-target import 65100:10
!
ip vrf VRF-B
rd 11.11.11.11:20
route-target export 65100:20
route-target import 65100:20
Создадим сабинтерфейсы для option-a стыка: interface GigabitEthernet1.10
encapsulation dot1Q 10
ip vrf forwarding VRF-A
ip address 172.16.10.2 255.255.255.0
!
interface GigabitEthernet1.20
encapsulation dot1Q 20
ip vrf forwarding VRF-B
ip address 172.16.20.2 255.255.255.0
создадим лупбек интерфейсы и посадим их в созданные VRF : interface Loopback10
ip vrf forwarding VRF-A
ip address 44.44.44.10 255.255.255.255
!
interface Loopback20
ip vrf forwarding VRF-B
ip address 44.44.44.20 255.255.255.255

Ну и последний штрих , организация передачи маршрутов через Option- A стык, я буду использовать EBGP.

на R1 настраиваем EBGP  соседство для каждого VRF:
router bgp 65000
address-family ipv4 vrf VRF-A
neighbor 172.16.10.2 remote-as 65100
neighbor 172.16.10.2 activate
exit-address-family

address-family ipv4 vrf VRF-B
neighbor 172.16.20.2 remote-as 65100
neighbor 172.16.20.2 activate
exit-address-family
на R4 настраиваем EBGP соседство, и анонсируем сети лупбек интерфейсов: router bgp 65100
bgp log-neighbor-changes
no bgp default ipv4-unicast
!
address-family ipv4 vrf VRF-A
network 44.44.44.10 mask 255.255.255.255
neighbor 172.16.10.1 remote-as 65000
neighbor 172.16.10.1 activate
exit-address-family
!
address-family ipv4 vrf VRF-B
network 44.44.44.20 mask 255.255.255.255
redistribute connected
neighbor 172.16.20.1 remote-as 65000
neighbor 172.16.20.1 activate
exit-address-family

Ну вот и все , можно проверить маршрутизацию :

Как видим маршруты прилетают , можно пропинговать :

Возможно позже добавлю Option-C стык … Но это не точно…

--

--