Конфигурирование 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 состоит из следующих этапов:

  1. Настройка портов и интерфейсов: Настройка физических интерфейсов и loopback-адресов на всех маршрутизаторах сети.
  2. Развёртывание IGP (OSPF/IS-IS): Обеспечение полной связности всех интерфейсов, включая интерфейсы loopback, внутри MPLS-сети.
  3. Активация MPLS транспорта: Включение коммутации по меткам (label switching) и протокола LDP на всех интерфейсах MPLS-сети, исключая интерфейсы loopback.
  4. Настройка MP-BGP между PE-маршрутизаторами: Создание полносвязной iBGP-сети между всеми граничными маршрутизаторами (непосредственно или через Route Reflector) с активацией адресного семейства VPNv4.
  5. Создание и настройка VRF: Определение виртуальных таблиц маршрутизации для каждого клиента с назначением Route Distinguisher (RD) и Route Target (RT).
  6. Привязка клиентских интерфейсов: Привязка интерфейсов к VRF. Привязка IGP протокола (если имеется) между PE и CE к соответствующему VRF и каждого VRF к BGP в виде адресных семейств ipv4.
  7. Настройка маршрутизации между PE и CE. Конфигурация протоколов маршрутизации (статики, OSPF, eBGP) в контексте VRF и их интеграция с MP-BGP через адресные семейства IPv4.
  8. Проверка работоспособности: Проверка установления соседств, обмена маршрутами и сквозной связности между клиентскими объектами.

В приведённом ниже примере топологии к опорной 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 ipv4

R1:

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 между ними не поддерживается.