Практика

Предыдущая конфигурация снова очищается до начальной. Файл начальной конфигурации.

  1. Создаём VFI, как это делали в режиме Martini:

    Linkmeup_R1(config)#l2vpn vfi context Blue 
    Linkmeup_R1(config-vfi)#vpn id 63 
    Linkmeup_R1(config-vfi)#autodiscovery bgp signaling bgp 
    Linkmeup_R1(config-vfi-autodiscovery)#ve id 101
Этот способ позволяет настроить три типа VFI: ручной Martini с настройкой соседей. _BGP Autodiscovery + **BGP** Signalling_, либо _BGP Autodiscovery + **LDP** Signalling_.  
В нашем случае мы выбрали оба — BGP.  

Опционально мы можем задать количество членов VPLS-домена. В cisco по умолчанию — 10. Командой **ve range _Х_** можно увеличить от 11 до 100 (но не уменьшить). Huawei — по умолчанию 10, можно изменять (1-16000). Juniper — по умолчанию 8, можно изменять (2,4,8, 16...)  
Route Distinguisher и Route Target мы можем не настраивать — они будут назначены автоматически. Разве что вам хочется странного — объединить в один домен разные VFI.  

Далее я даю команду **mpls label range 1000 1999**. Она глобально задаёт диапазон динамически используемых меток. Вообще говоря этого делать не нужно, поскольку так всем приложениям MPLS (LDP, TE, BGP) мы указываем, какие метки выбирать, а я не люблю кому-то что-то указывать. Но я делаю это для более наглядной иллюстрации вычисления меток.

Linkmeup_R1(config)#mpls label range 1000 1999 Label range change will cause 5 labels in the old dynamic range [16-1048575] to go out of range

Предупреждение говорит как раз о том, что распределённые прежде транспортные метки не укладываются в новый диапазон.
  1. Привязываем интерфейсы к Service Instance:

    Linkmeup_R1(config)#interface gigabitEthernet 3
    Linkmeup_R1(config-if)#service instance 10 ethernet 
    Linkmeup_R1(config-if-srv)#description Blue-A
    Linkmeup_R1(config-if-srv)#encapsulation default
    
    Linkmeup_R1(config)#interface gigabitEthernet 4
    Linkmeup_R1(config-if)#service instance 12 ethernet 
    Linkmeup_R1(config-if-srv)#description Blue-C
    Linkmeup_R1(config-if-srv)#encapsulation default
  2. Связываем VFI и Service Instance.

    Linkmeup_R3(config)#bridge-domain 255
    Linkmeup_R1(config-bdomain)#member vfi Blue
    Linkmeup_R1(config-bdomain)#member gigabitEthernet 3 service-instance 10
    Linkmeup_R1(config-bdomain)#member gigabitEthernet 4 service-instance 12
  1. Ну что же, дело осталось за малым — BGP.

    Сначала поднимаем базовое соседство с Linkmeup_R3 и Linkmeup_R4.

    Linkmeup_R1(config)#router bgp 64500 
    Linkmeup_R1(config-router)#neighbor 3.3.3.3 remote-as 64500
    Linkmeup_R1(config-router)#neighbor 3.3.3.3 update-source Loopback 0
    Linkmeup_R1(config-router)#neighbor 4.4.4.4 remote-as 64500
    Linkmeup_R1(config-router)#neighbor 4.4.4.4 update-source Loopback 0
Потом создаём Address-Family L2VPN VPLS и указываем соседей, которые будут участвовать в L2VPN. Заметьте, не в конкретном VFI Blue, а вообще.

Linkmeup_R1(config-router)#address-family l2vpn vpls Linkmeup_R1(config-router-af)#neighbor 3.3.3.3 activate Linkmeup_R1(config-router-af)#neighbor 3.3.3.3 send-community extended Linkmeup_R1(config-router-af)#neighbor 3.3.3.3 suppress-signaling-protocol ldp

Linkmeup_R1(config-router-af)#neighbor 4.4.4.4 activate Linkmeup_R1(config-router-af)#neighbor 4.4.4.4 send-community extended Linkmeup_R1(config-router-af)#neighbor 4.4.4.4 suppress-signaling-protocol ldp

Здесь вы должны помнить, что обычно мы используем Route Reflector'ы — не нужно настраивать всех соседей вручную, иначе смысл Auto-Discovery теряется.  
То есть если всего PE-устройств в сети MPLS — 100, в данном VPLS-домене — 20, а L2VPN RR — 2, то на каждом PE нужно поднять соседство только с этими двумя RR.  
Ну вы же не маленькие, чтобы я вам это рассказывал?  

**send-community extended** — как и в L3VPN включаем передачу Extended Community (RT).  
**suppress-signaling-protocol ldp** — и запрещаем сигнализацию LDP.  

