...
Проверка:
На одном из пиров вести ввести следующие команды:
Вывод покажет параметры соседнего пира, полученные из мультикастовых hello-сообщений.
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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] |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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 |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации LDP задать параметр Keepalive | esr(config-ldp)# keepalive <TIME> | <TIME> - – Время в секундах в интервале [3..65535] Значение по умолчанию: 180 |
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настроить протокол LDP (см. раздел Конфигурирование протокола LDP) | ||
2 | В режиме конфигурации соседа задать параметр Keepalive holdtime | esr(config-ldp-neig)# keepalive <TIME> | <TIME> - – Время в секундах в интервале [3..65535] Значение по умолчанию: 180 |
...
Scroll Pagebreak |
---|
Блок кода |
---|
ESR1# sh mpls ldp discovery detailed ... Targeted hellos: 1.1.1.1 -> 4.4.4.4: Hello interval: 2 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: 30 seconds Proposed hold time: 30/45 (local/peer) seconds |
Если после согласования , Hello interval стал больше, чем Hold timer, то Hello interval будет равным Hold timer/3.
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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. |
...
Scroll Pagebreak |
---|
...
Разрешим прием пакетов с MPLS-заголовком на интерфейсе в сторону MPLS-сети (В в данном примере интерфейс в сторону PE2):
...
Блок кода |
---|
PE1(config-mpls)# ldp PE1(config-ldp)# router-id 1.1.1.1 PE1(config-ldp)# address-family ipv4 PE1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1 PE1(config-ldp-af-ipv4-if)# exit PE1(config-ldp-af-ipv4)# transport-address 1.1.1.1 PE1(config-ldp-af-ipv4)# exit PE1(config-ldp)# enable PE1(config-ldp)# exit |
Создадим pw-class, на основе которого в дальнейшем будет создан виртуальный канал (pw). Так как в данном примере на pw будут применяться параметры по умолчанию, достаточно будет указать имя класса:
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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 . |
Scroll Pagebreak |
---|
...
Настроить l2vpn таким образом, чтобы маршрутизаторы CE1, CE2, CE3 имели L2-связность через интерфейсы gi1/0/2.100 и gi1/0/4 (CE2).
Решение:
Предварительно необходимо:
...
Блок кода |
---|
PE1#(config)# interface gigabitethernet 1/0/1 PE1(config-if-gi)# mtu 9600 PE1(config-if-gi)# ip firewall disable PE1(config-if-gi)# exit |
Scroll Pagebreak |
---|
...
Блок кода |
---|
PE1(config-mpls)# ldp PE1(config-ldp)# router-id 1.1.1.1 PE1(config-ldp)# address-family ipv4 PE1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1 PE1(config-ldp-af-ipv4-if)# exit PE1(config-ldp-af-ipv4)# transport-address 1.1.1.1 PE1(config-ldp-af-ipv4)# exit PE1(config-ldp)# enable PE1(config-ldp)# exit |
Создадим pw-class, на основе которого в дальнейшем будет созданы виртуальные каналы (pw). Так как в данном примере на pw будут применяться параметры по умолчанию, достаточно будет указать имя класса:
...
Убедимся в установлении соседства по протоколу LDP , и выведем информацию по статусу виртуального канала (pseudowire) между PE1, PE2 и PE3:
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
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 |
...
Подсказка |
---|
В некоторых случаях можно отказаться от ввода таких параметров, как RD и RT: если указать только VPN ID, то они будут сформированы следующим образом: <номер AS> : <vpn-id>. Например, у нас есть номер автономной системы AS 65550, vpn-id мы указали указан 10, тогда cгенерируются следующие параметры: RD - 65550: 10. RT import/export - 65550:10. |
...
После активации сервиса проверим, что в таблице l2vpn появилась маршрутная информация , и она анонсируется на RR:
...
Подсказка | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Просмотреть вычисленные сервисные метки можно следующим образом:
|
Scroll Pagebreak |
---|
...
Сервис L3VPN позволяет объединить распределенные клиентские IP-сети , и обеспечить передачу трафика между ними с рамках единой VRF.
...
Настройка маршрутизации PE-CE
Согласно нашей топологии, Customer1 анонсирует по BGP (AS65505) подсеть 10.100.0.0/24. Необходимо настроить соответствующие интерфейсы, eBGP между ESR1 и CE_SiteA. Также необходимо разрешить анонсирование маршрутов в сторону PE.
Предупреждение |
---|
По умолчанию : для eBGP анонсирование маршрутов запрещено, необходимо настроить разрешающее правило. Для iBGP анонсирование маршрутов разрешено. |
...
Блок кода | ||
---|---|---|
| ||
CE-SiteA(config)# interface gigabitethernet 1/0/2 CE-SiteA(config-if-gi)# ip firewall disable CE-SiteA(config-if-gi)# ip address 192.168.32.2/30 CE-SiteA(config-if-gi)# exit CE-SiteA(config)# interface loopback 1 CE-SiteA(config-loopback)# ip address 10.100.0.1/24 CE-SiteA(config-loopback)# exit CE-SiteA(config)# route-map OUTPUT CE-SiteA(config-route-map)# rule 1 CE-SiteA(config-route-map-rule)# match ip address 10.100.0.0/24 CE-SiteA(config-route-map-rule)# action permit CE-SiteA(config-route-map-rule)# exit CE-SiteA(config-route-map)# exit CE-SiteA(config)# router bgp log-neighbor-changes CE-SiteA(config)# router bgp 65505 CE-SiteA(config-bgp)# router-id 192.168.32.1 CE-SiteA(config-bgp)# neighbor 192.168.32.1 CE-SiteA(config-bgp-neighbor)# remote-as 65500 CE-SiteA(config-bgp-neighbor)# allow-local-as 1 CE-SiteA(config-bgp-neighbor)# update-source 192.168.32.2 CE-SiteA(config-bgp-neighbor)# address-family ipv4 unicast CE-SiteA(config-bgp-neighbor-af)# route-map OUTPUT out CE-SiteA(config-bgp-neighbor-af)# enable CE-SiteA(config-bgp-neighbor-af)# exit CE-SiteA(config-bgp-neighbor)# enable CE-SiteA(config-bgp-neighbor)# exit CE-SiteA(config-bgp)# address-family ipv4 unicast CE-SiteA(config-bgp-af)# network 10.100.0.0/24 CE-SiteA(config-bgp-af)# exit CE-SiteA(config-bgp)# enable CE-SiteA(config-bgp)# exit CE-SiteA(config)# do commit CE-SiteA(config)# do confirm |
Scroll Pagebreak |
---|
Scroll Pagebreak |
---|
Создадим eBGP сессию с CE_SiteA и разрешим передачу маршрутов BGP пиру:
...
Примечание | ||
---|---|---|
При передаче маршрутов из VRF в таблицу VPNv4 ТОЛЬКО connected- и/или или static сетей -сетей указывать команду enable не нужно! . Включение необходимо только при наличии BGP пиров в VRF. Пример конфигурации передачи в VPNv4 таблицу connected и static сетей:
|
Scroll Pagebreak |
---|
Для проверки принятых и анонсированных маршрутов можно воспользоваться следующими командами:
...
Вывод принятой маршрутной информации от определенного пира. Маршрутная информация отображается после применения фильтрации.
CE-SiteB Scroll Pagebreak
Необходимо проделать схожие операции теперь уже между маршрутизаторами ESR3 и CE_SiteB.
...
Выводит все принятые VPNv4-маршруты после применения фильтрации.
...
2) Выявляет аномальные ситуации с высокой нагрузкой на отдельные CPU, и перераспределяет обработку с этих CPU на менее загруженные.
По умолчанию , 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 может быть ошибочно распознан как пакет без него. |
При хэшировании хешировании MPLS-меток действуют следующие ограничения:
- В расчет не добавляются метки 0-15 (Special-Purpose Labels) - – см. RFC 7274;
- В расчет не добавляется метка, если непосредственно перед ней следует метка 15 (Extension Label) - – см. RFC 7274;
- В расчет хэша хеша добавляется не более трёх меток.
...
Предположим, PE1 и PE2 cконфигурированы в ethernet mode. Со стороны PE1 в бридж-домен включен cабинтерфейс gigabitethernet 1/0/4.100, соответственно поэтому vlan-тег (vlan id 100) с входящего трафика будет удален перед помещением в Pseudowire 10 (соответственно, восстановлен при трафике в сторону АС). С другой стороны, AC на PE2, является интерфейсом, а значит , трафик будет проходить без модификаций в обоих направлениях.
Scroll Pagebreak |
---|
- Если AC является сабинтерфейсомсаб-интерфейсом, то vlan-тег перед помещением в бридж сохраняется. При выходе из бриджа vlan-тег может быть сохранен или перезаписан в зависимости от конфигурации.
- Если АС является интерфейсом, то модификации тегов не происходит в обоих направлениях.
Назначение MTU при работе с MPLS
Очень важно правильно настроить настроить MTU на интерфейсах, участвующих в передаче трафика. Отметим два ключевых момента:
- Размер Ethernet-заголовка (18 байт), inner tag (4 байта), outer tag (4 байта) не учитываются на AC интерфейсах;
- На интерфейсах, принимающих участие в пересылке mpls-трафика, необходимо увеличить MTU на количество количество меток (каждая метка равна 4 байтам).
...
Предупреждение |
---|
Значения MTU, участвующие в сигнализации, не влияют на фактический размер пакета, проходящего по псевдо-проводу. |
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
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* |
Scroll Pagebreak |
---|
...
Для BGP-signaling MTU MTU указывается в рамках конфигурации l2vpn-сервиса: Scroll Pagebreak
Блок кода | ||
---|---|---|
| ||
PE1(config)# mpls PE1(config-mpls)# l2vpn PE1(config-l2vpn)# vpls l2vpn_MTU PE1(config-l2vpn-vpls)# autodiscovery bgp PE1(config-bgp)# mtu 1500 PE2# sh mpls l2vpn vpls l2vpn_MTU VPLS: l2vpn_MTU ... PWs: PW ID 2, Neighbor 10.10.0.1: MTU: 1500 Last change: 01:27:42 Status: Up * Для сигнализации всех псевдо-проводов данного VPLS будет выбрано MTU 1500 * |
Если при согласовании значение MTU не совпадает, то статус то статус псевдо-провода будет - – "DOWN", " Reason: MTU mismatch":
...
Примечание | ||
---|---|---|
В BGP-signaling можно отключить проверку MTU для сервиса:
Теперь при согласовании согласовании значение MTU будет игнорироваться. |
По умолчанию , бридж-домен имеет MTU равным 1500 байт. Стоит отметить, что bridge-domain автоматически выбирает наименьшее значение MTU, исходя из собственного MTU , и MTU-интерфейсов, включенных в бридж-домен.
...
Рассмотрим примеры настройки на базе построения сервисов сервисов l3vpn и l2vpn. Главная особенность особенность inter-AS option A - отсутствие mpls A – отсутствие mpls -меток в трафике при передаче между ABSR. Для разделения трафика клиентских сервисов между ASBR обычно используют VRF VRF для l3vpn l3vpn или тегирование (dot1q, q-in-q) для сервисов сервисов l2vpn.
L2VPN
Cхема
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
ESR# config ESR(config)# hostname CE1 ESR(config)# interface gigabitethernet 1/0/1.100 ESR(config-if-gi)# ip firewall disable ESR(config-if-gi)# ip address 192.168.1.1/24 ESR(config-if-gi)# do com ESR(config-if-gi)# do conf |
...
Произведем настройку PE1 и PE2. Анонсирование Анонсирование сервисных меток возложим на протокол BGP (Kompella mode):
...
Настроим ASBR1 и ASBR2. Для разделение трафика разделения трафика от CE1 и CE2 в сторону ASBR2 сделаем сделаем интерфейс gi1/0/1 транковым. Vlan 100 и 200 будут 200 будут предназначены для трафика от CE1 и СE2 соответственно.
...
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname ASBR2 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.10.1.2 ESR(config-bgp)# neighbor 10.10.1.1 ESR(config-bgp-neighbor)# remote-as 65500 ESR(config-bgp-neighbor)# update-source 10.10.1.2 ESR(config-bgp-neighbor)# address-family l2vpn vpls 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)# exit ESR(config)# 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)# ESR(config)# bridge 10 ESR(config-bridge)# vlan 100 ESR(config-bridge)# enable ESR(config-bridge)# exit ESR(config)# bridge 20 ESR(config-bridge)# vlan 200 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)# 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 PE1" ESR(config-if-gi)# mtu 1522 ESR(config-if-gi)# ip firewall disable ESR(config-if-gi)# ip address 10.100.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.10.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.10.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)# l2vpn ESR(config-l2vpn)# vpls CE1 ESR(config-l2vpn-vpls)# bridge-group 10 ESR(config-l2vpn-vpls)# autodiscovery bgp ESR(config-bgp)# vpn id 1 ESR(config-bgp)# ve id 1 ESR(config-bgp)# rd 65500:1 ESR(config-bgp)# route-target export 65500:1 ESR(config-bgp)# route-target import 65500:1 ESR(config-bgp)# exit ESR(config-l2vpn-vpls)# enable ESR(config-l2vpn-vpls)# exit ESR(config-l2vpn)# vpls CE2 ESR(config-l2vpn-vpls)# bridge-group 20 ESR(config-l2vpn-vpls)# autodiscovery bgp ESR(config-bgp)# vpn id 2 ESR(config-bgp)# ve id 1 ESR(config-bgp)# rd 65500:2 ESR(config-bgp)# route-target export 65500:2 ESR(config-bgp)# route-target import 65500:2 ESR(config-bgp)# exit ESR(config-l2vpn-vpls)# enable ESR(config-l2vpn-vpls)# exit ESR(config-l2vpn)# exit ESR(config-mpls)# forwarding interface gigabitethernet 1/0/2 ESR(config-mpls)# exit ESR(config)# do com ESR(config)# do conf |
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:b9c1:7380 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 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 65501
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.110.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-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.1.1/30
ESR(config-subif)# exit
ESR(config)#
ESR(config)# interface loopback 1
ESR(config-loopback)# ip address 10.110.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 65501
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.112.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-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.2.1/30
ESR(config-subif)# exit
ESR(config)#
ESR(config)# interface loopback 1
ESR(config-loopback)# ip address 10.112.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 65501
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.113.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-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.3.1/30
ESR(config-subif)# exit
ESR(config)#
ESR(config)# interface loopback 1
ESR(config-loopback)# ip address 10.113.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 65501
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.114.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-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.4.1/30
ESR(config-subif)# exit
ESR(config)#
ESR(config)# interface loopback 1
ESR(config-loopback)# ip address 10.114.0.1/32
ESR(config-loopback)# exit
ESR(config)# do com
ESR(config)# do conf
|
Произведем настройку PE1 и PE2:
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname PE1
ESR(config)#
ESR(config)# ip vrf CE1
ESR(config-vrf)# ip protocols bgp 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 bgp 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)# route-map BGP
ESR(config-route-map)# rule 1
ESR(config-route-map-rule)# exit
ESR(config-route-map)# exit
ESR(config)# router bgp log-neighbor-changes
ESR(config)# router bgp 65500
ESR(config-bgp)# neighbor 10.10.1.2
ESR(config-bgp-neighbor)# remote-as 65500
ESR(config-bgp-neighbor)# update-source 10.10.1.1
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)# neighbor 192.168.1.1
ESR(config-bgp-vrf-neighbor)# remote-as 65501
ESR(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR(config-bgp-neighbor-af-vrf)# route-map BGP out
ESR(config-bgp-neighbor-af-vrf)# enable
ESR(config-bgp-neighbor-af-vrf)# exit
ESR(config-bgp-vrf-neighbor)# enable
ESR(config-bgp-vrf-neighbor)# exit
ESR(config-bgp-vrf)# address-family ipv4 unicast
ESR(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP
ESR(config-bgp-vrf-af)# exit
ESR(config-bgp-vrf)# enable
ESR(config-bgp-vrf)# exit
ESR(config-bgp)# vrf CE2
ESR(config-bgp-vrf)# neighbor 192.168.2.1
ESR(config-bgp-vrf-neighbor)# remote-as 65501
ESR(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR(config-bgp-neighbor-af-vrf)# route-map BGP out
ESR(config-bgp-neighbor-af-vrf)# enable
ESR(config-bgp-neighbor-af-vrf)# exit
ESR(config-bgp-vrf-neighbor)# enable
ESR(config-bgp-vrf-neighbor)# exit
ESR(config-bgp-vrf)# address-family ipv4 unicast
ESR(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP
ESR(config-bgp-vrf-af)# exit
ESR(config-bgp-vrf)# enable
ESR(config-bgp-vrf)# exit
ESR(config-bgp)# exit
ESR(config)#
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)#
ESR(config)# interface gigabitethernet 1/0/1.100
ESR(config-subif)# ip vrf forwarding CE1
ESR(config-subif)# description "to CE1"
ESR(config-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.1.2/30
ESR(config-subif)# exit
ESR(config)# interface gigabitethernet 1/0/1.200
ESR(config-subif)# ip vrf forwarding CE2
ESR(config-subif)# description "to CE2"
ESR(config-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.2.2/30
ESR(config-subif)# exit
ESR(config)# interface gigabitethernet 1/0/2
ESR(config-if-gi)# mtu 1522
ESR(config-if-gi)# ip firewall disable
ESR(config-if-gi)# ip address 10.100.0.1/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.10.1.1/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.10.1.1
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 |
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname PE2
ESR(config)#
ESR(config)# ip vrf CE1
ESR(config-vrf)# ip protocols bgp 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 bgp 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)# route-map BGP
ESR(config-route-map)# rule 1
ESR(config-route-map-rule)# exit
ESR(config-route-map)# exit
ESR(config)# router bgp log-neighbor-changes
ESR(config)# router bgp 65500
ESR(config-bgp)# router-id 10.11.1.1
ESR(config-bgp)# neighbor 10.11.1.2
ESR(config-bgp-neighbor)# remote-as 65500
ESR(config-bgp-neighbor)# update-source 10.11.1.1
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)# neighbor 192.168.3.1
ESR(config-bgp-vrf-neighbor)# remote-as 65501
ESR(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR(config-bgp-neighbor-af-vrf)# route-map BGP out
ESR(config-bgp-neighbor-af-vrf)# enable
ESR(config-bgp-neighbor-af-vrf)# exit
ESR(config-bgp-vrf-neighbor)# enable
ESR(config-bgp-vrf-neighbor)# exit
ESR(config-bgp-vrf)# address-family ipv4 unicast
ESR(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP
ESR(config-bgp-vrf-af)# exit
ESR(config-bgp-vrf)# enable
ESR(config-bgp-vrf)# exit
ESR(config-bgp)# vrf CE2
ESR(config-bgp-vrf)# neighbor 192.168.4.1
ESR(config-bgp-vrf-neighbor)# remote-as 65501
ESR(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR(config-bgp-neighbor-af-vrf)# route-map BGP out
ESR(config-bgp-neighbor-af-vrf)# enable
ESR(config-bgp-neighbor-af-vrf)# exit
ESR(config-bgp-vrf-neighbor)# enable
ESR(config-bgp-vrf-neighbor)# exit
ESR(config-bgp-vrf)# address-family ipv4 unicast
ESR(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP
ESR(config-bgp-vrf-af)# exit
ESR(config-bgp-vrf)# enable
ESR(config-bgp-vrf)# exit
ESR(config-bgp)# exit
ESR(config)#
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)#
ESR(config)# interface gigabitethernet 1/0/1.100
ESR(config-subif)# ip vrf forwarding CE1
ESR(config-subif)# description "to CE3"
ESR(config-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.3.2/30
ESR(config-subif)# exit
ESR(config)# interface gigabitethernet 1/0/1.200
ESR(config-subif)# ip vrf forwarding CE2
ESR(config-subif)# description "to CE4"
ESR(config-subif)# ip firewall disable
ESR(config-subif)# ip address 192.168.4.2/30
ESR(config-subif)# exit
ESR(config)# interface gigabitethernet 1/0/2
ESR(config-if-gi)# mtu 1522
ESR(config-if-gi)# ip firewall disable
ESR(config-if-gi)# ip address 10.101.0.1/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.1/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.1
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 |
Настроим ASBR1 и ASBR2. Для передачи маршрутной информации между ними воспользуемся протоколов OSPF в соответствующих VRF:
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname ASBR1
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.10.1.2
ESR(config-bgp)# neighbor 10.10.1.1
ESR(config-bgp-neighbor)# remote-as 65500
ESR(config-bgp-neighbor)# update-source 10.10.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)# 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.1/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.5/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 ASBR2"
ESR(config-if-gi)# mode switchport
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 PE1"
ESR(config-if-gi)# mtu 1522
ESR(config-if-gi)# ip firewall disable
ESR(config-if-gi)# ip address 10.100.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.10.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.10.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 |
Блок кода | ||
---|---|---|
| ||
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)# 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 |
Настройка завершена. Проверим распространение маршрутной информации и сетевую доступность узлов:
Блок кода |
---|
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
|