Оглавление | ||
---|---|---|
|
Scroll Pagebreak |
---|
Якорь | ||||
---|---|---|---|---|
|
LDP — протокол распределения меток. Для нахождения соседей используется рассылка hello-сообщений на мультикастный адрес 224.0.0.2. При обмене hello-сообщениями маршрутизаторы узнают транспортные адреса друг друга. Маршрутизатор с большим адресом инициализирует TCP-сессию. После проверки параметров LDP-сессия считается установленной.
...
Примечание |
---|
В текущей реализации протокол LDP работает только с IPv4-адресами. |
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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 между пирами.
Решение:
Предварительная конфигурация маршрутизаторов:
...
Блок кода | ||
---|---|---|
| ||
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# |
Проверка:
На одном из пиров ввести следующие команды:
...
Блок кода |
---|
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 |
Конфигурирование параметров сессии в протоколе LDP
По умолчанию в рассылаемых hello-сообщениях установлены следующие значения:
...
Блок кода |
---|
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 |
---|
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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 (см. раздел 513541062 Конфигурирование протокола 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 (см. раздел 513541062 Конфигурирование протокола LDP). | ||
2 | В режиме конфигурации LDP задать параметр Keepalive. | esr(config-ldp)# keepalive <TIME> | <TIME> – время в секундах в интервале [3..65535]. Значение по умолчанию: 180. |
Scroll Pagebreak |
---|
Алгоритм настройки параметра Keepalive holdtime для определенного соседа
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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 секунд.
Решение:
Блок кода | ||
---|---|---|
| ||
ESR(config)# mpls ESR(config-mpls)# ldp ESR(config-ldp)# discovery hello holdtime 40 ESR(config-ldp)# discovery hello interval 10 ESR(config-ldp)# neighbor 1.1.1.1 ESR(config-ldp-neig)# keepalive 150 |
Проверка:
Для просмотра hello-параметров:
...
Блок кода | ||
---|---|---|
| ||
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:45414 Messages sent/received: 15/15 Uptime: 00:06:31 Peer holdtime: 150 Keepalive interval: 50 LDP discovery sources: |
Якорь | ||||
---|---|---|---|---|
|
По умолчанию для targeted LDP-сессии установлены следующие значения:
...
Блок кода |
---|
ESR# show mpls ldp discovery detailed ... Targeted hellos: 1.1.1.1 -> 4.4.4.4: Hello interval: 15 seconds Transport IP address: 1.1.1.1 LDP ID: 4.4.4.4 Source IP address: 4.4.4.4 Transport IP address: 4.4.4.4 Hold time: 45 seconds Proposed hold time: 45/45 (local/peer) seconds ESR# show mpls ldp neighbor 4.4.4.4 Peer LDP ID: 4.4.4.4; Local LDP ID 1.1.1.1 State: Operational TCP connection: 4.4.4.4:51861 - 1.1.1.1:646 Messages sent/received: 10/10 Uptime: 00:00:09 Peer holdtime: 140 Keepalive interval: 46 LDP discovery sources: 1.1.1.1 -> 4.4.4.4: |
Алгоритм настройки параметров Hello holdtime, Hello interval и Keepalive holdtime для процесса LDP
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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 (см. раздел 513541062 Конфигурирование протокола 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 секунд.
Решение:
Блок кода | ||
---|---|---|
| ||
ESR(config)# mpls ESR(config-mpls)# ldp ESR(config-ldp)# discovery targeted-hello holdtime 40 ESR(config-ldp)# discovery targeted-hello interval 10 ESR(config-ldp)# neighbor 4.4.4.4 ESR(config-ldp-neig)# keepalive 150 |
Scroll Pagebreak |
---|
Проверка:
Для просмотра hello-параметров targeted LDP-сессии:
...
Блок кода | ||
---|---|---|
| ||
ESR# sh mpls ldp neighbor 4.4.4.4 Peer LDP ID: 4.4.4.4; Local LDP ID 1.1.1.1 State: Operational TCP connection: 4.4.4.4:34879 - 1.1.1.1:646 Messages sent/received: 11/11 Uptime: 00:01:05 Peer holdtime: 150 Keepalive interval: 50 LDP discovery sources: 1.1.1.1 -> 4.4.4.4: Hello interval: 10 seconds Holdtime: 40 seconds ... |
Настройка фильтрации LDP-меток
По умолчанию маршрутизаторы выделяют на каждый FEC отдельную метку. Существуют сценарии, когда необходимо выделять MPLS-метки только для определенных FEC. Ниже рассмотрены существующие возможности для реализации фильтрации LDP-меток.
Метод на основе Advertise-labels
Данный метод позволяет аллоцировать метки протоколом LDP только на префиксы, описанные в соответствующей object-group. Отличительной особенностью данного метода является то, что префиксы должны иметь точное совпадение с маршрутом из FIB.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола LDP). | ||
2 | Создать object-group типа network. | esr(config)# object-group network <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
3 | Описать префиксы, для которых будут назначаться метки. | esr(config-object-group-network)# ip prefix <ADDR/LEN> | <ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
4 | В контексте настройки LDP применить созданную object-group. | esr(config-ldp)# advertise-labels <NAME> | <NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа. |
...
Информация |
---|
Данный функционал поддержан для протокола IPv4. |
Пример настройки
Задача:
Назначить MPLS-метки только FEC 10.10.0.2/32 и 10.10.0.1/32.
Решение:
На ESR_A и ESR_B создадим object-group ADV_LABELS типа network и добавим в нее префиксы 10.10.0.1/32 и 10.10.0.2/32 соответственно:
...
Блок кода | ||
---|---|---|
| ||
esr(config)# mpls esr(config-ldp)# ldp esr(config-ldp)# advertise-labels ADV_LABELS |
Проверка:
На ESR_B убедимся, что метка назначена для соответствующих префиксов:
...
Блок кода |
---|
esr# sh mpls ldp bindings 192.168.2.0/24 esr# |
Метод на основе Prefix-list
Данный метод позволяет управлять выделением меток для протокола LDP на основе подсетей, описанный в соответствующем Prefix-list. В отличие от метода на основе Advertise-labels, гибкость функционала Prefix-list позволяет задать диапазон (префикс), для подсетей которого будет аллоцирована метка. Данный вариант настройки является более гибким и масштабируемым.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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 и опишем необходимый для сервисов диапазон адресов:
...
Блок кода | ||
---|---|---|
| ||
esr(config)# mpls esr(config-ldp)# ldp esr(config-ldp)# address-family ipv4 esr(config-ldp-af-ipv4)# prefix-list LDP_ALLOCATE esr(config-ldp-af-ipv4)# do commit esr(config-ldp-af-ipv4)# do confirm |
Проверка:
На примере ESR_B убедимся, что метка назначена для соответствующих префиксов:
...
Блок кода |
---|
esr# sh mpls ldp bindings 192.168.2.0/24 esr# |
Настройка сервиса L2VPN Martini mode
L2VPN позволяет организовать передачу ethernet-фреймов через MPLS-домен. Выделение и распространение туннельных меток в данном режиме осуществляется по средствам протокола LDP. В реализации L2VPN можно условно выделить два случая:
...
В обоих случаях для передачи ethernet-фреймов между маршрутизаторами создается виртуальный канал (далее pseudo-wire). Для согласования параметров pseudo-wire, а также для выделения и передачи туннельных меток между маршрутизаторами устанавливается LDP-сессия в targeted-режиме.
Алгоритм настройки L2VPN VPWS
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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-сессии, обратитесь к разделу 513541062Конфигурирование параметров сессии в протоколе targeted-LDP. |
Пример настройки L2VPN VPWS
Задача:
Настроить l2vpn таким образом, чтобы интерфейс ge1/0/2.100 маршрутизатора CE1 и интерфейс ge1/0/2.100 маршрутизатора CE2 работали в рамках одного широковещательного домена.
Якорь | ||||
---|---|---|---|---|
|
Решение:
Предварительно нужно:
Включить поддержку Jumbo-фреймов с помощью команды system jumbo-frames (для вступления изменений в силу требуется перезагрузка устройства);
- Настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке выше;
- Организовать обмен маршрутами между PE1 и PE2 при помощи IGP-протокола (OSPF, IS-IS, RIP).
...
Соседство по протоколу LDP установлено, pseudowire перешел в статус 'UP'. Настройка l2vpn типа p2p завершена.
Алгоритм настройки L2VPN VPLS
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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-сессии, обратитесь к разделу 513541062Конфигурирование параметров сессии в протоколе targeted-LDP. |
Scroll Pagebreak |
---|
Якорь | ||||
---|---|---|---|---|
|
Задача:
Настроить l2vpn таким образом, чтобы маршрутизаторы CE1, CE2, CE3 имели L2-связность через интерфейсы gi1/0/2.100 и gi1/0/4 (CE2).
Решение:
Предварительно необходимо:
...
Соседство по протоколу LDP установлено, pseudowire перешел в статус 'UP'. Настройка l2vpn завершена.
Настройка сервиса L2VPN Kompella mode
В отличии от Martini mode, где вся работа ложится на LDP, в данном режиме LDP отводится только работа с транспортными метками. Автообнаружение и построение псевдо-провода возложено на протокол BGP.
Алгоритм настройки L2VPN VPLS
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел 513541062 Конфигурирование протокола 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 VPLS
Задача:
Настроить 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 |
---|
Проверим, что интерфейс включен в бридж-домен:
...
Укажем RD, RT, VE-ID, VPN ID согласно схеме сети и активируем сервис:
Подсказка |
---|
В некоторых случаях можно отказаться от ввода таких параметров, как RD и RT: если указать только VPN ID, то они будут сформированы следующим образом: <номер AS> : <vpn-id>. Например, есть номер автономной системы AS 65550, vpn-id указан 10, тогда cгенерируются следующие параметры: RD - 65550: 10. RT import/export - 65550:10. |
...
Настройка L2VPN-сервиса завершена.
Настройка сервиса L3VPN
Сервис L3VPN позволяет объединить распределенные клиентские IP-сети и обеспечить передачу трафика между ними с рамках единой VRF.
Примечание |
---|
В текущей реализации протокола 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 |
Пример настройки
Задача:
Настроить L3VPN на базе технологии MPLS между ESR1 и ESR3. Конечным результатом настройки является появление связности между узлами, подключенными к VRF на различных маршрутизаторах сети (то есть объединение VRF на разных маршрутизаторах через MPLS-транспорт). При этом должна быть обеспечена передача сервисных MPLS-меток для сервиса L3VPN посредством MP-BGP и передача транспортных меток для достижения nexthop-адресов полученных BGP-маршрутов.
Решение:
Настройка адресации и включение IGP на P/PE-маршрутизаторах
Блок кода | ||
---|---|---|
| ||
ESR1(config)# router ospf log-adjacency-changes ESR1(config)# router ospf 1 ESR1(config-ospf)# router-id 1.1.1.1 ESR1(config-ospf)# area 0.0.0.0 ESR1(config-ospf-area)# enable ESR1(config-ospf-area)# exit ESR1(config-ospf)# enable ESR1(config-ospf)# exit ESR1(config)# ESR1(config)# interface loopback 1 ESR1(config-loopback)# ip address 1.1.1.1/32 ESR1(config-loopback)# ip ospf instance 1 ESR1(config-loopback)# ip ospf ESR1(config-loopback)# exit ESR1(config)# ESR1(config)# interface gigabitethernet 1/0/1.10 ESR1(config-subif)# ip firewall disable ESR1(config-subif)# ip address 10.10.10.1/30 ESR1(config-subif)# ip ospf instance 1 ESR1(config-subif)# ip ospf ESR1(config-subif)# exit ESR1(config)# ESR1(config)# interface gigabitethernet 1/0/1.40 ESR1(config-subif)# ip firewall disable ESR1(config-subif)# ip address 40.40.40.1/30 ESR1(config-subif)# ip ospf instance 1 ESR1(config-subif)# ip ospf ESR1(config-subif)# exit ESR1(config)# ESR1(config)# system jumbo-frames ESR1(config)# do commit ESR1(config)# do confirm |
...
Блок кода |
---|
ESR1# show ip ospf neighbors Router ID Pri State DTime Interface Router IP --------- --- ----- ----- ------------- --------- 2.2.2.2 128 Full/BDR 00:39 gi1/0/1.10 10.10.10.2 4.4.4.4 128 Full/BDR 00:32 gi1/0/1.40 40.40.40.2 ESR1# show ip ospf O 40.40.40.0/30 [150/10] dev gi1/0/1.40 [ospf1 1970-01-08] (1.1.1.1) O * 30.30.30.0/30 [150/20] via 40.40.40.2 on gi1/0/1.40 [ospf1 1970-01-08] (3.3.3.3) O 1.1.1.1/32 [150/0] dev lo1 [ospf1 1970-01-08] (1.1.1.1) O * 4.4.4.4/32 [150/10] via 40.40.40.2 on gi1/0/1.40 [ospf1 1970-01-08] (4.4.4.4) O * 20.20.20.0/30 [150/20] via 10.10.10.2 on gi1/0/1.10 [ospf1 22:05:45] (3.3.3.3) O 10.10.10.0/30 [150/10] dev gi1/0/1.10 [ospf1 22:05:33] (1.1.1.1) O * 3.3.3.3/32 [150/20] multipath [ospf1 22:05:45] (3.3.3.3) via 40.40.40.2 on gi1/0/1.40 weight 1 O * 2.2.2.2/32 [150/10] via 10.10.10.2 on gi1/0/1.10 [ospf1 22:05:45] (2.2.2.2) |
Настройка LDP на P/PE-маршрутизаторах
Блок кода | ||
---|---|---|
| ||
ESR1# config ESR1(config)# mpls ESR1(config-mpls)# ldp ESR1(config-ldp)# address-family ipv4 ESR1(config-ldp-af-ipv4)# transport-address 1.1.1.1 ESR1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.10 ESR1(config-ldp-af-ipv4-if)# exit ESR1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.40 ESR1(config-ldp-af-ipv4-if)# exit ESR1(config-ldp-af-ipv4)# exit ESR1(config-ldp)# enable ESR1(config-ldp)# exit ESR1(config-mpls)# forwarding interface gigabitethernet 1/0/1.10 ESR1(config-mpls)# forwarding interface gigabitethernet 1/0/1.40 ESR1(config-mpls)# exit ESR1(config)# do commit ESR1(config)# do confirm |
...
Блок кода |
---|
ESR1# show mpls ldp neighbor Peer LDP ID: 2.2.2.2; Local LDP ID 1.1.1.1 State: Operational TCP connection: 2.2.2.2:33933 - 1.1.1.1:646 Messages sent/received: 1059/1070 Uptime: 17:32:07 LDP discovery sources: gigabitethernet 1/0/1.10 Peer LDP ID: 4.4.4.4; Local LDP ID 1.1.1.1 State: Operational TCP connection: 4.4.4.4:40894 - 1.1.1.1:646 Messages sent/received: 1376/1386 Uptime: 22:38:38 LDP discovery sources: gigabitethernet 1/0/1.40 |
Настройка MP-BGP
Создадим VRF на ESR1 и ESR3 соответственно. Укажем RD, rt-export/import в соответствии со схемой, настроим интерфейс для взаимодействия с CE (CE-SiteA и CE-SiteB). Дополнительно создадим route-map для разрешения анонсирования маршрутов по протоколу BGP:
...
Блок кода |
---|
ESR1# show bgp neighbors BGP neighbor is 3.3.3.3 BGP state: Established Neighbor address: 3.3.3.3 Neighbor AS: 65500 Neighbor ID: 3.3.3.3 Neighbor caps: refresh enhanced-refresh restart-aware AS4 Session: internal multihop AS4 Source address: 1.1.1.1 Weight: 0 Hold timer: 126/180 Keepalive timer: 40/60 Address family ipv4 unicast: Default originate: No Default information originate: No Uptime: 88495 s |
Настройка маршрутизации PE-CE
Согласно топологии, Customer1 анонсирует по BGP (AS65505) подсеть 10.100.0.0/24. Необходимо настроить соответствующие интерфейсы, eBGP между ESR1 и CE_SiteA. Также необходимо разрешить анонсирование маршрутов в сторону PE.
...
Данная команда выводит все принятые VPNv4-маршруты после применения фильтрации.
Балансировка трафика MPLS
Маршрутизаторы ESR имеют многоядерную архитектуру. Одним из первых звеньев обработки поступающего трафика является load balancer daemon (lbd), который выполняет две основных функции:
...
Примечание |
---|
Во избежание падения 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. |
Пример настройки
Задача:
Включить балансировку L2VPN-трафика без использования функционала Control Word.
Решение:
Блок кода | ||
---|---|---|
| ||
ESR(config)# system cpu load-balance mpls passenger ip ESR(config)# system cpu load-balance mpls passenger ipoe-pw-without-cw |
Работа с бридж-доменом в рамках MPLS
Для организации L2VPN-сервиса необходимо настроить на устройстве бридж-домен, создать требуемые AC, PW (LDP-signaling) и связать все данные элементы с бридж-доменом.
...
- Если AC является саб-интерфейсом, то vlan-тег перед помещением в бридж сохраняется. При выходе из бриджа vlan-тег может быть сохранен или перезаписан в зависимости от конфигурации.
- Если АС является интерфейсом, то модификация тегов не происходит в обоих направлениях.
Назначение MTU при работе с MPLS
Важно правильно настроить MTU на интерфейсах, участвующих в передаче трафика. Существует два ключевых момента:
...
Если СE1 пошлет пакет с большим MTU, чем на интерфейсе, смотрящим в сторону клиента (gi1/0/2) или в сторону mpls-core (gi1/0/1), то пакет будет отброшен.
Inter-AS Option A
Рассмотрим примеры настройки на базе построения сервисов 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 |
---|
...
Блок кода |
---|
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 |
---|
В отличие от Option A, между ASBR нет необходимости использовать VRF: при передаче трафика между ASBR будет навешиваться mpls-метка. Данная схема имеет лучшую масштабируемость.
Примечание |
---|
В текущей реализации Option B поддержана только для VPN-IPv4 маршрутов (AFI = 1, SAFI = 128). |
L3VPN
Scroll Pagebreak |
---|
...
Блок кода |
---|
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 ----- --------------------- ------------------ --------------- ---------- ------- ---------- ------ ---------------- *>i 65501:2 10.104.0.1/32 10.10.1.2 -- 23 100 0 65500 65513 i *>i 65501:1 10.103.0.1/32 10.10.1.2 -- 19 100 0 65500 65512 i *> 65501:2 10.101.0.1/32 -- -- 29 100 -- 65511 i *> 65501:1 10.100.0.1/32 -- -- 28 100 -- 65510 i ASBR1# 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 ----- --------------------- ------------------ --------------- ---------- ------- ---------- ------ ---------------- *> 65501:2 10.104.0.1/32 10.101.0.1 -- 24 100 0 65500 65513 i *> 65501:1 10.103.0.1/32 10.101.0.1 -- 20 100 0 65500 65512 i *>i 65501:2 10.101.0.1/32 10.10.1.1 -- 29 100 0 65511 i *>i 65501:1 10.100.0.1/32 10.10.1.1 -- 28 100 0 65510 i ASBR2# 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 ----- --------------------- ------------------ --------------- ---------- ------- ---------- ------ ---------------- *>i 65501:2 10.104.0.1/32 10.11.1.1 -- 19 100 0 65513 i *>i 65501:1 10.103.0.1/32 10.11.1.1 -- 18 100 0 65512 i *> 65501:2 10.101.0.1/32 10.101.0.2 -- 30 100 0 65501 65511 i *> 65501:1 10.100.0.1/32 10.101.0.2 -- 31 100 0 65501 65510 i PE2# 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 ----- --------------------- ------------------ --------------- ---------- ------- ---------- ------ ---------------- *> 65501:2 10.104.0.1/32 -- -- 19 100 -- 65513 i *> 65501:1 10.103.0.1/32 -- -- 18 100 -- 65512 i *>i 65501:2 10.101.0.1/32 10.11.1.2 -- 29 100 0 65501 65511 i *>i 65501:1 10.100.0.1/32 10.11.1.2 -- 30 100 0 65501 65510 i CE4# ping 10.104.0.1 source ip 10.101.0.1 detailed PING 10.104.0.1 (10.104.0.1) from 10.101.0.1 : 56 bytes of data. 64 bytes from 10.104.0.1: icmp_seq=1 ttl=0 time=2.25 ms 64 bytes from 10.104.0.1: icmp_seq=2 ttl=0 time=2.08 ms 64 bytes from 10.104.0.1: icmp_seq=3 ttl=0 time=2.15 ms 64 bytes from 10.104.0.1: icmp_seq=4 ttl=0 time=2.12 ms 64 bytes from 10.104.0.1: icmp_seq=5 ttl=0 time=2.09 ms CE1# ping 10.103.0.1 source ip 10.100.0.1 detailed PING 10.103.0.1 (10.103.0.1) from 10.100.0.1 : 56 bytes of data. 64 bytes from 10.103.0.1: icmp_seq=1 ttl=0 time=2.22 ms |
Inter-AS Option C
Inter-AS Option C является третьим сценарием для настройки связности различных автономных систем, описанным в RFC 4364. Данный сценарий является наиболее масштабируемым из описанных ранее, однако он имеет свои особенности, которые необходимо учитывать при построении сети.
...
Для организации сквозных настроек QoS требуется согласование настроек на стыке ASBR↔ASBR.
L3VPN
Предварительная конфигурация:
...
Блок кода | ||
---|---|---|
| ||
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 |
MPLS over GRE
В этом разделе приведен пример настройки VPN сервисов, построенных через GRE-туннель.
L2VPN
В качестве сервиса l2vpn произведем настройку EoMPLS over GRE. Также возможно построение VPLS over GRE ( BGP или LDP signaling).
...
Блок кода |
---|
* Конфигурация туннеля* ESR2# sh tunnels configuration gre 1 State: Enabled Description: -- Mode: ip Bridge group: -- VRF: -- Local address: 192.0.2.2 Remote address: 192.0.2.1 Calculates checksums for outgoing GRE packets: No Requires that all input GRE packets were checksum: No key: 60 TTL: 64 DSCP: Inherit MTU: 1458 Path MTU discovery: Enabled Don't fragment bit suppression: Disabled Security zone: -- Multipoint mode: Disabled Keepalive: State: Disabled Timeout: 10 Retries: 6 Destination address: -- *Статус cервиса и выделенные метки* sh mpls l2vpn p2p P2P: EoMPLS gigabitethernet 1/0/2: MTU: 1500 Status: Up PW ID 100, Neighbor 10.100.0.1: MTU: 1500 Status TLV: Enable Last change: 00:14:27 Status: Up ESR2# sh mpls forwarding-table Local Outgoing Prefix Outgoing Next Hop label label or tunnel ID Interface -------- -------- ------------------------------------------- ---------------- --------------------------------------- 17 imp-null 10.100.0.1/32 gre 1 10.0.0.1 16 16 PW ID 100 -- 10.100.0.1 *Доступность*CE1# ping 10.100.0.2 detailed PING 10.100.0.2 (10.100.0.2) 56 bytes of data. 64 bytes from 10.100.0.2: icmp_seq=1 ttl=0 time=1.38 ms 64 bytes from 10.100.0.2: icmp_seq=2 ttl=0 time=1.22 ms 64 bytes from 10.100.0.2: icmp_seq=3 ttl=0 time=1.33 ms 64 bytes from 10.100.0.2: icmp_seq=4 ttl=0 time=1.26 ms 64 bytes from 10.100.0.2: icmp_seq=5 ttl=0 time=1.17 ms |
L3VPN
Примечание |
---|
При настройке MTU на туннеле необходимо учитывать следующее:
Ниже представлена примерная структура пакета: |
...