Конфигурирование MPLS Layer-3 VPN
Для настройки MPLS L3 VPN требуется развёртывание нескольких взаимосвязанных компонентов. Основой служит транспортная MPLS-сеть, где на всех интерфейсах маршрутизаторов провайдера (P и PE) активируется коммутация по меткам и протокол LDP для их распределения. Критически важным является обеспечение IP-связности через IGP (OSPF или IS-IS), который должен распространять маршруты ко всем интерфейсам, включая loopback-адреса, используемые в качестве LDP Router ID и BGP next-hop.
Ключевым элементом изоляции клиентского трафика выступают VRF, создаваемые на каждом PE-маршрутизаторе. Для каждого клиента или группы виртуальных сетей настраивается отдельная VRF-таблица маршрутизации с уникальным Route Distinguisher, обеспечивающим уникальность IPv4-префиксов преобразуя их в уникальные VPNv4-адреса. Атрибут Route Target определяет политику импорта и экспорта маршрутов между VRF на разных PE, формируя требуемую топологию VPN.
Обмен VPN-маршрутами между граничными маршрутизаторами осуществляется через MP-BGP с активированным адресным семейством VPNv4. iBGP-сессии между PE устанавливаются непосредственно или через Route Reflector, с обязательной настройкой extended communities для передачи RT атрибутов. При этом BGP next-hop сохраняется как loopback-адрес исходного PE, а маршруты переносятся вместе с VPN-метками, которые будут использоваться для идентификации VRF на принимающем PE.
Подключение клиентских устройств (CE) осуществляется через интерфейсы, привязанные к соответствующим VRF. Маршрутизация между PE и CE может настраиваться через статические маршруты, eBGP, OSPF или EIGRP, при этом протоколы динамической маршрутизации должны работать в VRF-контексте. Для завершения настройки необходимо активировать адресное семейство IPv4 unicast в BGP для каждого VRF, обеспечивая редистрибуцию клиентских маршрутов в MP-BGP и обратно.
Верификация работоспособности включает проверку LDP-соседств, установления BGP-сессий VPNv4, наличия VPN-маршрутов в BGP-таблице и их корректной инсталляции в VRF-таблицы маршрутизации. Дополнительно контролируется MPLS-форвардинг через show mpls forwarding и проверяется сквозная связность между клиентскими узлами с использованием ping vrf.
Процесс конфигурирования MPLS Layer-3 VPN состоит из следующих этапов:
- Настройка портов и интерфейсов: Настройка физических интерфейсов и loopback-адресов на всех маршрутизаторах сети.
- Развёртывание IGP (OSPF/IS-IS): Обеспечение полной связности всех интерфейсов, включая интерфейсы loopback, внутри MPLS-сети.
- Активация MPLS транспорта: Включение коммутации по меткам (label switching) и протокола LDP на всех интерфейсах MPLS-сети, исключая интерфейсы loopback.
- Настройка MP-BGP между PE-маршрутизаторами: Создание полносвязной iBGP-сети между всеми граничными маршрутизаторами (непосредственно или через Route Reflector) с активацией адресного семейства VPNv4.
- Создание и настройка VRF: Определение виртуальных таблиц маршрутизации для каждого клиента с назначением Route Distinguisher (RD) и Route Target (RT).
- Привязка клиентских интерфейсов: Привязка интерфейсов к VRF. Привязка IGP протокола (если имеется) между PE и CE к соответствующему VRF и каждого VRF к BGP в виде адресных семейств ipv4.
- Настройка маршрутизации между PE и CE. Конфигурация протоколов маршрутизации (статики, OSPF, eBGP) в контексте VRF и их интеграция с MP-BGP через адресные семейства IPv4.
- Проверка работоспособности: Проверка установления соседств, обмена маршрутами и сквозной связности между клиентскими объектами.
В приведённом ниже примере топологии к опорной MPLS-VPN сети оператора подключены два клиента: GOLD и SILVER. Сеть оператора состоит из трёх маршрутизаторов. ECO1 и ECO3 являются PE-маршрутизаторами, ECO2 — P маршрутизатором.
Постройте схему в соответствии с рисунком ниже:

