...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | В контексте настройки параметров MPLS указать интерфейсы, участвующие в процессе MPLS-коммутации. | esr(config-mpls)# forwarding interface { <IF> | <TUN> } | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
| 2 | Задать router-id для LDP (не обязательно, если указан transport-address). | esr(config-ldp)# router-id { <ID> | <IF> | <TUN> } | <ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <IF> – интерфейс, задаётся в виде, описанном в разделе <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
| 3 | В контексте настройки address family ipv4 указать transport-address (не обязательно, если указан router-id). | esr(config-ldp-af-ipv4)# transport-address <ADDR> | <ADDR> – задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
4 | В контексте настройки address family ipv4 указать интерфейсы для включения на них процесса LDP. | esr(config-ldp-af-ipv4)# interface { <IF> | <TUN> } | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
| 5 | Включить процесс LDP. | esr(config-ldp)# enable | |
| 6 | Включить функционал explicit-null (не обязательно). | esr(config-ldp)# egress-label-type explicit-null | |
| 7 | В режиме конфигурирования соседа LDP задать пароль командой password (не обязательно). | esr(config-ldp-neig)# password {<TEXT> | ENCRYPTED-TEXT>} | <CLEAR-TEXT> – пароль, задаётся строкой длиной [8..16] символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером [8..16] байт ([16..32] символа) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
В рамках настройки протокола LDP также доступен следующий функционал:
| |||
...
| Примечание |
|---|
Если изменить значение router-id, то новое значение будет применено только после рестарта данного протокола. Для рестарта mpls ldp используется команда clear mpls ldp. |
| Scroll Pagebreak |
|---|
Пример настройки
Задача:
Настроить взаимодействие по протоколу LDP между пирами.
...
Hold timer является согласуемым параметром – параметром – выбирается наименьший. В данном примере показано, что на ESR после согласования Hold timer равен 10 секундам.
...
| Блок кода |
|---|
ESR# sh mpls ldp neighbor 1.1.1.1 Peer LDP ID: 1.1.1.1; Local LDP ID 4.4.4.4 State: Operational TCP connection: 1.1.1.1:646 - 4.4.4.4:56668 Messages sent/received: 401/401 Uptime: 02:00:24 Peer holdtime: 55 Keepalive interval: 18 LDP discovery sources: |
| Scroll Pagebreak |
|---|
Алгоритм настройки параметров параметров Hello holdtime и Hello interval в глобальной конфигурации LDP
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | В режиме конфигурации протокола LDP задать Hello holdtime. | esr(config-ldp)# discovery hello holdtime <TIME> | <TIME> – время в секундах в интервале [3..65535]. |
3 | В режиме конфигурации протокола LDP задать Hello interval. | esr(config-ldp)# discovery hello interval <TIME> | <TIME> – время в секундах в интервале [3..65535]. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | В режиме конфигурации address familly протокола LDP установить Hello holdtime на нужном интерфейсе. | esr(config-ldp-af-ipv4-if)# discovery hello holdtime <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 15. |
3 | В режиме конфигурации address familly протокола LDP установить Hello interval на нужном интерфейсе. | esr(config-ldp-af-ipv4-if)# discovery hello interval <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 5. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | В режиме конфигурации LDP задать параметр Keepalive. | esr(config-ldp)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
| Scroll Pagebreak |
|---|
Алгоритм настройки параметра Keepalive holdtime для определенного соседа
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | В режиме конфигурации соседа задать параметр Keepalive holdtime. | esr(config-ldp-neig)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | В режиме конфигурации протокола LDP задать Hello holdtime. | esr(config-ldp)# discovery targeted-hello holdtime <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 45. |
3 | В режиме конфигурации протокола LDP задать Hello interval. | esr(config-ldp)# discovery targeted- hello interval <TIME> | <TIME> – время в секундах в интервале [1..65535]. Значение по умолчанию: 5. |
| 4 | В режиме конфигурации протокола LDP задать Keepalive holdtime. | esr(config-ldp)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
| Scroll Pagebreak |
|---|
Алгоритм настройки параметров Hello holdtime, Hello interval и Keepalive holdtime для определенного соседа
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | В режиме конфигурации LDP-соседа задать Hello holdtime. | esr(config-ldp-neig)# discovery targeted-hello holdtime <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 45. |
3 | В режиме конфигурации LDP-соседа задать Hello interval. | esr(config-ldp-neig)# discovery targeted- hello interval <TIME> | <TIME> – время в секундах в интервале [1..65535]. Значение по умолчанию: 5. |
| 4 | В режиме конфигурации LDP-соседа задать Keepalive holdtime. | esr(config-ldp-neig)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | Создать object-group типа network. | esr(config)# object-group network <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
| 3 | Описать префиксы, для которых будут назначаться метки. | esr(config-object-group-network)# ip prefix <ADDR/LEN> [ unit <ID> ] | <ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. <ID> – номер юнита, принимает значения [1..2]. |
4 | В контексте настройки LDP применить созданную object-group. | esr(config-ldp)# advertise-labels <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | Создать prefix-list. | esr(config)# ip prefix-list <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
| 3 | Описать подсеть, для адресов которой будут выделяться метки. | esr(config-object-group-network)# ip prefix <ADDR/LEN> [ { eq <LEN> | le <LEN> | ge <LEN> [ le <LEN> ] } | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <LEN> – длина префикса, принимает значения [1..32]; eq – при указании команды длина префикса должна соответствовать указанной; le – при указании команды длина префикса должна быть меньше либо соответствовать указанной; ge – при указании команды длина префикса должна быть больше либо соответствовать указанной. |
4 | В контексте настройки LDP применить prefix-list для соответствующей address-family. | esr(config-ldp-af-ipv4)# prefix-list <NAME> | <NAME> – имя конфигурируемого списка, задаётся строкой до 31 символа. |
...
Для организации сервисов L2VPN и L3VPN выделена подсеть 10.10.0.0/24. Необходимо средствами протокола LDP назначить транспортные MPLS-метки для всех адресов (подсетей/32), входящих в выделенный диапазон.
| Scroll Pagebreak |
|---|
Решение:
На ESR_A и ESR_B создадим prefix-list и опишем необходимый для сервисов диапазон адресов:
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class. | esr(config-l2vpn)# pw-class <WORD> | <WORD> – имя pw-class длиной [1..31] символов. |
| 3 | Добавить описание для pw-class (не обязательно). | esr(config-l2vpn-pw-class)# description <LINE> | <LINE> – описание. Задается в виде строки длиной [1..255] символов. |
4 | Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | <MTU> – значение MTU, принимает значение в диапазоне [552..10000] Значение по умолчанию: 1500. |
| 5 | Отключить обмен status-tlv сообщениями (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | Значение по умолчанию: status-tlv enable. |
| 6 | Создать p2p-туннель в системе и осуществить переход в режим настройки параметров p2p-туннеля. | esr(config-l2vpn)# p2p <NAME> | <NAME> – имя p2p-сервиса, задается строкой до 31 символа. |
| 7 | Задать Attached Circuit интерфейс. | esr(config-l2vpn-p2p)# interface | <IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора. |
| 8 | Включить p2p-туннель. | esr(config-l2vpn-p2p)# enable | |
| 9 | Задать транспортный режим (не обязательно). | esr(config-l2vpn-p2p)# transport-mode | <ethernet> – режим, при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег; <vlan> – режим, при котором 802.1Q тег может быть сохранен при передаче через pseudo-wire. Значение по умолчанию: ethernet. |
| 10 | Создать pseudo-wire и осуществить переход в режим настройки его параметров. | esr(config-l2vpn-p2p)# pw <PW_ID> <LSR_ID> | <PW_ID> – идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295] <LSR_ID> – идентификатор LSR, до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255] |
| 11 | Добавить описание для pseudo-wire (не обязательно). | esr(config-l2vpn-pw)# description <LINE> | <LINE> – описание. Задается в виде строки длиной [1..255] символов. |
| 12 | Задать pw-class для pseudo-wire. | esr(config-l2vpn-pw)# pw-class <WORD> | <WORD> – имя pw-class длиной [1..31] символов. |
| 13 | Задать адрес LSR до которого устанавливается pseudo-wire (не обязательно, если neighbor address совпадает с LSR_ID). | esr(config-l2vpn-pw)# neighbor-address <ADDR> | <ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| 14 | Включить pseudo-wire. | esr(config-l2vpn-pw)# enable | |
| В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Управление технологией MPLS#Конфигурирование Конфигурирование параметров сессии в протоколе targeted-LDP. | |||
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge). | ||
| 3 | Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class. | esr(config-l2vpn)# pw-class <WORD> | <WORD> – имя pw-class длиной [1..31] символов. |
| 4 | Добавить описание для pw-class (не обязательно). | esr(config-l2vpn-pw-class)# description <LINE> | <LINE> – описание. Задается в виде строки длиной [1..255] символов. |
5 | Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | <MTU> – значение MTU, принимает значение в диапазоне [552..10000]. Значение по умолчанию: 1500. |
| 6 | Отключить обмен status-tlv сообщениями (не обязательно). | esr(config-l2vpn-pw-class)# encapsulation | Значение по умолчанию: status-tlv enable. |
| 7 | Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена. | esr(config-l2vpn)# vpls <NAME> | <NAME> – имя p2p-сервиса, задается строкой до 31 символа. |
| 8 | Включить VPLS-туннель. | esr(config-l2vpn-vpls)# enable | |
| 9 | Добавить бридж-домен. | esr (config-l2vpn-vpls)# bridge-group <ID> | <ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250]. |
| 10 | Задать транспортный режим (не обязательно). | esr(config-l2vpn-vpls)# transport-mode | <ethernet> – режим, при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег; |
| 11 | Создать pseudo-wire и осуществить переход в режим настройки его параметров. | esr(config-l2vpn-vpls)# pw <PW_ID> <LSR_ID> | <PW_ID> – идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295 ] <LSR_ID> – идентификатор LSR до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| 12 | Добавить описание для pseudo-wire (не обязательно). | esr(config-l2vpn-pw)# description <LINE> | <LINE> – описание. Задается в виде строки длиной [1..255] символов. |
| 13 | Задать pw-class для pseudo-wire. | esr(config-l2vpn-pw)# pw-class <WORD> | <WORD> – имя pw-class длиной [1..31] символов. |
| 14 | Задать адрес LSR до которого устанавливается pseudo-wire (не обязательно, если neighbor address совпадает с LSR_ID). | esr(config-l2vpn-pw)# neighbor-address <ADDR> | <ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
| 15 | Включить pseudo-wire. | esr(config-l2vpn-pw)# enable | |
| 16 | В случае если топология создаваемого VPLS-домена требует установить более одного pseudo-wire, повторить шаги с 10 по 14. | ||
| 17 | В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Управление технологией MPLS#Конфигурирование Конфигурирование параметров сессии в протоколе targeted-LDP. | ||
| Scroll Pagebreak |
|---|
Пример настройки L2VPN VPLS
...
| Блок кода |
|---|
PE1(config-l2vpn)# vpls vpls1 PE1(config-l2vpn-vpls)# bridge-group 10 PE1(config-l2vpn-vpls)# pw 100 2.2.2.2 PE1(config-l2vpn-pw)# pw-class for_vpls1 PE1(config-l2vpn-pw)# enable PE1(config-l2vpn-pw)# exit PE1(config-l2vpn-vpls)# pw 100 3.3.3.3 PE1(config-l2vpn-pw)# pw-class for_vpls1 PE1(config-l2vpn-pw)# enable PE1(config-l2vpn-pw)# exit PE1(config-l2vpn-vpls)# enable PE1(config-l2vpn-vpls)# end |
| Scroll Pagebreak |
|---|
Применим созданную конфигурацию:
| Блок кода |
|---|
PE1# commit PE1# confirm |
| Scroll Pagebreak |
|---|
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP). | ||
| 2 | Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge). | ||
| 3 | Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена. | esr(config-l2vpn)# vpls <NAME> | <NAME> – имя p2p-сервиса, задается строкой до 31 символа. |
| 4 | Включить VPLS-туннель. | esr(config-l2vpn-vpls)# enable | |
5 | Добавить бридж-домен. | esr(config-l2vpn-vpls)# bridge-group <ID> | <ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250]. |
| 6 | Перейти в контекст настройки autodiscovery bgp. | esr(config-l2vpn-vpls)# autodiscovery bgp | |
| 7 | Указать route distinguisher для данного экземпляра VPLS. | esr(config-bgp)# rd <RD> | <RD> – значение Route distinguisher, задается в одном из следующих видов:
|
| 8 | Указать route target import для данного экземпляра VPLS. | esr(config-bgp)# route-target import <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
| 9 | Указать route target export для данного экземпляра VPLS. | esr(config-bgp)# route-target export <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
| 10 | Указать ve id. | esr(config-bgp)# ve id <ID> | <ID> – идентификатор экземпляра VPLS, задается в виде числа в диапазоне [1..16384]. |
| 11 | Указать vpn id. | esr (config-bgp)# vpn id <ID> | <ID> – идентификатор VPN, задается в виде числа в диапазоне [1..4294967295]. |
| 12 | Указать ve range (не обязательно). | esr (config-bgp)# ve range <RANGE> | <RANGE> – диапазон идентификаторов пограничных устройств VPLS [8..100]. |
| 13 | Указать mtu (не обязательно). | esr (config-bgp)# mtu <VALUE> | <VALUE> – значение MTU [552..10000]. |
| 14 | Включить игнорирование типа инкапсуляции (не обязательно). | esr(config-bgp)# ignore encapsulation-mismatch | |
| 15 | Включить игнорирование значений MTU (не обязательно). | esr(config-bgp)# ignore mtu-mismatch | |
| 16 | В контексте настройки address-family l2vpn vpls протокола BGP включить передачу расширенных атрибутов. | esr(config-bgp-neighbor-af)# send-community extended | |
...
Настроить L2VPN-сервис: все CE-устройства должны работать в рамках одного широковещательного домена.
| Якорь | ||||
|---|---|---|---|---|
|
| Scroll Pagebreak |
|---|
Решение:
Предварительно необходимо:
...
| Блок кода | ||
|---|---|---|
| ||
ip firewall disable ip address 10.20.0.1/30 ip ospf instance 1 ip ospfexit interface gigabitethernet 1/0/2 mtu 9500 ip firewall disable ip address 10.30.0.1/30 ip ospf instance 1 ip ospf exitinterface gigabitethernet 1/0/3 mtu 9500 ip firewall disable ip address 10.22.0.1/30 ip ospf instance 1 ip ospf exit interface loopback 1 ip address 10.10.0.1/32 ip ospf instance 1 ip ospf exit mpls ldp router-id 10.10.0.1 address-family ipv4 interface gigabitethernet 1/0/1 exit interface gigabitethernet 1/0/2 exit interface gigabitethernet 1/0/3 exit exit enable exit forwarding interface gigabitethernet 1/0/1 forwarding interface gigabitethernet 1/0/2 forwarding interface gigabitethernet 1/0/3 exit |
| Scroll Pagebreak |
|---|
Настройка протокола BGP:
| Блок кода |
|---|
PE1(config)# router bgp 65500 PE1(config-bgp)# neighbor 10.10.0.4 PE2(config-bgp)# router-id 10.10.0.1 PE1(config-bgp-neighbor)# remote-as 65500 PE1(config-bgp-neighbor)# update-source 10.10.0.1 PE1(config-bgp-neighbor)# address-family l2vpn vpls PE1(config-bgp-neighbor-af)# send-community extended PE1(config-bgp-neighbor-af)# enable PE1(config-bgp-neighbor-af)# exit PE1(config-bgp-neighbor)# enable PE1(config-bgp-neighbor)# exit PE1(config-bgp)# enable PE1(config-bgp)# exit |
...
| Блок кода |
|---|
PE1(config)# bridge 1 PE1(config-bridge)# enable PE1(config-bridge)# exit PE1(config)# interface gigabitethernet 1/0/4 PE1(config-if-gi)# mode switchport PE1(config-if-gi)# bridge-group 1 |
| Scroll Pagebreak |
|---|
Проверим, что интерфейс включен в бридж-домен:
...
| Шаг | Описание | Команда | Ключи |
|---|---|---|---|
| 1 | Настроить адресацию и один из протоколов IGP на всех P и PE-маршрутизаторах. | ||
| 2 | Настроить распространение транспортных меток по протоколу LDP. | ||
3 | Создать VRF. | esr(config)# ip vrf <VRF> | <VRF> – имя экземпляра VRF, задается строкой до 31 символа. |
| 4 | Указать route distinguisher для данного VRF. | esr(config-vrf)# rd <RD> | <RD> – значение Route distinguisher, задается в одном из следующих видов:
|
| 5 | Указать route target import для данного VRF. | esr(config-vrf)# route-target import <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
| 6 | Указать route target export для данного VRF. | esr(config-vrf)# route-target export <RT> | <RT> – значение route-target, задается в одном из следующих видов:
|
| 7 | Указать разрешенное количество маршрутов для данного VRF. | esr(config-vrf)# ip protocols <PROTOCOLS> max-routes <VALUE> | <PROTOCOL> – вид протокола, принимает значения: rip (только в глобальном режиме), ospf, isis, bgp; <VALUE> – количество маршрутов в маршрутной таблице, принимает значения в диапазоне:
|
| 8 | В рамках настройки address-family VPNv4 протокола BGP включить передачу расширенных атрибутов. | esr(config-bgp-neighbor-af)# send-community extended |
...
В LDP-signaling MTU задается в рамках настройки pw pw – class:
| Блок кода | ||
|---|---|---|
| ||
PE2(config)# mpls
PE2(config-mpls)# l2vpn
PE2(config-l2vpn)# pw-class MTU_example
PE2(config-l2vpn-pw-class)# encapsulation mpls mtu 9000
PE2(config-l2vpn-pw-class)# exit
PE2(config-mpls)# l2vpn
PE2(config-l2vpn)# vpls MTU_Example_PW
PE2(config-l2vpn-vpls)# pw 200 10.10.0.1
PE2(config-l2vpn-pw)# pw-class
PE2(config-l2vpn-pw)# pw-class MTU_example
*Просмотр созданных pw-class'ов*
PE2# sh mpls l2vpn pw-class
PW-class Neighbor PW ID Status Status-tlv MTU
-------------------------------- ---------- ---------- ------ ---------- ------
MTU_example 10.10.0.1 200 Up Enable 9000
PE2# sh mpls l2vpn vpls MTU_Example_PW
VPLS: MTU_Example_PW
...
PWs:
PW ID 2, Neighbor 10.10.0.1:
MTU: 9000
Last change: 01:27:42
Status: Up
* Для сигнализации PW 2 данного VPLS выбрано MTU 9000* |
...
| Блок кода |
|---|
PE1# sh bgp vpnv4 unicast all Status codes: * - valid, > - best, i - internal, S - stale Origin codes: i - IGP, e - EGP, ? - incomplete Codes Route Distinguisher IP Prefix Next hop Metric Label LocPrf Weight Path ----- --------------------- ------------------ --------------- ---------- ------- ---------- ------ ---------------- *> 65500:1 10.110.0.1/32 -- -- 37 100 -- 65501 i *> 65500:1 10.111.0.1/32 -- -- 35 100 -- 65501 i *>i 65500:1 10.113.0.1/32 10.10.1.2 -- 43 100 0 ? *>i 65500:1 10.114.0.1/32 10.10.1.2 -- 48 100 0 ? CE1# ping 10.113.0.1 source ip 10.110.0.1 detailed PING 10.113.0.1 (10.113.0.1) from 10.110.0.1 : 56 bytes of data. 64 bytes from 10.113.0.1: icmp_seq=1 ttl=0 time=1.31 ms 64 bytes from 10.113.0.1: icmp_seq=2 ttl=0 time=1.14 ms 64 bytes from 10.113.0.1: icmp_seq=3 ttl=0 time=1.08 ms 64 bytes from 10.113.0.1: icmp_seq=4 ttl=0 time=1.06 ms 64 bytes from 10.113.0.1: icmp_seq=5 ttl=0 time=1.16 ms |
| Scroll Pagebreak |
|---|
Inter-AS Option B
В отличие от Option A, между ASBR нет необходимости использовать VRF: при передаче трафика между ASBR будет навешиваться mpls-метка. Данная схема имеет лучшую масштабируемость.
...
| Блок кода | ||
|---|---|---|
| ||
ESR(config)# hostname CE1 ESR(config)# ESR(config)# route-map BGP ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# exit ESR(config-route-map)# exit ESR(config)# router bgp 6550165510 ESR(config-bgp)# neighbor 192.168.1.2 ESR(config-bgp-neighbor)# remote-as 65500 ESR(config-bgp-neighbor)# address-family ipv4 unicast ESR(config-bgp-neighbor-af)# route-map BGP out ESR(config-bgp-neighbor-af)# enable ESR(config-bgp-neighbor-af)# exit ESR(config-bgp-neighbor)# enable ESR(config-bgp-neighbor)# exit ESR(config-bgp)# address-family ipv4 unicast ESR(config-bgp-af)# network 10.110100.0.1/32 ESR(config-bgp-af)# exit ESR(config-bgp)# enable ESR(config-bgp)# exit ESR(config)# interface gigabitethernet 1/0/1.100 ESR(config-if-sub)# ip firewall disable ESR(config-if-sub)# ip address 192.168.1.1/30 ESR(config-if-sub)# exit ESR(config)# interface loopback 1 ESR(config-loopback)# ip address 10.110100.0.1/32 ESR(config-loopback)# exit ESR(config)# do com ESR(config)# do conf |
...
| Блок кода | ||
|---|---|---|
| ||
ESR(config)# hostname CE2 ESR(config)# ESR(config)# route-map BGP ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# exit ESR(config-route-map)# exit ESR(config)# router bgp 6550165511 ESR(config-bgp)# neighbor 192.168.2.2 ESR(config-bgp-neighbor)# remote-as 65500 ESR(config-bgp-neighbor)# address-family ipv4 unicast ESR(config-bgp-neighbor-af)# route-map BGP out ESR(config-bgp-neighbor-af)# enable ESR(config-bgp-neighbor-af)# exit ESR(config-bgp-neighbor)# enable ESR(config-bgp-neighbor)# exit ESR(config-bgp)# address-family ipv4 unicast ESR(config-bgp-af)# network 10.112101.0.1/32 ESR(config-bgp-af)# exit ESR(config-bgp)# enable ESR(config-bgp)# exit ESR(config)# interface gigabitethernet 1/0/1.100 ESR(config-if-sub)# ip firewall disable ESR(config-if-sub)# ip address 192.168.2.1/30 ESR(config-if-sub)# exit ESR(config)# ESR(config)# interface loopback 1 ESR(config-loopback)# ip address 10.112101.0.1/32 ESR(config-loopback)# exit ESR(config)# do com ESR(config)# do conf |
...
| Блок кода | ||
|---|---|---|
| ||
ESR(config)# hostname CE3 ESR(config)# ESR(config)# route-map BGP ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# exit ESR(config-route-map)# exit ESR(config)# router bgp 6550165512 ESR(config-bgp)# neighbor 192.168.3.2 ESR(config-bgp-neighbor)# remote-as 65500 ESR(config-bgp-neighbor)# address-family ipv4 unicast ESR(config-bgp-neighbor-af)# route-map BGP out ESR(config-bgp-neighbor-af)# enable ESR(config-bgp-neighbor-af)# exit ESR(config-bgp-neighbor)# enable ESR(config-bgp-neighbor)# exit ESR(config-bgp)# address-family ipv4 unicast ESR(config-bgp-af)# network 10.113103.0.1/32 ESR(config-bgp-af)# exit ESR(config-bgp)# enable ESR(config-bgp)# exit ESR(config)# interface gigabitethernet 1/0/1.100 ESR(config-if-sub)# ip firewall disable ESR(config-if-sub)# ip address 192.168.3.1/30 ESR(config-if-sub)# exit ESR(config)# ESR(config)# interface loopback 1 ESR(config-loopback)# ip address 10.113103.0.1/32 ESR(config-loopback)# exit ESR(config)# do com ESR(config)# do conf |
...
| Блок кода | ||
|---|---|---|
| ||
ESR(config)# hostname CE4 ESR(config)# ESR(config)# route-map BGP ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# exit ESR(config-route-map)# exit ESR(config)# router bgp 6550165513 ESR(config-bgp)# neighbor 192.168.4.2 ESR(config-bgp-neighbor)# remote-as 65500 ESR(config-bgp-neighbor)# address-family ipv4 unicast ESR(config-bgp-neighbor-af)# route-map BGP out ESR(config-bgp-neighbor-af)# enable ESR(config-bgp-neighbor-af)# exit ESR(config-bgp-neighbor)# enable ESR(config-bgp-neighbor)# exit ESR(config-bgp)# address-family ipv4 unicast ESR(config-bgp-af)# network 10.114104.0.1/32 ESR(config-bgp-af)# exit ESR(config-bgp)# enable ESR(config-bgp)# exit ESR(config)# interface gigabitethernet 1/0/1.100 ESR(config-if-sub)# ip firewall disable ESR(config-if-sub)# ip address 192.168.4.1/30 ESR(config-if-sub)# exit ESR(config)# ESR(config)# interface loopback 1 ESR(config-loopback)# ip address 10.114104.0.1/32 ESR(config-loopback)# exit ESR(config)# do com ESR(config)# do conf |
...
| Блок кода | ||
|---|---|---|
| ||
PE2(config)# hostname PE2 PE2(config)# PE2(config)# ip vrf CE1CE3 PE2(config-vrf)# ip protocols bgp max-routes 100 PE2(config-vrf)# rd 65501:1 PE2(config-vrf)# route-target export 65501:1 PE2(config-vrf)# route-target import 65501:1 PE2(config-vrf)# exit PE2(config)# ip vrf CE2CE4 PE2(config-vrf)# ip protocols bgp max-routes 100 PE2(config-vrf)# rd 65501:2 PE2(config-vrf)# route-target export 65501:2 PE2(config-vrf)# route-target import 65501:2 PE2(config-vrf)# exit PE2(config)# PE2(config)# system jumbo-frames PE2(config)# PE2(config)# route-map BGP_OUT PE2(config-route-map)# rule 1 PE2(config-route-map-rule)# exit PE2(config-route-map)# exit PE2(config)# router bgp 65500 PE2(config-bgp)# neighbor 10.11.1.2 PE2(config-bgp-neighbor)# remote-as 65500 PE2(config-bgp-neighbor)# update-source 10.11.1.1 PE2(config-bgp-neighbor)# address-family vpnv4 unicast PE2(config-bgp-neighbor-af)# send-community extended PE2(config-bgp-neighbor-af)# enable PE2(config-bgp-neighbor-af)# exit PE2(config-bgp-neighbor)# enable PE2(config-bgp-neighbor)# exit PE2(config-bgp)# enable PE2(config-bgp)# vrf CE1CE3 PE2(config-bgp-vrf)# neighbor 192.168.3.1 PE2(config-bgp-vrf-neighbor)# remote-as 65512 PE2(config-bgp-vrf-neighbor)# address-family ipv4 unicast PE2(config-bgp-neighbor-af-vrf)# route-map BGP_OUT out PE2(config-bgp-neighbor-af-vrf)# enable PE2(config-bgp-neighbor-af-vrf)# exit PE2(config-bgp-vrf-neighbor)# enable PE2(config-bgp-vrf-neighbor)# exit PE2(config-bgp-vrf)# address-family ipv4 unicast PE2(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP_OUT PE2(config-bgp-vrf-af)# exit PE2(config-bgp-vrf)# enable PE2(config-bgp-vrf)# exit PE2(config-bgp)# vrf CE2CE4 PE2(config-bgp-vrf)# neighbor 192.168.4.1 PE2(config-bgp-vrf-neighbor)# remote-as 65513 PE2(config-bgp-vrf-neighbor)# address-family ipv4 unicast PE2(config-bgp-neighbor-af-vrf)# route-map BGP_OUT out PE2(config-bgp-neighbor-af-vrf)# enable PE2(config-bgp-neighbor-af-vrf)# exit PE2(config-bgp-vrf-neighbor)# enable PE2(config-bgp-vrf-neighbor)# exit PE2(config-bgp-vrf)# address-family ipv4 unicast PE2(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP_OUT PE2(config-bgp-vrf-af)# exit PE2(config-bgp-vrf)# enable PE2(config-bgp-vrf)# exit PE2(config-bgp)# exit PE2(config)# PE2(config)# router ospf 1 PE2(config-ospf)# router-id 10.11.1.1 PE2(config-ospf)# area 0.0.0.0 PE2(config-ospf-area)# enable PE2(config-ospf-area)# exit PE2(config-ospf)# enable PE2(config-ospf)# exit PE2(config)# PE2(config)# interface gigabitethernet 1/0/1.100 PE2(config-if-sub)# ip vrf forwarding CE1CE3 PE2(config-if-sub)# description "to CE3" PE2(config-if-sub)# ip firewall disable PE2(config-if-sub)# ip address 192.168.3.2/30 PE2(config-if-sub)# exit PE2(config)# interface gigabitethernet 1/0/1.200 PE2(config-if-sub)# ip vrf forwarding CE2CE4 PE2(config-if-sub)# description "CE4" PE2(config-if-sub)# ip firewall disable PE2(config-if-sub)# ip address 192.168.4.2/30 PE2(config-if-sub)# exit PE2(config)# interface gigabitethernet 1/0/2 PE2(config-if-gi)# description "to ASBR2" PE2(config-if-gi)# mtu 1522 PE2(config-if-gi)# ip firewall disable PE2(config-if-gi)# ip address 10.102.0.1/30 PE2(config-if-gi)# ip ospf instance 1 PE2(config-if-gi)# ip ospf PE2(config-if-gi)# exit PE2(config)# interface loopback 1 PE2(config-loopback)# ip address 10.11.1.1/32 PE2(config-loopback)# ip ospf instance 1 PE2(config-loopback)# ip ospf PE2(config-loopback)# exit PE2(config)# mpls PE2(config-mpls)# ldp PE2(config-ldp)# router-id 10.11.1.1 PE2(config-ldp)# address-family ipv4 PE2(config-ldp-af-ipv4)# interface gigabitethernet 1/0/2 PE2(config-ldp-af-ipv4-if)# exit PE2(config-ldp-af-ipv4)# exit PE2(config-ldp)# enable PE2(config-ldp)# exit PE2(config-mpls)# forwarding interface gigabitethernet 1/0/2 PE2(config-mpls)# exit PE2(config)# do com PE2(config)# do conf |
...
| Блок кода | ||
|---|---|---|
| ||
ESR(config)# hostname ASBR1 ESR(config)# ESR(config)# route-map RM1 ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# exit ESR(config-route-map)#exit ESR(config)# router bgp 65000 ESR(config-bgp)# neighbor 2.2.2.2 ESR(config-bgp-neighbor)# remote-as 65000 ESR(config-bgp-neighbor)# update-source loopback 1 ESR(config-bgp-neighbor)# address-family ipv4 unicast ESR(config-bgp-neighbor-af)# next-hop-self ESR(config-bgp-neighbor-af)# send-label ESR(config-bgp-neighbor-af)# enable ESR(config-bgp-neighbor-af)# exit ESR(config-bgp-neighbor)# enable ESR(config-bgp-neighbor)# exit ESR(config-bgp)# neighbor 192.168.100.1 ESR(config-bgp-neighbor)# remote-as 65001 ESR(config-bgp-neighbor)# address-family ipv4 unicast ESR(config-bgp-neighbor-af)# route-map RM1 out ESR(config-bgp-neighbor-af)# send-label ESR(config-bgp-neighbor-af)# enable ESR(config-bgp-neighbor-af)# exit ESR(config-bgp-neighbor)# enable ESR(config-bgp-neighbor)# exit ESR(config-bgp)# address-family ipv4 unicast ESR(config-bgp-af)# network 1.1.1.1/32 ESR(config-bgp-af)# network 2.2.2.2/32 ESR(config-bgp-af)# network 3.3.3.3/32 ESR(config-bgp-af)# exit ESR(config-bgp)# enable ESR(config-bgp)# exit |
| Scroll Pagebreak |
|---|
MPLS over GRE
В этом разделе приведен пример настройки VPN сервисов, построенных через GRE-туннель.
...