Вот что BGP знает о VPLS, ещё даже не имея соседей:  
![](https://habrastorage.org/files/7a4/041/bfb/7a4041bfbd4d4e7aa6db6411b79efc4d.PNG)  

Верхняя строка — это RD, выбранный автоматически: AS:VPN ID.  
Нижняя — это префикс, который будет передаваться соседям.  

Аналогичные манипуляции производим на Linkmeup\_R3 и Linkmeup\_R4.  

**Конфигурация всех PE**

* * *


**Linkmeup\_R1**

Linkmeup_R1(config)#l2vpn vfi context Blue Linkmeup_R1(config-vfi)#vpn id 63 Linkmeup_R1(config-vfi)#autodiscovery bgp signaling bgp Linkmeup_R1(config-vfi-autodiscovery)#ve id 101 Linkmeup_R1(config)#mpls label range 1000 1999

Linkmeup_R1(config)#bridge-domain 255 Linkmeup_R1(config-bdomain)#member vfi Blue Linkmeup_R1(config-bdomain)#member gigabitEthernet 3 service-instance 10 Linkmeup_R1(config-bdomain)#member gigabitEthernet 4 service-instance 12

Linkmeup_R1(config)#interface gigabitEthernet 3 Linkmeup_R1(config-if)# service instance 10 ethernet Linkmeup_R1(config-if-srv)#description Blue-A Linkmeup_R1(config-if-srv)#encapsulation default

Linkmeup_R1(config)#interface gigabitEthernet 4 Linkmeup_R1(config-if)# service instance 12 ethernet Linkmeup_R1(config-if-srv)#description Blue-C Linkmeup_R1(config-if-srv)#encapsulation default

Linkmeup_R1(config)#router bgp 64500 Linkmeup_R1(config-router)#neighbor 3.3.3.3 remote-as 64500 Linkmeup_R1(config-router)#neighbor 3.3.3.3 update-source Loopback 0 Linkmeup_R1(config-router)#neighbor 4.4.4.4 remote-as 64500 Linkmeup_R1(config-router)#neighbor 4.4.4.4 update-source Loopback 0

Linkmeup_R1(config-router)#address-family l2vpn vpls Linkmeup_R1(config-router-af)#neighbor 3.3.3.3 activate Linkmeup_R1(config-router-af)#neighbor 3.3.3.3 send-community extended Linkmeup_R1(config-router-af)#neighbor 3.3.3.3 suppress-signaling-protocol ldp Linkmeup_R1(config-router-af)#neighbor 4.4.4.4 activate Linkmeup_R1(config-router-af)#neighbor 4.4.4.4 send-community extended Linkmeup_R1(config-router-af)#neighbor 4.4.4.4 suppress-signaling-protocol

* * *


**Linkmeup\_R3**

Linkmeup_R3(config)#l2vpn vfi context Blue Linkmeup_R3(config-vfi)#vpn id 63 Linkmeup_R3(config-vfi)#autodiscovery bgp signaling bgp Linkmeup_R3(config-vfi-autodiscovery)#ve id 103

Linkmeup_R3(config)#mpls label range 3000 3999

Linkmeup_R3(config)#bridge-domain 255 Linkmeup_R3(config-bdomain)#member vfi Blue Linkmeup_R3(config-bdomain)#member gigabitEthernet 3 service-instance 13

Linkmeup_R3(config)#interface gigabitEthernet 3 Linkmeup_R3(config-if)#service instance 13 ethernet Linkmeup_R3(config-if-srv)#description Blue-D Linkmeup_R3(config-if-srv)#encapsulation default

Linkmeup_R3(config)#router bgp 64500 Linkmeup_R3(config-router)#neighbor 1.1.1.1 remote-as 64500 Linkmeup_R3(config-router)#neighbor 1.1.1.1 update-source Loopback 0 Linkmeup_R3(config-router)#neighbor 4.4.4.4 remote-as 64500 Linkmeup_R3(config-router)#neighbor 4.4.4.4 update-source Loopback 0

Linkmeup_R3(config-router)#address-family l2vpn vpls Linkmeup_R3(config-router-af)#neighbor 1.1.1.1 activate Linkmeup_R3(config-router-af)#neighbor 1.1.1.1 send-community extended Linkmeup_R3(config-router-af)#neighbor ppress-signaling-protocol ldp Linkmeup_R3(config-router-af)#neighbor 4.4.4.4 activate Linkmeup_R3(config-router-af)#neighbor 4.4.4.4 send-community extended Linkmeup_R3(config-router-af)#neighbor 4.4.4.4 suppress-signaling-protocol ldp

* * *


**Linkmeup\_R4**

Linkmeup_R4(config)#l2vpn vfi context Blue Linkmeup_R4(config-vfi)#vpn id 63 Linkmeup_R4(config-vfi)#autodiscovery bgp signaling bgp Linkmeup_R4(config-vfi-autodiscovery)#ve id 104

Linkmeup_R4(config)#mpls label range 4000 4999

Linkmeup_R4(config)#bridge-domain 255 Linkmeup_R4(config-bdomain)#member vfi Blue Linkmeup_R4(config-bdomain)#member gigabitEthernet 3 service-instance 131

Linkmeup_R4(config)#interface gigabitEthernet 3 Linkmeup_R4(config-if)#service instance 11 ethernet Linkmeup_R4(config-if-srv)#description Blue-B Linkmeup_R4(config-if-srv)#encapsulation default

Linkmeup_R4(config)#router bgp 64500 Linkmeup_R4(config-router)#neighbor 1.1.1.1 remote-as 64500 Linkmeup_R4(config-router)#neighbor 1.1.1.1 update-source Loopback 0 Linkmeup_R4(config-router)#neighbor 3.3.3.3 remote-as 64500 Linkmeup_R4(config-router)#neighbor 3.3.3.3 update-source Loopback 0

Linkmeup_R4(config-router)#address-family l2vpn vpls Linkmeup_R4(config-router-af)#neighbor 1.1.1.1 activate Linkmeup_R4(config-router-af)#neighbor 1.1.1.1 send-community extended Linkmeup_R4(config-router-af)#neighbor 1.1.1 suppress-signaling-protocol ldp Linkmeup_R4(config-router-af)#neighbor 3.3.3.3 activate Linkmeup_R4(config-router-af)#neighbor 3.3.3.3 send-community extended Linkmeup_R4(config-router-af)#neighbor 3.3.3 suppress-signaling-protocol ldp

* * *


Для разных устройств я указал разные mpls label range, чтобы более наглядной была разница между локальными и удалённым метками.

На этом конфигурация MPLS Kompella Mode закончена. Файл конфигурации VPLS Kompella Mode. Альтернативного метода, как в случае с Martini здесь нет.

Last updated