Рисунок
Полные конфигурации всех узлов доступны по ссылке https://docs.ecorouter.ru/Руководство/901-Примеры-конфигураций/MPLS-L3-VPN-1.
Настройте ECO1 и R1, как показано ниже.
ECO1:
enable
configure
hostname ECO1
ip vrf GOLD
# Route Distinguisher должен быть уникален для каждого PE в каждом VRF
rd 2000:1
# Route Target должна быть идентична для всех PE в каждом VRF
route-target both 2000:100
ip vrf SILVER
rd 2000:11
route-target both 2000:200
# Настройка LDP для распространения меток
router ldp
# Настройка loopback.0 в качестве транспортного адреса
transport-address ipv4 1.1.1.1
# Включение режима распространения меток без запроса
advertisement-mode downstream-unsolicited
# Настройка OSPF для создания сети между CE (клиентом) и PE (провайдером)
router ospf 1 GOLD
# Включить маршруты из BGP в OSPF для их анонсирования
redistribute bgp
# Включить loopback-адрес в маршрутизацию
network 11.1.1.1/32 area 0
# Включить подсеть между CE и PE в маршрутизацию
network 192.168.0.0 0.0.0.255 area 0
# Отключить функции маршрутизации с учётом ограничений
no capability cspf
router ospf 2 SILVER
redistribute bgp
network 13.1.1.1/32 area 0
network 100.0.0.0 0.0.0.255 area 0
no capability cspf
# Настройка isis в качестве IGP-протокола MPLS-сети
router isis 1
net 10.0000.0000.0001.00
# Настройка MP-BGP между PE-маршрутизаторами
# а также настройка адресных семейств для клиентских VRF
router bgp 2000
# Настройка удалённого BGP-соседа
neighbor 3.3.3.3 remote-as 2000
neighbor 3.3.3.3 update-source 1.1.1.1
address-family vpnv4 unicast
neighbor 3.3.3.3 activate
exit-address-family
# Настройка адресного пространства для каждого VRF
address-family ipv4 vrf GOLD
# Включить маршруты из OSPF в BGP для их анонсирования
redistribute ospf
exit-address-family
address-family ipv4 vrf SILVER
redistribute ospf
exit-address-family
port ge0
service-instance 4ge0
encapsulation untagged
port ge1
service-instance 4ge1
encapsulation untagged
port ge2
service-instance 4ge2
encapsulation untagged
# Интерфейс маршрутизатора в сети MPLS
interface loopback.0
ip address 1.1.1.1/32
ip router isis 1
# Интерфейс маршрутизатора в сети PE—CE
interface loopback.1
ip vrf forwarding GOLD
ip address 11.1.1.1/32
interface loopback.2
ip vrf forwarding SILVER
ip address 13.1.1.1/32
# Интерфейс в сторону CE
interface 2ge0
description To GOLD R1
# Привязка интерфейса к VRF
ip vrf forwarding GOLD
connect port ge0 service-instance 4ge0
ip address 192.168.0.1/24
# Интерфейс в сторону CE
interface 2ge1
description To SILVER R3
ip vrf forwarding SILVER
connect port ge1 service-instance 4ge1
ip address 100.0.0.1/24
# Интерфейс в сторону соседнего маршрутизатора в сети MPLS
interface 2ge2
description To ECO2
connect port ge2 service-instance 4ge2
ip address 10.0.12.1/24
ip router isis 1
label-switching
ldp enable ipv4R1:
configure terminal
hostname R1
# Настройка loopback интерфейса маршрутизатора
interface Loopback0
ip address 11.11.11.11 255.255.255.255
# Привязка интерфейса к процессу OSPF
ip ospf 1 area 0
# Настройка интерфейса в сторону PE
interface FastEthernet0/0
ip address 192.168.0.2 255.255.255.0
duplex full
no shutdown
# Настройка маршрутизации OSPF
router ospf 1
# Loopback0 объявляется пассивным чтобы с ним не формировалось соседство
passive-interface Loopback0
# Включить сеть между PE и CE в маршрутизацию
network 192.168.0.0 0.0.0.255 area 0В соответствии со схемой и примерами настройки выше, настройте остальные узлы.
Для проверки конфигурации выполните команды:
- R1:
ping 22.22.22.22 source 11.11.11.11; - R3:
ping 44.44.44.44 source 33.33.33.33.
При необходимости отладки воспользуйтесь командами:
show ldp sessionна ECO1-3 для проверки LDP соседства;show bgp summaryдля проверки соседства между PE;show ip bgp vpnv4 allдля проверки установления BGP-сессий VPNv4.show ip bgp vpnv4 vrf <NAME> labelsдля проверки какие сервисные метки присвоены маршрутам;show mpls vrf-tableдля проверки сервисных меток, присланных удалённым PE;show mpls ilm-table- для проверки сервисных меток, которые были выделены локально;show mpls forwarding-tableдля проверки наличия транспортных меток до next-hop.
Для передачи маршрутной информации частных сетей через сеть оператора используется протокол BGP и его многопротокольное расширение MP-BGP. Это позволяет обмениваться информацией между опосредованно соединёнными маршрутизаторами, а также передавать маршрутную информацию сетей VPN, минуя маршрутизаторы опорной сети оператора (P) посредством коммутации по меткам. Через P-маршрутизаторы информация передаётся прозрачно, как дополнительный BGP атрибут. В MPLS-VPN модели нет необходимости в том, чтобы P-маршрутизаторы принимали решения о маршрутах, основываясь на внутренней адресации сетей VPN. Они просто передают пакеты в соответствии со значениями прикреплённых меток. Таким образом, на P-маршрутизаторах не требуется конфигурацию сетей VPN (VRF) и маршрутизации BGP.
Каждый PE-маршрутизатор в опорной сети MPLS-VPN подсоединён к узлам, входящим в виртуальные частные сети клиентов. Для каждого узла действуют маршруты соответствующей сети VPN. Поэтому на PE-маршрутизаторе должны содержаться таблицы VRF для тех сетей VPN, к узлам которых он подключён.
Различители маршрутов (Route Distinguishers, RDs) обеспечивают уникальность каждого маршрута. Таким образом, в случае одинаковых маршрутов в разных сетях VPN, MP-BGP будет воспринимать их как уникальные. Для этого к каждому IPv4-адресу из виртуальной сети добавляется префикс длиной 64 бит (RD), преобразуя его в формат VPN-IPv4. BGP считает два IPv4-адреса с разными RD уникальными (несравнимыми), даже если у них совпадают и адрес, и маска.
RD состоит из номера автономной системы и присвоеного номера (ASN:nn) или IP-адреса и присвоеного номера (IP:nn), записанных через двоеточие ”:“.
Для просмотра таблицы маршрутизации данного VRF используется команда show ip route vrf <VRF_NAME> или команда show ip route vrf all для всех VRF.
Все полученные от клиентов маршруты анонсируются по всей сети по протоколу MP-BGP. Все маршруты, узнанные по MP-BGP, добавляются в соответствующую таблицу VRF. Цель маршрута (RT) помогает PE-маршрутизаторам идентифицировать, к какой таблице VRF относится маршрут.
Команда route-target создаёт списки импорта и экспорта расширенных атрибутов сообщества (в том числе, RT) для VRF. RT идентифицирует целевую сеть VPN. Данную команду необходимо вводить отдельно для каждого сообщества. Все маршруты с указанными расширенными атрибутами сообщества импортируются во все VRF, относящиеся к тем же сообществам в качестве целевого маршрута импорта.
В команде route-target также задаётся политика экспорта маршрутных объявлений:
- export — добавить RT к экспортируемой маршрутной информации VRF;
- import — импортировать маршрутную информацию с указанным RT;
- both — указать сразу и импорт, и экспорт.
Указанные политики задаются в зависимости от планируемой топологии сети. Например, задание одного и того же значения для политики экспорта и импорта для всех таблиц VRF определённой сети VPN приводит к полносвязной топологии — каждый сайт может посылать пакеты непосредственно тому сайту, в котором находится сеть назначения.
Для предоставления услуги VPN, PE-маршрутизаторы должны быть сконфигурированы таким образом, чтобы любая маршрутная информация, приходящая с интерфейса клиентской сети VPN могла быть соотнесена с соответствующей таблицей VRF. Это достигается за счёт распространения по сети маршрутной информации протоколами маршрутизации, такими как BGP, OSPF, IS-IS, RIP.
В отличие от BGP и RIP, OSPF не поддерживает разные контексты маршрутизации в одном процессе. Для запуска OSPF между PE и CE-маршрутизаторами настраивается отдельный OSPF-процесс для каждой VRF, который получает маршруты сети VPN по OSPF. PE-маршрутизатор различает принадлежность маршрутизаторов к определённой VRF, связывая конкретный клиентский интерфейс с таблицей VRF и с определённым процессом OSPF.
Чтобы распространить OSPF-маршруты таблицы VRF в BGP, необходимо включить редистрибуцию OSPF в контексте конфигурирования маршрутизации BGP для семейства адресов, связанного с VRF.
Заменим протокол между CE и PE с OSPF на eBGP.
На ECO1 выполните следующую конфигурацию:
enable
configure
# Удалить настройки OSPF и лишние интерфейсы loopback
no router ospf 1
no router ospf 2
no interface loopback.1
no interface loopback.2
router bgp 2000
address-family ipv4 vrf GOLD
# Отменить команду о перенаспределении OSPF маршрутов
no redistribute ospf
# Установить eBGP соседство с CE
neighbor 192.168.0.2 remote-as 100
neighbor 192.168.0.2 activate
exit-address-family
address-family ipv4 vrf SILVER
no redistribute ospf
neighbor 100.0.0.2 remote-as 300
neighbor 100.0.0.2 activate
exit-address-familyСконфигурируйте ECO3 аналогично ECO1.
На R1 выполните следующую конфигурацию:
configure terminal
# Удалить настройки маршрутизации PSPF
no router ospf 1
router bgp 100
# Включить адрес loopback0 в маршрутизацию
network 11.11.11.11 mask 255.255.255.255
# Установить eBGP соседство с PE
neighbor 192.168.0.1 remote-as 2000Сконфигурируйте R2, R3 и R4 аналогично R1. Присвойте автономным системам номера 100, 200, 300 и 400 в соответствии с номером маршрутизатора на схеме.
Выполните проверку и отладку аналогично предыдущей конфигурации (с OSPF).
BGP-сессия между PE и CE-маршрутизаторами может включать разные типы маршрутов (VPN-IPv4, IPv4 маршруты). Соответственно, от используемого семейства адресов зависит тип BGP-сессии. Таким образом, необходимо настроить семейство адресов BGP для каждой таблицы VRF на PE-маршрутизаторах и отдельно адресное семейство для VPN-IPv4-маршрутов между PE-маршрутизаторами. Все не-VPN BGP-соседи определяются при помощи режима IPv4-адресов. Каждое VPN BGP-соседство определяется связанным с ним режимом семейства адресов. Для того чтобы задать семейство адресов, используется команда режима конфигурации маршрутизации BGP address-family ipv4 vrf <VRF_NAME>.
Отдельная запись о семействе адресов должна быть в каждой таблице VRF, в каждой записи о семействе адресов может значиться несколько CE-маршрутизаторов с VRF.
PE и CE-маршрутизаторы должны быть напрямую подключены для BGP4-сессий; BGP multihop между ними не поддерживается.
