...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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 также доступен следующий функционал:
|
...
Настроить взаимодействие по протоколу LDP между пирами.
Решение:
Предварительная конфигурация
...
маршрутизаторов:
На интерфейсы должны быть назначены IP-адреса, отключен межсетевой экран и настроен один из протоков внутренней маршрутизации.
Предварительная конфигурация ESR:
Блок кода |
---|
hostname ESR router ospf 1 area 0.0.0.0 enable exit enable exit interface gigabitethernet 1/0/1 ip firewall disable ip address 10.10.10.1/30 ip ospf instance 1 ip ospf exit interface loopback 1 ip address 1.1.1.1/32 ip ospf instance 1 ip ospf exit |
Scroll Pagebreak |
---|
Блок кода |
---|
hostname ESR1 router ospf 1 area 0.0.0.0 enable exit enable exit interface gigabitethernet 1/0/1 ip firewall disable ip address 10.10.10.2/30 ip ospf instance 1 ip ospf exit interface loopback 1 ip address 4.4.4.4/32 ip ospf instance 1 ip ospf exit |
Настройка на ESR:
Блок кода | ||
---|---|---|
| ||
ESR# config ESR(config)# mpls ESR(config-mpls)# forwarding interface gigabitethernet 1/0/1 ESR(config-mpls)# ldp ESR(config-ldp)# router-id 1.1.1.1 ESR(config-ldp)# enable ESR(config-ldp)# address-family ipv4 ESR(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1 ESR(config-ldp-af-ipv4-if)# end ESR# |
Настройка на ESR1:
Блок кода | ||
---|---|---|
| ||
ESR1# configure ESR1(config)# mpls ESR1(config-mpls)# forwarding interface gigabitethernet 1/0/1 ESR1(config-mpls)# ldp ESR1(config-ldp)# router-id 4.4.4.4 ESR1(config-ldp)# enable ESR1(config-ldp)# address-family ipv4 ESR1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1 ESR1(config-ldp-af-ipv4-if)# end ESR1# |
...
Сессия LDP должна находиться в статусе "Operational"«Operational».
Блок кода |
---|
ESR1# show mpls ldp neighbor Peer LDP ID: 4.4.4.4; Local LDP ID 1.1.1.1 State: Operational TCP connection: 4.4.4.4:40245 - 1.1.1.1:646 Messages sent/received: 10/11 Uptime: 00:00:58 LDP discovery sources: gigabitethernet 1/0/1 |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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]. |
Алгоритм настройки параметров Hello holdtime и Hello interval для address family
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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. |
Алгоритм настройки параметра Keepalive holdtime в глобальной конфигурации LDP
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола LDP). | ||
2 | В режиме конфигурации LDP задать параметр Keepalive. | esr(config-ldp)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
Scroll Pagebreak |
---|
Алгоритм настройки параметра Keepalive holdtime для определенного соседа
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола LDP). | ||
2 | В режиме конфигурации соседа задать параметр Keepalive holdtime. | esr(config-ldp-neig)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
Пример настройки
Задача:
Переопределить параметры Hello holdtime (40 секунд) и Hello interval (10 секунд) для всего процесса LDP. Для соседа с адресом 1.1.1.1 установить Keepalive holdtime равным 150 секунд.
...
Алгоритм настройки параметров Hello holdtime, Hello interval и Keepalive holdtime для процесса LDP
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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 (см. раздел Конфигурирование протокола 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. |
Пример настройки
Задача:
Переопределить параметры Hello holdtime (120 секунд) и Hello interval (30 секунд) для всего процесса targeted-LDP. Для соседа с адресом 4.4.4.4 установить Keepalive holdtime равным 150 секунд.
...
По умолчанию маршрутизаторы выделяют на каждый FEC отдельную метку. Существуют сценарии, когда необходимо выделять MPLS-метки только для определенных FEC. Рассмотрим Ниже рассмотрены существующие возможности для реализации этого функционалафильтрации LDP-меток.
Метод Метод на основе Advertise-labels
Данный метод позволяет аллоцировать аллоцировать метки протоколом LDP только на префиксы, описанные в соответствующей object-group. Отличительной особенностью данного метода является то, что префиксы должны иметь точное совпадение с маршрутом из FIB.
...
Информация |
---|
Данный функционал поддержан для протокола IPv4. |
Пример настройки
Задача:
Назначить MPLS-метки только FEC 10.10.0.2/32 и 10.10.0.1/32.
...
Блок кода |
---|
esr# sh mpls ldp bindings 192.168.2.0/24 esr# |
Метод Метод на основе Prefix-list
Данный метод позволяет управлять выделением меток для протокола LDP LDP на основе подсетей, описанный в соответствующем Prefix-list'e. В отличие от метода на основе Advertise-labels, гибкость функционала Prefix-list позволяет задать диапазон (префикс), для подсетей которого будет аллоцирована метка. Данный вариант настройки является более гибким и масштабируемым.
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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), входящих в выделенный диапазон.
...
На ESR_A и ESR_B создадим prefix-list и опишим опишем необходимый для сервисов диапазон адресов:
...
- P2P – туннель, создаваемый по схеме "точка«точка-точка"точка».
VPLS – туннель, создаваемый по схеме "точка«точка-многоточка"многоточка».
В обоих случаях для передачи ethernet-фреймов между маршрутизаторами создается виртуальный канал (далее pseudo-wire). Для согласования параметров pseudo-wire, а также для выделения и передачи туннельных меток между маршрутизаторами устанавливается LDP-сессия в targeted-режиме.
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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-сессии, обратитесь к разделу Конфигурирование параметров сессии в протоколе targeted-LDP. |
...
Якорь | ||||
---|---|---|---|---|
|
Решение:
Предварительно нужно:
Включить поддержку Jumbo-фреймов с помощью команды "команды system jumbo-frames" (для вступления изменений в силу требуется перезагрузка устройства);
- Настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке выше;
- Организовать обмен маршрутами между PE1 и PE2 при помощи IGP-протокола (OSPF, IS-IS, RIP).
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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-сессии, обратитесь к разделу Конфигурирование параметров сессии в протоколе targeted-LDP. |
...
Настроить l2vpn таким образом, чтобы маршрутизаторы CE1, CE2, CE3 имели L2-связность через интерфейсы gi1/0/2.100 и gi1/0/4 (CE2).
Решение:
Предварительно необходимо:
Включить поддержку Jumbo-фреймов с помощью команды "system jumbo-frames" (для вступления изменений в силу требуется перезагрузка устройства);
- Настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке выше;
- Организовать обмен маршрутами между PE1, PE2 и PE3 при помощи IGP протокола (OSPF, IS-IS).
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола 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 |
---|
...
Включить поддержку Jumbo-фреймов с помощью команды "system jumbo-frames" (для вступления изменений в силу требуется перезагрузка устройства);
- Настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке выше;
- Организовать обмен маршрутами между PE1, PE2, PE3 и RR при помощи IGP-протокола (OSPF, IS-IS).
...
Блок кода |
---|
PE2(config-bgp)# route-target export 65500:100 PE2(config-bgp)# route-target import 65500:100 PE2(config-bgp)# vpn id 2 PE2(config-bgp)# ve id 2 PE2(config-bgp)# exit PE2(config-l2vpn-vpls)# enable |
Scroll Pagebreak |
---|
ПроверяемПроверим, что PE2 анонсирует маршрутную информацию на RR:
...
Блок кода |
---|
PE2# show mpls l2vpn vpls l2vpn VPLS: l2vpn bridge 1: MTU: 1500 Status: Up ACs: gigabitethernet 1/0/4: MTU: 1500 Status: Up PWs: PW ID 2, Neighbor 10.10.0.1: MTU: 1500 Last change: 00:21:33 Status: Up |
Переходим Перейдем к настройке PE3:
Блок кода |
---|
PE3# config PE3(config)# mpls PE3(config-mpls)# l2vpn PE3(config-l2vpn)# vpls l2vpn PE3(config-l2vpn-vpls)# bridge-group 1 PE3(config-l2vpn-vpls)# autodiscovery bgp PE3(config-bgp)# rd 65500:100 PE3(config-bgp)# route-target export 65500:100 PE3(config-bgp)# route-target import 65500:100 PE3(config-bgp)# ve id 3 PE3(config-bgp)# vpn id 3 PE3(config-bgp)# exit PE3(config-l2vpn-vpls)# enable |
Проверяем Проверим маршрутную информацию на PE3:
...
Проверим, что псевдо-провод построен до обеих PE и находится в статусе "'UP"':
Блок кода |
---|
PE3# show mpls l2vpn vpls l2vpn VPLS: l2vpn bridge 1: MTU: 1500 Status: Up ACs: gigabitethernet 1/0/4: MTU: 1500 Status: Up PWs: PW ID 3, Neighbor 10.10.0.2: MTU: 1500 Last change: 00:06:08 Status: Up PW ID 3, Neighbor 10.10.0.1: MTU: 1500 Last change: 00:06:08 Status: Up |
...
Примечание |
---|
В текущей реализации протокола MP-BGP поддержана передача только VPN-IPv4 маршрутов (AFI = 1, SAFI = 128). |
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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 |
...
По умолчанию lbd использует только MPLS-метки для вычисления хеша и дальнейшего распределения нагрузки на различные CPU. Данное поведение не всегда дает преимущество, особенно когда существуют "большие" «большие» однородные потоки MPLS-трафика. Для добавления энтропии в хеш можно включить дополнительный функционалдополнительную функцию:
Подсказка |
---|
cpu load-balance mpls passenger ip Включает возможность "заглядывать" «заглядывать» дальше MPLS-заголовка для поиска IP-заголовка и добавления ip-src и ip-dst в расчет хеша: Для L3VPN: идет поиск пары ip-src и ip-dst в ip-заголовке, находящимся за MPLS-заголовком.
Для L2VPN: ESR попытается "заглянуть" «заглянуть» в ethernet-фрейм (который находится за mpls-заголовком) и получить ip-src и ip-dst в ip-заголовке для добавления в расчет хеша.
|
...
Подсказка |
---|
cpu load-balance mpls passenger ip-over-ethernet-pseudowire-with-cw cpu load-balance mpls passenger ip-over-ethernet-pseudowire-without-cw Позволяет явно указать, используется ли при построении L2VPN функционал функция Control Word. Это позволяет исключить возникновение ошибки, когда пакет с наличием Сontrol word может быть ошибочно распознан как пакет без него. |
...
Примечание |
---|
Во избежание падения LDP-сессии при большой нагрузке на СPU маршрутизатора на моделях ESR-200, ESR-1000, ESR-1200, ESR-1500, ESR-1700 после включения функционала функции все пакеты протокола LDP будут обрабатываться управляющими CPU (Management CPU), которые не участвуют в обработке трафика. Для ESR-200, ESR-1000, ESR-1200, ESR-1500 – это СPU 0, ESR-1700 – CPU 0-1. |
...
Информация |
---|
Для point-to-point бридж-домен создается автоматически. |
Между элементами бридж-домена осуществляется коммутация трафика на основании перечисленных правил:
- Для каждого бридж-домена автоматически создается таблица MAC-адресов по аналогии с Ethernet-коммутаторами. Ethernet-кадры коммутируются на основании анализа MAC-адреса получателя (DST MAC).
- Кадры с известным DST MAC будут отправляться в соответствующие AC/PW.
- Кадры с неизвестным DST MAC, broadcast- и multicast-кадры (т. н. BUM-трафик, " Broadcast, Unknown unicast и Multicast") будут отправляться во все элементы бридж-домена, за исключением того элемента (AC либо PW), с которого вошли в бридж-домен.
- При коммутации учитываются DST MAC в кадрах, но не учитываются VLAN-теги, имеющиеся на кадрах – таким образом, коммутация внутри бридж-домена не является "VLAN«VLAN-aware".
Примечание |
---|
В текущей реализации бридж-домен не пропускает трафик протоколов канального уровня, таких так: STP, LLDP, CDP и т. д. |
- aware».
Бридж-домен может работать в двух транспортных режимах: ethernet или vlan. Транспортных Транспортный режим задает правила обработки трафика на входе и выходе с бридж-домена.
...
- Если AC является саб-интерфейсом, то vlan-тег перед помещение в бридж снимается. При выходе из бриджа vlan-тег восстанавливается.
- Если AC является интерфейсом, то тегированный и нетегированный трафики проходят в обоих направлениях без модификаций.
Предположим, PE1 и PE2 cконфигурированы в ethernet mode. Со стороны PE1 в бридж-домен включен cаб-интерфейс gigabitethernet 1/0/4.100, поэтому vlan-тег (vlan id 100) с входящего трафика будет удален перед помещением в Pseudowire 10 (соответственно, восстановлен при трафике в сторону АС). С другой стороны, AC на PE2 является интерфейсом, значит трафик будет проходить без модификаций в обоих направлениях.
...
- Если AC является саб-интерфейсом, то vlan-тег перед помещением в бридж сохраняется. При выходе из бриджа vlan-тег может быть сохранен или перезаписан в зависимости от конфигурации.
- Если АС является интерфейсом, то модификация тегов не происходит в обоих направлениях.
Назначение MTU при работе с MPLS
Очень важно Важно правильно настроить MTU на интерфейсах, участвующих в передаче трафика. Отметим Существует два ключевых момента:
- Размер Ethernet-заголовка (18 байт), inner tag (4 байта), outer tag (4 байта) не учитываются на AC-интерфейсах;
- На интерфейсах, принимающих участие в пересылке MPLS-трафика, необходимо увеличить MTU на количество меток (каждая метка равна 4 байтам).
Значение MTU также участвует в сигнализации при построении псевдо-провода как в LDP-signaling, так и в BGP-signaling. Рассмотрим Ниже рассмотрены примеры настройки для обоих случаев:
...
Блок кода | ||
---|---|---|
| ||
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* |
На рисунке выше РЕ1 поднимает два псевдо-провода: pseudowire 10 до PE2, и pseudowire 20 до PE3 соответственно. Для сигнализации с PE2 MTU будет равным 2000 (pw-class TO_PE2), для PE3 – MTU будет равным 3000 (pw-class TO_PE3).
...
Если при согласовании значение MTU не совпадает, то статус псевдо-провода будет – "'DOWN"', " 'Reason: MTU mismatch"':
Блок кода |
---|
PE1(config-l2vpn)# vpls l2vpn_MTU PE1(config-l2vpn-vpls)# autodiscovery bgp PE1(config-bgp)# mtu 2000 PE2# sh mpls l2vpn vpls l2vpn_MTU ... PWs: PW ID 2, Neighbor 10.10.0.1: MTU: 2000 Last change: 00:00:10 Status: Down Reason: MTU mismatch |
...
Рассмотрим пример прохождения трафика в L2VPN-сервисе:
PE1 имеет следующие значения MTU на интерфейсах:
...
Cхожее поведение и при прохождении трафика в L3VPN-сервисе:
...
Рассмотрим примеры настройки на базе построения сервисов l3vpn и l2vpn. Главная особенность inter-AS Option A – отсутствие mpls-меток в трафике при передаче между ABSR. Для разделения трафика клиентских сервисов между ASBR обычно используют VRF для l3vpn или тегирование (dot1q, q-in-q) для сервисов l2vpn.
L2VPN
Scroll Pagebreak |
---|
...
Блок кода | ||
---|---|---|
| ||
CE1# ping 192.168.1.2 detailed PING 192.168.1.2 (192.168.1.2) 56 bytes of data. 64 bytes from 192.168.1.2: icmp_seq=1 ttl=0 time=1.08 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=0 time=1.06 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=0 time=1.01 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=0 time=0.971 ms 64 bytes from 192.168.1.2: icmp_seq=5 ttl=0 time=0.972 ms CE2# ping 192.168.2.2 detailed packets PING 192.168.2.2 (192.168.2.2) 56 bytes of data. 64 bytes from 192.168.2.2: icmp_seq=1 ttl=0 time=1.17 ms 64 bytes from 192.168.2.2: icmp_seq=2 ttl=0 time=0.972 ms 64 bytes from 192.168.2.2: icmp_seq=3 ttl=0 time=0.960 ms 64 bytes from 192.168.2.2: icmp_seq=4 ttl=0 time=1.04 ms 64 bytes from 192.168.2.2: icmp_seq=5 ttl=0 time=0.976 ms ASBR2# sh mac address-table bridge 10 VID MAC Address Interface Type ----- ------------------ ------------------------------ ------- -- e4:5a:d4:01:b9:73 vlan 100 Dynamic -- e4:5a:d4:a1:34:61 dypseudowire 1_10.11.1.1 Dynamic 2 valid mac entries ASBR2# sh mac address-table bridge 20 VID MAC Address Interface Type ----- ------------------ ------------------------------ ------- -- e4:5a:d4:01:c1:80 vlan 200 Dynamic -- e4:5a:d4:a1:34:61 dypseudowire 2_10.11.1.1 Dynamic 2 valid mac entries |
L3VPN
Scroll Pagebreak |
---|
...
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname ASBR2 ESR(config)# ESR(config)# ip vrf CE1 ESR(config-vrf)# ip protocols ospf max-routes 100 ESR(config-vrf)# rd 65500:1 ESR(config-vrf)# route-target export 65500:1 ESR(config-vrf)# route-target import 65500:1 ESR(config-vrf)# exit ESR(config)# ip vrf CE2 ESR(config-vrf)# ip protocols ospf max-routes 100 ESR(config-vrf)# rd 65500:2 ESR(config-vrf)# route-target export 65500:2 ESR(config-vrf)# route-target import 65500:2 ESR(config-vrf)# exit ESR(config)# ESR(config)# system jumbo-frames ESR(config)# ESR(config)# vlan 100,200 ESR(config-vlan)# exit ESR(config)# ESR(config)# router bgp 65500 ESR(config-bgp)# router-id 10.11.1.2 ESR(config-bgp)# neighbor 10.11.1.1 ESR(config-bgp-neighbor)# remote-as 65500 ESR(config-bgp-neighbor)# update-source 10.11.1.2 ESR(config-bgp-neighbor)# address-family vpnv4 unicast ESR(config-bgp-neighbor-af)# send-community extended 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)# enable ESR(config-bgp)# vrf CE1 ESR(config-bgp-vrf)# address-family ipv4 unicast ESR(config-bgp-vrf-af)# redistribute ospf 1 intra-area inter-area external1 external2 ESR(config-bgp-vrf-af)# exit ESR(config-bgp-vrf)# exit ESR(config-bgp)# vrf CE2 ESR(config-bgp-vrf)# address-family ipv4 unicast ESR(config-bgp-vrf-af)# redistribute ospf 1 intra-area inter-area external1 external2 ESR(config-bgp-vrf-af)# exit ESR(config-bgp-vrf)# exit ESR(config-bgp)# exit ESR(config)# ESR(config)# router ospf log-adjacency-changes ESR(config)# router ospf 1 ESR(config-ospf)# area 0.0.0.0 ESR(config-ospf-area)# enable ESR(config-ospf-area)# exit ESR(config-ospf)# enable ESR(config-ospf)# exit ESR(config)# router ospf 1 vrf CE1 ESR(config-ospf)# redistribute bgp 65500 ESR(config-ospf)# area 0.0.0.0 ESR(config-ospf-area)# enable ESR(config-ospf-area)# exit ESR(config-ospf)# enable ESR(config-ospf)# exit ESR(config)# router ospf 1 vrf CE2 ESR(config-ospf)# redistribute bgp 65500 ESR(config-ospf)# area 0.0.0.0 ESR(config-ospf-area)# enable ESR(config-ospf-area)# exit ESR(config-ospf)# enable ESR(config-ospf)# exit ESR(config)# ESR(config)# bridge 10 ESR(config-bridge)# ip vrf forwarding CE1 ESR(config-bridge)# vlan 100 ESR(config-bridge)# ip firewall disable ESR(config-bridge)# ip address 172.16.32.2/30 ESR(config-bridge)# ip ospf instance 1 ESR(config-bridge)# ip ospf ESR(config-bridge)# enable ESR(config-bridge)# exit ESR(config)# bridge 20 ESR(config-bridge)# ip vrf forwarding CE2 ESR(config-bridge)# vlan 200 ESR(config-bridge)# ip firewall disable ESR(config-bridge)# ip address 172.16.32.6/30 ESR(config-bridge)# ip ospf instance 1 ESR(config-bridge)# ip ospf ESR(config-bridge)# enable ESR(config-bridge)# exit ESR(config)# ESR(config)# interface gigabitethernet 1/0/1 ESR(config-if-gi)# description "to ASBR1" ESR(config-if-gi)# mode switchport ESR(config-if-gi)# mtu 1522 ESR(config-if-gi)# spanning-tree disable ESR(config-if-gi)# switchport forbidden default-vlan ESR(config-if-gi)# switchport mode trunk ESR(config-if-gi)# switchport trunk allowed vlan add 100,200 ESR(config-if-gi)# exit ESR(config)# interface gigabitethernet 1/0/2 ESR(config-if-gi)# description "to PE2" ESR(config-if-gi)# mtu 1522 ESR(config-if-gi)# ip firewall disable ESR(config-if-gi)# ip address 10.101.0.2/30 ESR(config-if-gi)# ip ospf instance 1 ESR(config-if-gi)# ip ospf ESR(config-if-gi)# exit ESR(config)# interface loopback 1 ESR(config-loopback)# ip address 10.11.1.2/32 ESR(config-loopback)# ip ospf instance 1 ESR(config-loopback)# ip ospf ESR(config-loopback)# exit ESR(config)# mpls ESR(config-mpls)# ldp ESR(config-ldp)# router-id 10.11.1.2 ESR(config-ldp)# address-family ipv4 ESR(config-ldp-af-ipv4)# interface gigabitethernet 1/0/2 ESR(config-ldp-af-ipv4-if)# exit ESR(config-ldp-af-ipv4)# exit ESR(config-ldp)# enable ESR(config-ldp)# exit ESR(config-mpls)# forwarding interface gigabitethernet 1/0/2 ESR(config-mpls)# exit ESR(config)# do com ESR(config)# do conf |
Настройка завершена. Проверим распространение маршрутной информации и сетевую доступность узлов:
...
Примечание |
---|
В текущей реализации Option B поддержана только для VPN-IPv4 маршрутов (AFI = 1, SAFI = 128). |
L3VPN
Scroll Pagebreak |
---|
...
Блок кода | ||
---|---|---|
| ||
PE2(config)# hostname PE2 PE2(config)# PE2(config)# ip vrf CE1 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 CE2 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 CE1 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 CE2 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-subif)# ip vrf forwarding CE1 PE2(config-subif)# description "to CE3" PE2(config-subif)# ip firewall disable PE2(config-subif)# ip address 192.168.3.2/30 PE2(config-subif)# exit PE2(config)# interface gigabitethernet 1/0/1.200 PE2(config-subif)# ip vrf forwarding CE2 PE2(config-subif)# description "CE4" PE2(config-subif)# ip firewall disable PE2(config-subif)# ip address 192.168.4.2/30 PE2(config-subif)# 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 |
Настроим ASBR1 и ASBR2:
Блок кода | ||
---|---|---|
| ||
ASBR1(config)# hostname ASBR1 ASBR1(config)# ASBR1(config)# system jumbo-frames ASBR1(config)# ASBR1(config)# route-map VPNv4 ASBR1(config-route-map)# rule 1 ASBR1(config-route-map-rule)# exit ASBR1(config-route-map)# exit ASBR1(config)# router bgp 65501 ASBR1(config-bgp)# router-id 10.10.1.2 ASBR1(config-bgp)# neighbor 10.10.1.1 ASBR1(config-bgp-neighbor)# remote-as 65501 ASBR1(config-bgp-neighbor)# update-source 10.10.1.2 ASBR1(config-bgp-neighbor)# address-family vpnv4 unicast ASBR1(config-bgp-neighbor-af)# next-hop-self ASBR1(config-bgp-neighbor-af)# send-community extended ASBR1(config-bgp-neighbor-af)# enable ASBR1(config-bgp-neighbor-af)# exit ASBR1(config-bgp-neighbor)# enable ASBR1(config-bgp-neighbor)# exit ASBR1(config-bgp)# neighbor 10.101.0.1 ASBR1(config-bgp-neighbor)# remote-as 65500 ASBR1(config-bgp-neighbor)# address-family vpnv4 unicast ASBR1(config-bgp-neighbor-af)# route-map VPNv4 out ASBR1(config-bgp-neighbor-af)# send-community extended ASBR1(config-bgp-neighbor-af)# enable ASBR1(config-bgp-neighbor-af)# exit ASBR1(config-bgp-neighbor)# enable ASBR1(config-bgp-neighbor)# exit ASBR1(config-bgp)# enable ASBR1(config-bgp)# exit ASBR1(config)# ASBR1(config)# router ospf 1 ASBR1(config-ospf)# area 0.0.0.0 ASBR1(config-ospf-area)# enable ASBR1(config-ospf-area)# exit ASBR1(config-ospf)# enable ASBR1(config-ospf)# exit ASBR1(config)# ASBR1(config)# interface gigabitethernet 1/0/1 ASBR1(config-if-gi)# description "to ASBR2" ASBR1(config-if-gi)# ip firewall disable ASBR1(config-if-gi)# ip address 10.101.0.2/30 ASBR1(config-if-gi)# exit ASBR1(config)# interface gigabitethernet 1/0/2 ASBR1(config-if-gi)# description "to PE1" ASBR1(config-if-gi)# mtu 1522 ASBR1(config-if-gi)# ip firewall disable ASBR1(config-if-gi)# ip address 10.100.0.2/30 ASBR1(config-if-gi)# ip ospf instance 1 ASBR1(config-if-gi)# ip ospf ASBR1(config-if-gi)# exit ASBR1(config)# interface loopback 1 ASBR1(config-loopback)# ip address 10.10.1.2/32 ASBR1(config-loopback)# ip ospf instance 1 ASBR1(config-loopback)# ip ospf ASBR1(config-loopback)# exit ASBR1(config)# mpls ASBR1(config-mpls)# ldp ASBR1(config-ldp)# router-id 10.10.1.2 ASBR1(config-ldp)# address-family ipv4 ASBR1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/2 ASBR1(config-ldp-af-ipv4-if)# exit ASBR1(config-ldp-af-ipv4)# exit ASBR1(config-ldp)# enable ASBR1(config-ldp)# exit ASBR1(config-mpls)# forwarding interface gigabitethernet 1/0/1 ASBR1(config-mpls)# forwarding interface gigabitethernet 1/0/2 ASBR1(config-mpls)# exit ASBR1(config)# do com ASBR1(config)# do conf |
...
Из недостатков можно отметить следующее:
- Безопасность
. Передача транспортных префиксов PE из локальной AS во вне несет в себе потенциальные риски. Межу AS должен быть установлен высокий уровень доверия.
- QoS
. VPN-контексты отсутствует на ASBR, соответственно нет возможности применить shaping/policing per VPN.
...
Примечание |
---|
При настройке MTU на туннеле необходимо учитывать следующее:
Ниже представлена примерная структура пакета: |
Настройки CE1 и CE2:
...
Блок кода | ||
---|---|---|
| ||
ESR2(config)# hostname ESR2 ESR2(config)# ESR2(config)# system cpu load-balance mpls passenger ip ESR2(config)# system cpu load-balance mpls passenger ipoe-pw-without-cw ESR2(config)# security zone trusted ESR2(config-zone)# exit ESR2(config)# security zone untrusted ESR2(config-zone)# exit ESR2(config)# ESR2(config)# router ospf 1 ESR2(config-ospf)# area 0.0.0.0 ESR2(config-ospf-area)# enable ESR2(config-ospf-area)# exit ESR2(config-ospf)# enable ESR2(config-ospf)# exit ESR2(config)# ESR2(config)# interface gigabitethernet 1/0/1 ESR2(config-if-gi)# security-zone untrusted ESR2(config-if-gi)# ip address 192.0.2.2/30 ESR2(config-if-gi)# exit ESR2(config)# interface gigabitethernet 1/0/2 ESR2(config-if-gi)# description "From CE2" ESR2(config-if-gi)# mode switchport ESR2(config-if-gi)# exit ESR2(config)# interface loopback 1 ESR2(config-loopback)# ip address 10.100.0.2/32 ESR2(config-loopback)# ip ospf instance 1 ESR2(config-loopback)# ip ospf ESR2(config-loopback)# exit ESR2(config)# tunnel gre 1 ESR2(config-gre)# key 60 ESR2(config-gre)# ttl 64 ESR2(config-gre)# mtu 1458 ESR2(config-gre)# ip firewall disable ESR2(config-gre)# local address 192.0.2.2 ESR2(config-gre)# remote address 192.0.2.1 ESR2(config-gre)# ip address 10.0.0.2/30 ESR2(config-gre)# ip ospf instance 1 ESR2(config-gre)# ip ospf network point-to-point ESR2(config-gre)# ip ospf ESR2(config-gre)# enable ESR2(config-gre)# exit ESR2(config)# ESR2(config)# mpls ESR2(config-mpls)# ldp ESR2(config-ldp)# router-id 10.100.0.2 ESR2(config-ldp)# address-family ipv4 ESR2(config-ldp-af-ipv4)# interface gre 1 ESR2(config-ldp-af-ipv4-if)# exit ESR2(config-ldp-af-ipv4)# exit ESR2(config-ldp)# enable ESR2(config-ldp)# exit ESR2(config-mpls)# l2vpn ESR2(config-l2vpn)# pw-class VPWS ESR2(config-l2vpn-pw-class)# exit ESR2(config-l2vpn)# p2p EoMPLS ESR2(config-l2vpn-p2p)# interface gigabitethernet 1/0/2 ESR2(config-l2vpn-p2p)# pw 100 10.100.0.1 ESR2(config-l2vpn-pw)# pw-class VPWS ESR2(config-l2vpn-pw)# enable ESR2(config-l2vpn-pw)# exit ESR2(config-l2vpn-p2p)# enable ESR2(config-l2vpn-p2p)# exit ESR2(config-l2vpn)# exit ESR2(config-mpls)# forwarding interface gre 1 ESR2(config-mpls)# exit ESR2(config)# security zone-pair untrusted self ESR2(config-zone-pair)# rule 1 ESR2(config-zone-pair-rule)# action deny ESR2(config-zone-pair-rule)# match protocol gre ESR2(config-zone-pair-rule)# enable ESR2(config-zone-pair-rule)# exit ESR2(config-zone-pair)# exit ESR2(config)# do com ESR2(config)# do conf |
Scroll Pagebreak |
---|
...
Примечание |
---|
При настройке MTU на туннеле необходимо учитывать следующее:
Ниже представлена примерная структура пакета: |
...