Оглавление | ||
---|---|---|
|
Scroll Pagebreak |
---|
...
LDP — протокол распределения меток. Для нахождения соседей используется рассылка hello-сообщений на мультикастный адрес 224.0.0.2. При обмене hello-сообщениями маршрутизаторы узнают транспортные адреса друг друга. Маршрутизатор с большим адресом инициализирует TCP-сессию. После проверки параметров LDP-сессия считается установленной.
В маршрутизаторах ESR поддержаны следующие режимы работы LDP:
- Режим обмена информации о меткаx — Downstream Unsolicited;
- Механизм контроля за распространением меток — Independent Label Distribution Control;
- Режим сохранения меток — Liberal Label Retention.
Предупреждение |
---|
На интерфейсах, где включены протокол LDP и MPLS-коммутация, firewall должен быть отключен. |
Примечание |
---|
В текущей реализации протокол LDP работает только с IPv4-адресами. |
Алгоритм настройки
...
esr(config-mpls)# forwarding interface { <IF> | <TUN> }
...
<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.
...
esr(config-ldp)# router-id { <ID> | <IF> | <TUN> }
...
<ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].
<IF> – интерфейс, задаётся в виде, описанном в разделе
Типы и порядок именования интерфейсов маршрутизатора.
<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.
...
В контексте настройки address family ipv4 указать transport-address (не обязательно, если указан router-id).
...
esr(config-ldp-af-ipv4)# transport-address <ADDR>
...
4
...
esr(config-ldp-af-ipv4)# interface { <IF> | <TUN> }
...
<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.
...
esr(config-ldp)# enable
...
esr(config-ldp)# egress-label-type explicit-null
...
esr(config-ldp-neig)# password {<TEXT> | ENCRYPTED-TEXT>}
...
<CLEAR-TEXT> – пароль, задаётся строкой длиной [8..16] символов;
<ENCRYPTED-TEXT> – зашифрованный пароль размером [8..16] байт ([16..32] символа) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).
...
В рамках настройки протокола LDP также доступен следующий функционал:
- Настройка фильтрации LDP-меток (см. 513541062);
- Настройка параметров LDP-сессии (cм. 513541062);
- Настройка параметров tLDP-сессии (см. 513541062).
Примечание |
---|
Если изменить значение router-id, то новое значение будет применено только после рестарта данного протокола. Для рестарта mpls ldp используется команда clear mpls ldp. |
Scroll Pagebreak |
---|
Задача:
Настроить взаимодействие по протоколу 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# |
Проверка:
На одном из пиров ввести следующие команды:
Блок кода |
---|
ESR# show mpls ldp discovery detailed
Local LDP ID: 1.1.1.1
Discovery sources:
Interfaces:
gigabitethernet 1/0/1:
Hello interval: 5 seconds
Transport IP address: 1.1.1.1
LDP ID: 4.4.4.4
Source IP address: 10.10.10.2
Transport IP address: 4.4.4.4
Hold time: 15 seconds
Proposed hold time: 90/15 (local/peer) seconds |
Вывод покажет параметры соседнего пира, полученные из мультикастовых hello-сообщений.
Сессия LDP должна находиться в статусе «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 |
Конфигурирование параметров сессии в протоколе LDP
По умолчанию в рассылаемых hello-сообщениях установлены следующие значения:
...
Scroll Pagebreak |
---|
...
Блок кода |
---|
ESR# sh mpls ldp discovery detailed
Local LDP ID: 4.4.4.4
Discovery sources:
Interfaces:
gigabitethernet 1/0/4:
Hello interval: 5 seconds
Transport IP address: 4.4.4.4
LDP ID: 1.1.1.1
Source IP address: 10.10.10.1
Transport IP address: 1.1.1.1
Hold time: 10 seconds
Proposed hold time: 15/10 (local/peer) seconds |
Если после согласования Hello interval стал больше, чем Hold timer, то Hello interval будет равным Hold timer/3.
На маршрутизаторах ESR реализована возможность гибкой настройки параметров Hello holdtime, Hello interval и Keepalive holdtime. Рассмотрим пример настройки Hello holdtime для LDP-сессии:
Блок кода |
---|
ESR# show run mpls
mpls
ldp
router-id 4.4.4.4
discovery hello holdtime 40
address-family ipv4
interface gigabitethernet 1/0/4
discovery hello holdtime 60
exit
exit
enable
exit |
Если параметры Hello Holdtime и Hello Interval не указаны, то используются значения по умолчанию. Если параметры указаны, то приоритет значений для address-family будет выше, чем для значений, сконфигурированных глобально.
Блок кода |
---|
ESR# show mpls ldp discovery detailed
Local LDP ID: 4.4.4.4
Discovery sources:
Interfaces:
gigabitethernet 1/0/4:
Hello interval: 5 seconds
Transport IP address: 4.4.4.4
LDP ID: 1.1.1.1
Source IP address: 10.10.10.1
Transport IP address: 1.1.1.1
Hold time: 15 seconds
Proposed hold time: 60 /15 (local/peer) seconds |
Scroll Pagebreak |
---|
Блок кода |
---|
ESR# show running-config mpls
mpls
ldp
router-id 4.4.4.4
discovery hello holdtime 50
discovery hello interval 10
address-family ipv4
interface gigabitethernet 1/0/1
discovery hello holdtime 60
discovery hello interval 20
exit
interface gigabitethernet 1/0/4
discovery hello holdtime 30
discovery hello interval 10
exit
exit
enable
exit |
Для TCP-сессии Keepalive holdtime является также согласуемым параметром по аналогии с Hold timer. Keepalive interval рассчитывается автоматически и равен Keepalive holdtime/3. Keepalive holdtime можно задать как глобально, так и для каждого соседа. Таймер, заданный для определенного соседа, является более приоритетным.
Блок кода |
---|
ESR# show running-config mpls
mpls
ldp
router-id 4.4.4.4
keepalive 30 // установлен в глобальной конфигурации LDP
neighbor 1.1.1.1
keepalive 55// установлен в соседа с адресом 1.1.1.1
exit
exit |
Блок кода |
---|
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 |
---|
...
esr(config-ldp)# discovery hello holdtime <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 15.
...
3
...
esr(config-ldp)# discovery hello interval <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 5.
Алгоритм настройки параметров Hello holdtime и Hello interval для address family
...
esr(config-ldp-af-ipv4-if)# discovery hello holdtime <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 15.
...
3
...
esr(config-ldp-af-ipv4-if)# discovery hello interval <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 5.
Алгоритм настройки параметра Keepalive holdtime в глобальной конфигурации LDP
...
esr(config-ldp)# keepalive <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 180.
Scroll Pagebreak |
---|
Алгоритм настройки параметра 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 discovery detailed
Local LDP ID: 4.4.4.4
Discovery sources:
Interfaces:
gigabitethernet 1/0/4:
Hello interval: 10 seconds
Transport IP address: 4.4.4.4
LDP ID: 1.1.1.1
Source IP address: 10.10.10.1
Transport IP address: 1.1.1.1
Hold time: 15 seconds
Proposed hold time: 40/15 (local/peer) seconds
|
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
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-сессии установлены следующие значения:
...
Hold timer является согласуемым параметром – выбирается наименьший. В данном примере показано, что ESR после согласования установил 30 секунд:
Блок кода |
---|
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.
На маршрутизаторах ESR реализована возможность гибкой настройки параметров Hello holdtime, Hello interval и Keepalive holdtime: параметры можно задать как для всего процесса LDP, так и на соответствующего соседа.
Пример вывода для процесса LDP:
Блок кода |
---|
ESR# sh running-config mpls
mpls
ldp
router-id 1.1.1.1
keepalive 160
discovery targeted-hello holdtime 30
discovery targeted-hello interval 10
exit
exit |
Пример вывода для targeted-LDP-сессии для определенного соседа:
Блок кода |
---|
ESR# sh running-config mpls
mpls
ldp
router-id 1.1.1.1
neighbor 4.4.4.4
keepalive 160
targeted
discovery targeted-hello holdtime 30
discovery targeted-hello interval 45
exit
exit
exit |
Если параметры установлены и для процесса LDP, и на определенного соседа, приоритетом будут считаться настройки, установленные для соседа.
Блок кода |
---|
ESR# sh running-config mpls
mpls
ldp
router-id 1.1.1.1
keepalive 160
discovery hello holdtime 90
discovery targeted-hello interval 30
neighbor 4.4.4.4
keepalive 140
targeted
discovery targeted-hello holdtime 45
discovery targeted-hello interval 15
exit
exit
exit |
Блок кода |
---|
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
...
esr(config-ldp)# discovery targeted-hello holdtime <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 45.
...
3
...
esr(config-ldp)# discovery targeted- hello interval <TIME>
...
<TIME> – время в секундах в интервале [1..65535].
Значение по умолчанию: 5.
...
esr(config-ldp)# keepalive <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 180.
Scroll Pagebreak |
---|
Алгоритм настройки параметров Hello holdtime, Hello interval и Keepalive holdtime для определенного соседа
...
esr(config-ldp-neig)# discovery targeted-hello holdtime <TIME>
...
<TIME> – время в секундах в интервале [3..65535].
Значение по умолчанию: 45.
...
3
...
esr(config-ldp-neig)# discovery targeted- hello interval <TIME>
...
<TIME> – время в секундах в интервале [1..65535].
Значение по умолчанию: 5.
...
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-сессии:
Блок кода | ||
---|---|---|
| ||
ESR1# sh mpls ldp discovery detailed
...
Targeted hellos:
1.1.1.1 -> 4.4.4.4:
Hello interval: 10 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: 40 seconds
Proposed hold time: 40/45 (local/peer) seconds
|
Для просмотра параметров установленной TCP-сессии:
Блок кода | ||
---|---|---|
| ||
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.
Алгоритм настройки
...
esr(config)# object-group network <NAME>
...
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
...
esr(config-ldp)# advertise-labels <NAME>
...
Примечание |
---|
Метки будут выделяться ТОЛЬКО на описанные в object-group подсети, независимо от того, как они были изучены (connected, local, IGP и т. д.). |
Информация |
---|
Данный функционал поддержан для протокола 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)# object-group network ADV_LABELS
esr(config-object-group-network)# ip prefix 10.10.0.1/32
esr(config-object-group-network)# ip prefix 10.10.0.2/32 |
Блок кода | ||
---|---|---|
| ||
esr(config)# object-group network ADV_LABELS
esr(config-object-group-network)# ip prefix 10.10.0.1/32
esr(config-object-group-network)# ip prefix 10.10.0.2/32
|
Применим созданную object-group на обоих маршрутизаторах:
Блок кода | ||
---|---|---|
| ||
esr(config)# mpls
esr(config-ldp)# ldp
esr(config-ldp)# advertise-labels ADV_LABELS |
Проверка:
На ESR_B убедимся, что метка назначена для соответствующих префиксов:
Блок кода |
---|
esr# sh mpls ldp bindings 10.10.0.1/32
10.10.0.1/32
local label: exp-null
remote label: 75 lsr: 172.16.0.1 |
И не назначена для 192.168.2.0/24:
Блок кода |
---|
esr# sh mpls ldp bindings 192.168.2.0/24
esr# |
Метод на основе Prefix-list
Данный метод позволяет управлять выделением меток для протокола LDP на основе подсетей, описанный в соответствующем Prefix-list. В отличие от метода на основе Advertise-labels, гибкость функционала Prefix-list позволяет задать диапазон (префикс), для подсетей которого будет аллоцирована метка. Данный вариант настройки является более гибким и масштабируемым.
Алгоритм настройки
...
esr(config)# ip prefix-list <NAME>
...
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
...
esr(config-ldp-af-ipv4)# prefix-list <NAME>
...
Пример настройки
Задача:
Для организации сервисов L2VPN и L3VPN выделена подсеть 10.10.0.0/24. Необходимо средствами протокола LDP назначить транспортные MPLS-метки для всех адресов (подсетей/32), входящих в выделенный диапазон.
Решение:
На ESR_A и ESR_B создадим prefix-list и опишем необходимый для сервисов диапазон адресов:
Блок кода | ||
---|---|---|
| ||
esr(config)# ip prefix-list LDP_ALLOCATE
esr(config-pl)# permit 10.10.0.0/24 eq 32 |
Блок кода | ||
---|---|---|
| ||
esr(config)# ip prefix-list LDP_ALLOCATE
esr(config-pl)# permit 10.10.0.0/24 eq 32
|
Применим созданный 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 10.10.0.1/32
10.10.0.1/32
local label: exp-null
remote label: 45 lsr: 172.16.0.1 |
И не назначена для 192.168.2.0/24:
Блок кода |
---|
esr# sh mpls ldp bindings 192.168.2.0/24
esr# |
Настройка сервиса L2VPN Martini mode
L2VPN позволяет организовать передачу ethernet-фреймов через MPLS-домен. Выделение и распространение туннельных меток в данном режиме осуществляется по средствам протокола LDP. В реализации L2VPN можно условно выделить два случая:
- P2P – туннель, создаваемый по схеме «точка-точка».
VPLS – туннель, создаваемый по схеме «точка-многоточка».
В обоих случаях для передачи ethernet-фреймов между маршрутизаторами создается виртуальный канал (далее pseudo-wire). Для согласования параметров pseudo-wire, а также для выделения и передачи туннельных меток между маршрутизаторами устанавливается LDP-сессия в targeted-режиме.
Алгоритм настройки L2VPN VPWS
...
esr(config-l2vpn)# pw-class <WORD>
...
<WORD> – имя pw-class длиной [1..31] символов.
...
esr(config-l2vpn-pw-class)# description <LINE>
...
4
...
esr(config-l2vpn-pw-class)# encapsulation
mpls mtu <MTU>
...
<MTU> – значение MTU, принимает значение в диапазоне [552..10000]
Значение по умолчанию: 1500.
...
esr(config-l2vpn-pw-class)# encapsulation
mpls status-tlv disable
...
esr(config-l2vpn)# p2p <NAME>
...
<NAME> – имя p2p-сервиса, задается строкой до 31 символа.
...
esr(config-l2vpn-p2p)# interface
{ <IF> | <TUN> }
...
<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;
<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.
...
esr(config-l2vpn-p2p)# enable
...
esr(config-l2vpn-p2p)# transport-mode
{ ethenet | vlan }
...
<ethernet> – режим, при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег;
<vlan> – режим, при котором 802.1Q тег может быть сохранен при передаче через pseudo-wire.
Значение по умолчанию: ethernet.
...
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]
...
esr(config-l2vpn-pw)# description <LINE>
...
esr(config-l2vpn-pw)# pw-class <WORD>
...
<WORD> – имя pw-class длиной [1..31] символов.
...
esr(config-l2vpn-pw)# neighbor-address <ADDR>
...
Включить pseudo-wire.
...
esr(config-l2vpn-pw)# enable
...
Пример настройки 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).
Scroll Pagebreak |
---|
Блок кода |
---|
PE1# configure
PE1(config)# interface gigabitethernet 1/0/4.100
PE1(config-subif)# exit |
Выставим на интерфейсе в сторону PE2 значение MTU равным 9600, для того чтобы избежать ситуации с превышением MTU после инкапсуляции MPLS-заголовка, а также отключим межсетевой экран:
Блок кода |
---|
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 |
Разрешим прием пакетов с MPLS-заголовком на интерфейсе в сторону MPLS-сети (в данном примере интерфейс в сторону PE2):
Блок кода |
---|
PE1(config)# mpls
PE1(config-mpls)# forwarding interface gigabitethernet 1/0/1 |
Настроим протокол LDP и включим обнаружение соседей на интерфейсе в сторону 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 будут применяться параметры по умолчанию, достаточно будет указать имя класса:
Блок кода |
---|
PE1(config-mpls)# l2vpn
PE1(config-l2vpn)# pw-class for_p2p_VLAN100
PE1(config-l2vpn-pw-class)# exit |
Создадим новый l2vpn типа p2p и добавим pw до маршрутизатора PE3, идентификатор pw для удобства возьмем равным VID (в данном случае равным 100):
Блок кода |
---|
PE1(config-l2vpn)# p2p to_PE2_VLAN100
PE1(config-l2vpn-p2p)# interface gigabitethernet 1/0/4.100
PE1(config-l2vpn-p2p)# pw 100 3.3.3.3
PE1(config-l2vpn-pw)# pw-class for_p2p_VLAN100
PE1(config-l2vpn-pw)# enable
PE1(config-l2vpn-pw)# exit
PE1(config-l2vpn-p2p)# enable
PE1(config-l2vpn-p2p)# end |
Scroll Pagebreak |
---|
Блок кода |
---|
PE1# commit
PE1# confirm |
Проведем настройку маршрутизатора PE2 по аналогии с PE1:
Блок кода |
---|
PE2# configure
PE2(config)# interface gigabitethernet 1/0/4.100
PE2(config-subif)# exit
PE2#(config)# interface gigabitethernet 1/0/1
PE2(config-if-gi)# mtu 9600
PE1(config-if-gi)# ip firewall disable
PE1(config-if-gi)# exit
PE2(config)# mpls
PE2(config-mpls)# forwarding interface gigabitethernet 1/0/1
PE2(config-mpls)# ldp
PE2(config-ldp)# router-id 2.2.2.2
PE2(config-ldp)# address-family ipv4
PE2(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1
PE2(config-ldp-af-ipv4-if)# exit
PE2(config-ldp-af-ipv4)# transport-address 2.2.2.2
PE2(config-ldp-af-ipv4)# exit
PE2(config-ldp)# enable
PE2(config-ldp)# exit
PE2(config-mpls)# l2vpn
PE2(config-l2vpn)# pw-class for_p2p_VLAN100
PE2(config-l2vpn-pw-class)# exit
PE2(config-l2vpn)# p2p to_PE1_VLAN100
PE2(config-l2vpn-p2p)# interface gigabitethernet 1/0/4.100
PE2(config-l2vpn-p2p)# pw 100 1.1.1.1
PE2(config-l2vpn-pw)# pw-class for_p2p_VLAN100
PE2(config-l2vpn-pw)# enable
PE2(config-l2vpn-pw)# exit
PE2(config-l2vpn-p2p)# enable
PE2(config-l2vpn-p2p)# end
PE2# commit
PE2# confirm |
Убедимся в установлении соседства по протоколу LDP и выведем информацию по статусу виртуального канала (pseudowire) между PE1 и PE2:
Блок кода |
---|
PE2# show mpls ldp neighbor
Peer LDP ID: 1.1.1.1; Local LDP ID 2.2.2.2
State: Operational
TCP connection: 1.1.1.1:646 - 2.2.2.2:34625
Messages sent/received: 12/12
Uptime: 00:03:50
LDP discovery sources:
2.2.2.2 -> 1.1.1.1 |
Блок кода |
---|
PE2# show mpls l2vpn pseudowire
Neighbor PW ID Type Status
--------------------------------------- ---------- ---------- ------
1.1.1.1 100 Ethernet Up |
Соседство по протоколу LDP установлено, pseudowire перешел в статус 'UP'. Настройка l2vpn типа p2p завершена.
Алгоритм настройки L2VPN VPLS
...
esr(config-l2vpn)# pw-class <WORD>
...
<WORD> – имя pw-class длиной [1..31] символов.
...
esr(config-l2vpn-pw-class)# description <LINE>
...
5
...
esr(config-l2vpn-pw-class)# encapsulation
mpls mtu <MTU>
...
<MTU> – значение MTU, принимает значение в диапазоне [552..10000].
Значение по умолчанию: 1500.
...
esr(config-l2vpn-pw-class)# encapsulation
mpls status-tlv disable
...
esr(config-l2vpn)# vpls <NAME>
...
<NAME> – имя p2p-сервиса, задается строкой до 31 символа.
...
esr(config-l2vpn-vpls)# enable
...
esr (config-l2vpn-vpls)# bridge-group <ID>
...
esr(config-l2vpn-vpls)# transport-mode
{ ethenet | vlan }
...
<ethernet> – режим, при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег;
<vlan> – режим, при котором 802.1Q тег может быть сохранен при передаче через pseudo-wire.
Значение по умолчанию: ethernet.
...
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].
...
esr(config-l2vpn-pw)# description <LINE>
...
esr(config-l2vpn-pw)# pw-class <WORD>
...
<WORD> – имя pw-class длиной [1..31] символов.
...
esr(config-l2vpn-pw)# neighbor-address <ADDR>
...
Включить pseudo-wire.
...
esr(config-l2vpn-pw)# enable
...
Scroll Pagebreak |
---|
...
Задача:
Настроить 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).
На маршрутизаторе PE1 создадим бридж-группу и включим ее:
Блок кода |
---|
PE1# configure
PE1(config)# bridge 10
PE1(config-bridge)# enable
PE1(config-bridge)# exit |
Интерфейсе в сторону CE1 включим в созданную бридж-группу:
Блок кода |
---|
PE1(config)# interface gigabitethernet 1/0/4.100
PE1(config-subif)# bridge-group 10
PE1(config-subif)# exit |
Scroll Pagebreak |
---|
Блок кода |
---|
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 |
Разрешим прием пакетов с MPLS-заголовком на интерфейсе в сторону MPLS-сети (в данном примере интерфейс в сторону PE2):
Блок кода |
---|
PE1(config)# mpls
PE1(config-mpls)# forwarding interface gigabitethernet 1/0/1 |
Настроим протокол LDP и включим обнаружение соседей на интерфейсе в сторону 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 будут применяться параметры по умолчанию, достаточно будет указать имя класса:
Блок кода |
---|
PE1(config-mpls)# l2vpn
PE1(config-l2vpn)# pw-class for_vpls1
PE1(config-l2vpn-pw-class)# exit |
Создадим новый l2vpn типа vpls и добавим pw до маршрутизаторов PE2 и PE3, идентификатор pw для удобства возьмем равным VID (в данном случае равным 100):
Блок кода |
---|
PE1(config-l2vpn)# vpls vpls1
PE1(config-l2vpn-vpls)# bridge-group 10
PE1(config-l2vpn-vpls)# pw 100 2.2.2.2
PE1(config-l2vpn-pw)# pw-class for_vpls1
PE1(config-l2vpn-pw)# enable
PE1(config-l2vpn-pw)# exit
PE1(config-l2vpn-vpls)# pw 100 3.3.3.3
PE1(config-l2vpn-pw)# pw-class for_vpls1
PE1(config-l2vpn-pw)# enable
PE1(config-l2vpn-pw)# exit
PE1(config-l2vpn-vpls)# enable
PE1(config-l2vpn-vpls)# end |
Применим созданную конфигурацию:
Блок кода |
---|
PE1# commit
PE1# confirm |
Scroll Pagebreak |
---|
Блок кода |
---|
PE2# configure
PE2(config)# bridge 10
PE2(config-bridge)# enable
PE2(config-bridge)# exit
PE2(config)# interface gigabitethernet 1/0/4.100
PE2(config-subif)# bridge-group 10
PE2(config-subif)# exit
PE2(config)# interface gigabitethernet 1/0/2
PE2(config-if-gi)# mtu 9600
PE2(config-if-gi)# ip firewall disable
PE2(config-if-gi)# exit
PE2(config)# mpls
PE2(config-mpls)# forwarding interface gigabitethernet 1/0/1
PE2(config-mpls)# forwarding interface gigabitethernet 1/0/2
PE2(config-mpls)# ldp
PE2(config-ldp)# enable
PE2(config-ldp)# router-id 2.2.2.2
PE2(config-ldp)# address-family ipv4
PE2(config-ldp-af-ipv4)# transport-address 2.2.2.2
PE2(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1
PE2(config-ldp-af-ipv4-if)# exit
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)# exit
PE2(config-mpls)# l2vpn
PE2(config-l2vpn)# pw-class for_vpls1
PE2(config-l2vpn-pw-class)# exit
PE2(config-l2vpn)# vpls vpls1
PE2(config-l2vpn-vpls)# enable
PE2(config-l2vpn-vpls)# bridge-group 10
PE2(config-l2vpn-vpls)# pw 100 1.1.1.1
PE2(config-l2vpn-pw)# pw-class for_vpls1
PE2(config-l2vpn-pw)# enable
PE2(config-l2vpn-pw)# exit
PE2(config-l2vpn-vpls)# pw 100 3.3.3.3
PE2(config-l2vpn-pw)# pw-class for_vpls1
PE2(config-l2vpn-pw)# enable
PE2(config-l2vpn-pw)# end
PE2# commit
PE2# confirm
PE3(config)# bridge 10
PE3(config-bridge)# enable
PE3(config-bridge)# exit
PE3(config)# interface gigabitethernet 1/0/4.100
PE3(config-subif)# bridge-group 10
PE3(config-subif)# exit
PE3(config)# interface gigabitethernet 1/0/1
PE3(config-if-gi)# mtu 9600
PE3(config-if-gi)# ip firewall disable
PE3(config-if-gi)# exit
PE3(config)# mpls
PE3(config-mpls)# forwarding interface gigabitethernet 1/0/1
PE3(config-mpls)# exit
PE3(config)# mpls
PE3(config-mpls)# ldp |
Блок кода |
---|
PE3(config-ldp)# enable
PE3(config-ldp)# router-id 3.3.3.3
PE3(config-ldp)# address-family ipv4
PE3(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1
PE3(config-ldp-af-ipv4-if)# exit
PE3(config-ldp-af-ipv4)# transport-address 3.3.3.3
PE3(config-ldp-af-ipv4)# exit
PE3(config-ldp)# exit
PE3(config-mpls)# l2vpn
PE3(config-l2vpn)# pw-class for_vpls
PE3(config-l2vpn-pw-class)# exit
PE3(config-l2vpn)# vpls vpls1
PE3(config-l2vpn-vpls)# enable
PE3(config-l2vpn-vpls)# bridge-group 10
PE3(config-l2vpn-vpls)# pw 100 2.2.2.2
PE3(config-l2vpn-pw)# pw-class for_vpls
PE3(config-l2vpn-pw)# enable
PE3(config-l2vpn-pw)# exit
PE3(config-l2vpn-vpls)# pw 100 1.1.1.1
PE3(config-l2vpn-pw)# pw-class for_vpls
PE3(config-l2vpn-pw)# enable
PE3(config-l2vpn-pw)# end
PE3# commit
PE3# confirm |
Убедимся в установлении соседства по протоколу LDP и выведем информацию по статусу виртуального канала (pseudowire) между PE1, PE2 и PE3:
Блок кода |
---|
PE3# show mpls ldp neighbor
Peer LDP ID: 1.1.1.1; Local LDP ID 3.3.3.3
State: Operational
TCP connection: 1.1.1.1:646 - 3.3.3.3:45979
Messages sent/received: 22/22
Uptime: 00:13:16
LDP discovery sources:
3.3.3.3 -> 1.1.1.1
Peer LDP ID: 2.2.2.2; Local LDP ID 3.3.3.3
State: Operational
TCP connection: 2.2.2.2:646 - 3.3.3.3:59627
Messages sent/received: 22/22
Uptime: 00:13:20
LDP discovery sources:
3.3.3.3 -> 2.2.2.2
gigabitethernet 1/0/1
|
Блок кода |
---|
PE3# show mpls l2vpn pseudowire
Neighbor PW ID Type Status
--------------------------------------- ---------- ---------- ------
1.1.1.1 100 Ethernet Up
2.2.2.2 100 Ethernet Up |
Соседство по протоколу LDP установлено, pseudowire перешел в статус 'UP'. Настройка l2vpn завершена.
Настройка сервиса L2VPN Kompella mode
В отличии от Martini mode, где вся работа ложится на LDP, в данном режиме LDP отводится только работа с транспортными метками. Автообнаружение и построение псевдо-провода возложено на протокол BGP.
Алгоритм настройки L2VPN VPLS
...
esr(config-l2vpn)# vpls <NAME>
...
<NAME> – имя p2p-сервиса, задается строкой до 31 символа.
...
esr(config-l2vpn-vpls)# enable
...
5
...
esr(config-l2vpn-vpls)# bridge-group <ID>
...
<ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250].
...
esr(config-l2vpn-vpls)# autodiscovery bgp
...
esr(config-bgp)# rd <RD>
...
<RD> – значение Route distinguisher, задается в одном из следующих видов:
- <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
- <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
- <4ASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
...
esr(config-bgp)# route-target import <RT>
...
<RT> – значение route-target, задается в одном из следующих видов:
- <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
- <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
- <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
...
esr(config-bgp)# route-target export <RT>
...
<RT> – значение route-target, задается в одном из следующих видов:
- <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
- <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
- <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
...
esr(config-bgp)# ve id <ID>
...
<ID> – идентификатор экземпляра VPLS, задается в виде числа в диапазоне [1..16384].
...
esr (config-bgp)# vpn id <ID>
...
<ID> – идентификатор VPN, задается в виде числа в диапазоне [1..4294967295].
...
esr (config-bgp)# ve range <RANGE>
...
esr (config-bgp)# mtu <VALUE>
...
<VALUE> – значение MTU [552..10000].
...
esr(config-bgp)# ignore encapsulation-mismatch
...
Включить игнорирование значений MTU (не обязательно).
...
esr(config-bgp)# ignore mtu-mismatch
...
Пример настройки L2VPN VPLS
Задача:
...
Scroll Pagebreak |
---|
Решение:
Предварительно необходимо:
Включить поддержку Jumbo-фреймов с помощью команды system jumbo-frames (для вступления изменений в силу требуется перезагрузка устройства);
- Настроить IP-адреса на интерфейсах согласно схеме сети, приведенной на рисунке выше;
- Организовать обмен маршрутами между PE1, PE2, PE3 и RR при помощи IGP-протокола (OSPF, IS-IS).
Настроим маршрутизатор RR:
Блок кода |
---|
hostname RR
system jumbo-frames
router ospf 1
area 0.0.0.0
enable
exit
enable
exit
interface gigabitethernet 1/0/2
mtu 9500
ip firewall disable
ip address 10.30.0.2/30
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/3
mtu 9500
ip firewall disable
ip address 10.31.0.2/30
ip ospf instance 1
ip ospf
exit
interface loopback 1
ip address 10.10.0.4/32
ip ospf instance 1
ip ospf
exit
mpls
ldp
router-id 10.10.0.4
address-family ipv4
interface gigabitethernet 1/0/2
exit
interface gigabitethernet 1/0/3
exit
exit
enable
exit
forwarding interface gigabitethernet 1/0/2
forwarding interface gigabitethernet 1/0/3
exit |
Scroll Pagebreak |
---|
...
Блок кода |
---|
RR(config)# router bgp 65500
RR(config-bgp)# router-id 10.10.0.4
RR(config-bgp)# neighbor 10.10.0.1
RR(config-bgp-neighbor)# remote-as 65500
RR(config-bgp-neighbor)# route-reflector-client
RR(config-bgp-neighbor)# update-source 10.10.0.4
RR(config-bgp-neighbor)# address-family l2vpn vpls
RR(config-bgp-neighbor-af)# send-community extended
RR(config-bgp-neighbor-af)# enable
RR(config-bgp-neighbor-af)# exit
RR(config-bgp-neighbor)# enable
RR(config-bgp-neighbor)# exit
RR(config-bgp)# neighbor 10.10.0.2
RR(config-bgp-neighbor)# remote-as 65500
RR(config-bgp-neighbor)# route-reflector-client
RR(config-bgp-neighbor)# update-source 10.10.0.4
RR(config-bgp-neighbor)# address-family l2vpn vpls
RR(config-bgp-neighbor-af)# send-community extended
RR(config-bgp-neighbor-af)# enable
RR(config-bgp-neighbor-af)# exit
RR(config-bgp-neighbor)# enable
RR(config-bgp-neighbor)# exit
RR(config-bgp)# neighbor 10.10.0.3
RR(config-bgp-neighbor)# remote-as 65500
RR(config-bgp-neighbor)# route-reflector-client
RR(config-bgp-neighbor)# update-source 10.10.0.4
RR(config-bgp-neighbor)# address-family l2vpn vpls
RR(config-bgp-neighbor-af)# send-community extended
RR(config-bgp-neighbor-af)# enable
RR(config-bgp-neighbor-af)# exit
RR(config-bgp-neighbor)# enable
RR(config-bgp-neighbor)# exit
RR(config-bgp)# enable
|
Настройка протокола BGP на PE-маршрутизаторах:
Блок кода | ||
---|---|---|
| ||
hostname PE1
system jumbo-frames
router ospf 1
area 0.0.0.0
enable
exit
enable
exit
interface gigabitethernet 1/0/1
mtu 9500 |
Блок кода | ||
---|---|---|
| ||
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
|
Проверим, что BGP-сессия успешно установлена с RR:
Блок кода |
---|
` PE1# show bgp neighbors
BGP neighbor is 10.10.0.4
BGP state: Established
Neighbor address: 10.10.0.4
Neighbor AS: 65500
Neighbor ID: 10.10.0.4
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: internal multihop AS4
Source address: 10.10.0.1
Weight: 0
Hold timer: 110/180
Keepalive timer: 21/60
Uptime: 7375 s |
Настройка BGP на PE2:
Блок кода | ||
---|---|---|
| ||
hostname PE2
system jumbo-frames
router ospf 1
area 0.0.0.0
enable
exit
enable
exit |
Блок кода | ||
---|---|---|
| ||
interface gigabitethernet 1/0/1
mtu 9500
ip firewall disable
ip address 10.20.0.2/30
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/2
mtu 9500
ip firewall disable
ip address 10.21.0.1/30
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/3
mtu 9500
ip firewall disable
ip address 10.31.0.1/30
ip ospf instance 1
ip ospf
exit
interface loopback 1
ip address 10.10.0.2/32
ip ospf instance 1
ip ospf
exit
mpls
ldp
router-id 10.10.0.2
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 |
Блок кода |
---|
PE2(config)# router bgp 65500
PE2(config-bgp)# router-id 10.10.0.2
PE2(config-bgp)# neighbor 10.10.0.4
PE2(config-bgp-neighbor)# remote-as 65500
PE2(config-bgp-neighbor)# update-source 10.10.0.2
PE2(config-bgp-neighbor)# address-family l2vpn vpls
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)# exit
|
Убедимся, что сессия с RR поднялась успешно:
Блок кода |
---|
PE2# show bgp neighbors
BGP neighbor is 10.10.0.4
BGP state: Established
Neighbor address: 10.10.0.4
Neighbor AS: 65500
Neighbor ID: 10.10.0.4
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: internal multihop AS4
Source address: 10.10.0.2
Weight: 0
Hold timer: 113/180
Keepalive timer: 56/60
Uptime: 47 s |
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
hostname PE3
system jumbo-frames
router ospf 1
area 0.0.0.0
enable
exit
enable
exit
interface gigabitethernet 1/0/2
mtu 9500
ip firewall disable
ip address 10.21.0.2/30
ip ospf instance 1
ip ospf
exit
interface gigabitethernet 1/0/3
mtu 9500
ip firewall disable
ip address 10.22.0.2/30
ip ospf instance 1
ip ospf
exit
interface loopback 1
ip address 10.10.0.3/24
ip ospf instance 1
ip ospf
exit
mpls
ldp
router-id 10.10.0.3
address-family ipv4
interface gigabitethernet 1/0/2
exit
interface gigabitethernet 1/0/3
exit
exit
enable
exit
forwarding interface gigabitethernet 1/0/2
forwarding interface gigabitethernet 1/0/3
exit |
Блок кода |
---|
PE3(config)# router bgp 65500
PE3(config-bgp)# router-id 10.10.0.3
PE3(config-bgp)# neighbor 10.10.0.4
PE3(config-bgp-neighbor)# remote-as 65500
PE3(config-bgp-neighbor)# update-source 10.10.0.3
PE3(config-bgp-neighbor)# address-family l2vpn vpls
PE3(config-bgp-neighbor-af)# send-community extended
PE3(config-bgp-neighbor-af)# enable
PE3(config-bgp-neighbor-af)# exit
PE3(config-bgp-neighbor)# enable
PE3(config-bgp-neighbor)# exit
PE3(config-bgp)# enable
PE3(config-bgp)# exit
|
Проверим, что сессия BGP установлена успешно:
Блок кода |
---|
PE3# show bgp neighbors
BGP neighbor is 10.10.0.4
BGP state: Established
Neighbor address: 10.10.0.4
Neighbor AS: 65500
Neighbor ID: 10.10.0.4
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: internal multihop AS4
Source address: 10.10.0.3
Weight: 0
Hold timer: 141/180
Keepalive timer: 27/60
Uptime: 77 s |
Следующим этапом на каждом PE-маршрутизаторе создадим бридж-домен и включим в него интерфейс (Attachment circuit, AC), смотрящий в сторону CE:
PE1:
Блок кода |
---|
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 |
---|
Проверим, что интерфейс включен в бридж-домен:
Блок кода |
---|
PE1# show interfaces bridge
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 1 gi1/0/4
PE1# sh interfaces status bridge 1
Interface 'bridge 1' status information:
Description: --
Operational state: Up
Administrative state: Up
Supports broadcast: Yes
Supports multicast: Yes
MTU: 1500
MAC address: a8:f9:4b:ac:4d:15
Last change: 4 minutes and 22 seconds
Mode: Routerport
|
PE2:
Блок кода |
---|
PE2(config)# bridge 1
PE2(config-bridge)# enable
PE2(config-bridge)# exit
PE2(config)# interface gigabitethernet 1/0/4
PE2(config-if-gi)# mode switchport
PE2(config-if-gi)# bridge-group 1
|
Блок кода |
---|
PE2# show interfaces bridge 1
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 1 gi1/0/4
PE2# sh interfaces status bridge 1
Interface 'bridge 1' status information:
Description: --
Operational state: Up
Administrative state: Up
Supports broadcast: Yes
Supports multicast: Yes
MTU: 1500
MAC address: a8:f9:4b:ad:f2:45
Last change: 10 seconds
Mode: routerport
|
PE3:
Блок кода |
---|
PE3(config)# bridge 1
PE3(config-bridge)# enable
PE3(config-bridge)# exit
PE3(config)# interface gigabitethernet 1/0/4
PE3(config-if-gi)# mode switchport
PE3(config-if-gi)# bridge-group 1
|
Блок кода |
---|
PE3# show interfaces bridge
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 1 gi1/0/4
PE3# sh interfaces status bridge
Interface Admin Link MTU MAC address Last change Mode
state state
------------------ ----- ----- ------ ------------------ ------------------------- ----------
bridge 1 Up Up 1500 a8:f9:4b:ac:df:f0 1 minute and 21 seconds Routerport
PE3# sh interfaces status bridge 1
Interface 'bridge 1' status information:
Description: --
Operational state: Up
Administrative state: Up
Supports broadcast: Yes
Supports multicast: Yes
MTU: 1500
MAC address: a8:f9:4b:ac:df:f0
Last change: 1 minute and 24 seconds
Mode: Routerport
|
Далее выполним настройку VPLS:
PE1:
Переходим в контекст настройки L2VPN и включим в него заранее созданный бридж-домен.
Блок кода |
---|
PE1(config)# mpls
PE1(config-mpls)# l2vpn
PE1(config-l2vpn)# vpls l2vpn
PE1(config-l2vpn-vpls)# bridge-group 1
|
Укажем 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. |
Блок кода |
---|
PE1(config-l2vpn-vpls)# autodiscovery bgp
PE1(config-bgp)# rd 65500:100
PE1(config-bgp)# route-target import 65500:100
PE1(config-bgp)# route-target export 65500:100
PE1(config-bgp)# ve id 1
PE1(config-bgp)# vpn id 1
PE1(config-bgp)# exit
PE1(config-l2vpn-vpls)# enable
|
После активации сервиса проверим, что в таблице l2vpn появилась маршрутная информация и она анонсируется на RR:
Блок кода |
---|
PE1# show bgp l2vpn vpls all
Status codes: * - valid, > - best, i - internal, S - stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Codes Route Distinguisher VID VBO VBS Next hop Metric LocPrf Weight Path
----- --------------------- ----- ----- ----- --------------- ---------- ---------- ------ -------------------
*> 65500:100 1 1 10 -- -- -- --
PE1# show bgp l2vpn vpls all neighbor 10.10.0.4 advertise-routes
Origin codes: i - IGP, e - EGP, ? - incomplete
Route Distinguisher VID VBO VBS Next hop Metric LocPrf Path
--------------------- ----- ----- ----- --------------- ---------- ---------- ----------------------
65500:100 1 1 10 10.10.0.1 -- 100 i
* Подробный вывод анонсированного маршрута *
PE1# show bgp l2vpn vpls all neighbor 10.10.0.4 advertise-routes ve-id 1 block
-offset 1
BGP routing table entry for 65500:100 VE ID 1 VE Block Offset 1
VE Block Size: 10
Label Base: 86
Next hop: 10.10.0.1
AS path: --
Origin: IGP
Local preference: 100
Extended Community: RT:65500:100
Layer2-info: encaps (VPLS), control flags(0x00), MTU (1500) |
Переходим к настройке PE2:
Блок кода |
---|
PE2(config-mpls)# l2vpn
PE2(config-l2vpn)# vpls l2vpn
PE2(config-l2vpn-vpls)# bridge-group 1
PE2(config-l2vpn-vpls)# autodiscovery bgp
PE2(config-bgp)# rd 65500:100
|
Блок кода |
---|
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 bgp l2vpn vpls all neighbor 10.10.0.4 advertise-routes
Origin codes: i - IGP, e - EGP, ? - incomplete
Route Distinguisher VID VBO VBS Next hop Metric LocPrf Path
--------------------- ----- ----- ----- --------------- ---------- ---------- ----------------------
65500:100 2 1 10 10.10.0.2 -- 100 i
|
В таблице l2vpn видны как и свои маршруты, так и от PE1:
Блок кода |
---|
PE2# show bgp l2vpn vpls all
Status codes: * - valid, > - best, i - internal, S - stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Codes Route Distinguisher VID VBO VBS Next hop Metric LocPrf Weight Path
----- --------------------- ----- ----- ----- --------------- ---------- ---------- ------ -------------------
*> 65500:100 2 1 10 -- -- -- --
*>i 65500:100 1 1 10 10.10.0.1 -- 100 0 i
|
...
Просмотреть вычисленные сервисные метки можно следующим образом:
Блок кода | ||
---|---|---|
| ||
PE2# show mpls l2vpn bindings
Neighbor: 10.10.0.1, PW ID: 2, VE ID: 1
Local label: 45
Encasulation Type: VPLS
Control flags: 0x00
MTU: 1500
Remote label: 87
Encasulation Type: VPLS
Control flags: 0x00
MTU: 1500 |
Блок кода | ||
---|---|---|
| ||
PE2# show mpls forwarding-table
Local Outgoing Prefix Outgoing Next Hop
label label or tunnel ID Interface
-------- -------- ----------------- ---------------- ----------------------------------
45 87 PW ID 2 -- 10.10.0.1 |
Scroll Pagebreak |
---|
Блок кода |
---|
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:
Блок кода |
---|
PE3# show bgp l2vpn vpls all
Status codes: * - valid, > - best, i - internal, S - stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Codes Route Distinguisher VID VBO VBS Next hop Metric LocPrf Weight Path
----- --------------------- ----- ----- ----- --------------- ---------- ---------- ------ -------------------
*> 65500:100 3 1 10 -- -- -- --
*>i 65500:100 2 1 10 10.10.0.2 -- 100 0 i
*>i 65500:100 1 1 10 10.10.0.1 -- 100 0 i
|
Убедимся, что PE3 анонсирует маршрутную информацию на RR:
Блок кода |
---|
PE3# show bgp l2vpn vpls all neighbor 10.10.0.4 advertise-routes
Origin codes: i - IGP, e - EGP, ? - incomplete
Route Distinguisher VID VBO VBS Next hop Metric LocPrf Path
--------------------- ----- ----- ----- --------------- ---------- ---------- ----------------------
65500:100 3 1 10 10.10.0.3 -- 100 i
|
Проверим, что псевдо-провод построен до обеих 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
|
Проверим сетевую доступность клиентских устройств (СЕ):
Блок кода |
---|
CE3# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
!!!!!
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 0.173/0.208/0.290/0.045 ms
CE3# ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
!!!!!
--- 192.168.0.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 0.158/0.204/0.255/0.032 ms
PE3# sh mac address-table bridge 1
VID MAC Address Interface Type
----- ------------------ ------------------------------ -------
-- a8:f9:4b:aa:11:08 gigabitethernet 1/0/4 Dynamic
-- a8:f9:4b:aa:11:06 dypseudowire 3_10.10.0.1 Dynamic
-- a8:f9:4b:aa:11:07 dypseudowire 3_10.10.0.2 Dynamic
3 valid mac entries
|
Настройка L2VPN-сервиса завершена.
Настройка сервиса L3VPN
Сервис L3VPN позволяет объединить распределенные клиентские IP-сети и обеспечить передачу трафика между ними с рамках единой VRF.
Примечание |
---|
В текущей реализации протокола MP-BGP поддержана передача только VPN-IPv4 маршрутов (AFI = 1, SAFI = 128). |
Алгоритм настройки
...
Настроить адресацию и один из протоколов IGP на всех P и PE-маршрутизаторах.
...
Настроить распространение транспортных меток по протоколу LDP.
...
3
...
Создать VRF.
...
esr(config)# ip vrf <VRF>
...
esr(config-vrf)# rd <RD>
...
<RD> – значение Route distinguisher, задается в одном из следующих видов:
- <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
- <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
- <4ASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
...
esr(config-vrf)# route-target import <RT>
...
<RT> – значение route-target, задается в одном из следующих видов:
- <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
- <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
- <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
...
esr(config-vrf)# route-target export <RT>
...
<RT> – значение route-target, задается в одном из следующих видов:
- <ASN>:<nn> – где <ASN> – принимает значение [1..65535], nn – принимает значение [1..65535];
- <ADDR>:<nn> – где <ADDR> имеет вид – AAA.BBB.CCC.DDD/EE и AAA-DDD принимают значения [0..255], а nn – принимает значение [1..65535];
- <4BASN>:<nn> – где <4ASN> – принимает значение [1..4294967295], nn – принимает значение [1..65535].
...
esr(config-vrf)# ip protocols <PROTOCOLS> max-routes <VALUE>
...
<PROTOCOL> – вид протокола, принимает значения: rip (только в глобальном режиме), ospf, isis, bgp;
<VALUE> – количество маршрутов в маршрутной таблице, принимает значения в диапазоне:
- BGP: ESR-1000/1200/
1500/1511/1700/
3100/3200/3200L/
3300/ – [1..5000000];
ESR-20/21/30/31/
100/200 – [1..2500000];
ESR-10/12V/12VF/15/
15R/15VF –
[1.. 1000000].
- OSPF и IS-IS: ESR-1000/
1200/1500/1511/1700/
3100/3200/3200L/
3300 – [1..500000];
ESR-20/21/30/31/100/
200 – [1..300000];
ESR-10/12V/12VF/15/
15VF/15R – [1..30000].
...
В рамках настройки 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 |
Блок кода | ||
---|---|---|
| ||
ESR2(config)# router ospf log-adjacency-changes
ESR2(config)# router ospf 1
ESR2(config-ospf)# router-id 2.2.2.2
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 loopback 1
ESR2(config-loopback)# ip address 2.2.2.2/32
ESR2(config-loopback)# ip ospf instance 1
ESR2(config-loopback)# ip ospf
ESR2(config-loopback)# exit
ESR2(config)#
ESR2(config)# interface gigabitethernet 1/0/1.10
ESR2(config-subif)# ip firewall disable
ESR2(config-subif)# ip address 10.10.10.2/30
ESR2(config-subif)# ip ospf instance 1
ESR2(config-subif)# ip ospf
ESR2(config-subif)# exit
ESR2(config)#
ESR2(config)# interface gigabitethernet 1/0/1.20
ESR2(config-subif)# ip firewall disable
ESR2(config-subif)# ip address 20.20.20.2/30
ESR2(config-subif)# ip ospf instance 1
ESR2(config-subif)# ip ospf
ESR2(config-subif)# exit
ESR2(config)#
ESR2(config)# system jumbo-frames
ESR2(config)# do commit
ESR2(config)# do confirm |
Блок кода | ||
---|---|---|
| ||
ESR3(config)# router ospf log-adjacency-changes
ESR3(config)# router ospf 1
ESR3(config-ospf)# router-id 3.3.3.3
ESR3(config-ospf)# area 0.0.0.0
ESR3(config-ospf-area)# enable
ESR3(config-ospf-area)# exit
ESR3(config-ospf)# enable
ESR3(config-ospf)# exit
ESR3(config)#
ESR3(config)# interface loopback 1
ESR3(config-loopback)# ip address 3.3.3.3/32
ESR3(config-loopback)# ip ospf instance 1
ESR3(config-loopback)# ip ospf
ESR3(config-loopback)# exit
ESR3(config)#
ESR3(config)# interface gigabitethernet 1/0/1.20
ESR3(config-subif)# ip firewall disable
ESR3(config-subif)# ip address 20.20.20.1/30
ESR3(config-subif)# ip ospf instance 1
ESR3(config-subif)# ip ospf
ESR3(config-subif)# exit
ESR3(config)#
ESR3(config)# interface gigabitethernet 1/0/1.30
ESR3(config-subif)# ip firewall disable
ESR3(config-subif)# ip address 30.30.30.1/30
ESR3(config-subif)# ip ospf instance 1
ESR3(config-subif)# ip ospf
ESR3(config-subif)# exit
ESR3(config)#
ESR3(config)# system jumbo-frames
ESR3(config)# do commit
ESR3(config)# do confirm |
Блок кода | ||
---|---|---|
| ||
ESR4(config)# router ospf log-adjacency-changes
ESR4(config)# router ospf 1
ESR4(config-ospf)# router-id 4.4.4.4
ESR4(config-ospf)# area 0.0.0.0
ESR4(config-ospf-area)# enable
ESR4(config-ospf-area)# exit
ESR4(config-ospf)# enable
ESR4(config-ospf)# exit
ESR4(config)#
ESR4(config)# interface loopback 1
ESR4(config-loopback)# ip address 4.4.4.4/32
ESR4(config-loopback)# ip ospf instance 1
ESR4(config-loopback)# ip ospf
ESR4(config-loopback)# exit
ESR4(config)#
ESR4(config)# interface gigabitethernet 1/0/1.40
ESR4(config-subif)# ip firewall disable
ESR4(config-subif)# ip address 40.40.40.2/30
ESR4(config-subif)# ip ospf instance 1
ESR4(config-subif)# ip ospf
ESR4(config-subif)# exit
ESR4(config)#
ESR4(config)# interface gigabitethernet 1/0/1.30
ESR4(config-subif)# ip firewall disable
ESR4(config-subif)# ip address 30.30.30.2/30
ESR4(config-subif)# ip ospf instance 1
ESR4(config-subif)# ip ospf
ESR4(config-subif)# exit
ESR4(config)#
ESR4(config)# system jumbo-frames
ESR4(config)# do commit
ESR4(config)# do confirm |
Scroll Pagebreak |
---|
Блок кода |
---|
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 |
Блок кода | ||
---|---|---|
| ||
ESR2# config
ESR2(config)# mpls
ESR2(config-mpls)# ldp
ESR2(config-ldp)# address-family ipv4
ESR2(config-ldp-af-ipv4)# transport-address 2.2.2.2
ESR2(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.10
ESR2(config-ldp-af-ipv4-if)# exit
ESR2(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.20
ESR2(config-ldp-af-ipv4-if)# exit
ESR2(config-ldp-af-ipv4)# exit
ESR2(config-ldp)# enable
ESR2(config-ldp)# exit
ESR2(config-mpls)# forwarding interface gigabitethernet 1/0/1.10
ESR2(config-mpls)# forwarding interface gigabitethernet 1/0/1.20
ESR2(config-mpls)# exit
ESR2(config)# do commit
ESR2(config)# do confirm |
Блок кода | ||
---|---|---|
| ||
ESR3# config
ESR3(config)# mpls
ESR3(config-mpls)# ldp
ESR3(config-ldp)# address-family ipv4
ESR3(config-ldp-af-ipv4)# transport-address 3.3.3.3
ESR3(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.20
ESR3(config-ldp-af-ipv4-if)# exit
ESR3(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.30
ESR3(config-ldp-af-ipv4-if)# exit
ESR3(config-ldp-af-ipv4)# exit
ESR3(config-ldp)# enable
ESR3(config-ldp)# exit
ESR3(config-mpls)# forwarding interface gigabitethernet 1/0/1.20
ESR3(config-mpls)# forwarding interface gigabitethernet 1/0/1.30
ESR3(config-mpls)# exit
ESR3(config)# do commit
ESR3(config)# do confirm |
Блок кода | ||
---|---|---|
| ||
ESR4# config
ESR4(config)# mpls
ESR4(config-mpls)# ldp
ESR4(config-ldp)# address-family ipv4
ESR4(config-ldp-af-ipv4)# transport-address 4.4.4.4
ESR4(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.30
ESR4(config-ldp-af-ipv4-if)# exit
ESR4(config-ldp-af-ipv4)# interface gigabitethernet 1/0/1.40
ESR4(config-ldp-af-ipv4-if)# exit
ESR4(config-ldp-af-ipv4)# exit
ESR4(config-ldp)# enable
ESR4(config-ldp)# exit
ESR4(config-mpls)# forwarding interface gigabitethernet 1/0/1.30
ESR4(config-mpls)# forwarding interface gigabitethernet 1/0/1.40
ESR4(config-mpls)# exit
ESR4(config)# do commit
ESR4(config)# do confirm |
Для проверки сходимости LDP можно воспользоваться одной из следующих команд:
Блок кода |
---|
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:
Примечание |
---|
Без указания атрибутов RD и RT маршрутная информация не попадет в таблицу VPNv4. |
Блок кода | ||
---|---|---|
| ||
ESR1(config)# ip vrf Customer1
ESR1(config-vrf)# ip protocols bgp max-routes 1000
ESR1(config-vrf)# rd 65500:100
ESR1(config-vrf)# route-target import 65500:100
ESR1(config-vrf)# route-target export 65500:100
ESR1(config-vrf)# exit
ESR1(config)# interface gigabitethernet 1/0/2
ESR1(config-if-gi)# ip vrf forwarding Customer1
ESR1(config-if-gi)# description "Customer1"
ESR1(config-if-gi)# ip firewall disable
ESR1(config-if-gi)# ip address 192.168.32.1/30
ESR1(config-if-gi)# exit
ESR1(config)# route-map OUTPUT
ESR1(config-route-map)# rule 1
ESR1(config-route-map-rule)# action permit
ESR1(config-route-map-rule)# exit
ESR1(config-route-map)# exit
ESR1(config)# do commit
ESR1(config)# do confirm |
Блок кода | ||
---|---|---|
| ||
ESR3(config)# ip vrf Customer1
ESR3(config-vrf)# ip protocols bgp max-routes 1000
ESR3(config-vrf)# rd 65500:100
ESR3(config-vrf)# route-target export 65500:100
ESR3(config-vrf)# route-target import 65500:100
ESR3(config-vrf)# exit
ESR3(config)# interface gigabitethernet 1/0/2
ESR3(config-if-gi)# ip vrf forwarding Customer1
ESR3(config-if-gi)# description "Customer1"
ESR3(config-if-gi)# ip firewall disable
ESR3(config-if-gi)# ip address 192.168.32.5/30
ESR3(config-if-gi)# exit
ESR3(config)# route-map OUTPUT
ESR3(config-route-map)# rule 1
ESR3(config-route-map-rule)# action permit
ESR3(config-route-map-rule)# exit
ESR3(config-route-map)# exit
ESR3(config)# do commit
ESR3(config)# do confirm |
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
ESR1(config)# router bgp log-neighbor-changes
ESR1(config)# router bgp 65500
ESR1(config-bgp)# router-id 1.1.1.1
ESR1(config-bgp)# enable
ESR1(config-bgp)# neighbor 3.3.3.3
ESR1(config-bgp-neighbor)# remote-as 65500
ESR1(config-bgp-neighbor)# update-source 1.1.1.1
ESR1(config-bgp-neighbor)# enable
ESR1(config-bgp-neighbor)# address-family vpnv4 unicast
ESR1(config-bgp-neighbor-af)# send-community extended
ESR1(config-bgp-neighbor-af)# enable
ESR1(config-bgp-neighbor-af)# exit
ESR1(config-bgp-neighbor)# exit
ESR1(config-bgp)# exit
ESR1(config)# do commit
ESR1(config)# do confirm |
Блок кода | ||
---|---|---|
| ||
ESR3(config)# router bgp log-neighbor-changes
ESR3(config)# router bgp 65500
ESR3(config-bgp)# router-id 3.3.3.3
ESR3(config-bgp)# enable
ESR3(config-bgp)# neighbor 1.1.1.1
ESR3(config-bgp-neighbor)# remote-as 65500
ESR3(config-bgp-neighbor)# update-source 3.3.3.3
ESR3(config-bgp-neighbor)# enable
ESR3(config-bgp-neighbor)# address-family vpnv4 unicast
ESR3(config-bgp-neighbor-af)# send-community extended
ESR3(config-bgp-neighbor-af)# enable
ESR3(config-bgp-neighbor-af)# exit
ESR3(config-bgp-neighbor)# exit
ESR3(config-bgp)# exit
ESR3(config)# do commit
ESR3(config)# do confirm |
Scroll Pagebreak |
---|
Блок кода |
---|
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.
Предупреждение |
---|
По умолчанию для eBGP анонсирование маршрутов запрещено, необходимо настроить разрешающее правило. Для iBGP анонсирование маршрутов разрешено. |
Scroll Pagebreak |
---|
Необходимая конфигурация на маршрутизаторе CE-SiteA:
Блок кода | ||
---|---|---|
| ||
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 |
---|
Создадим eBGP-сессию с CE_SiteA и разрешим передачу маршрутов BGP-пиру:
Блок кода | ||
---|---|---|
| ||
ESR1(config)# router bgp 65500
ESR1(config-bgp)# vrf Customer1
ESR1(config-bgp-vrf)# router-id 192.168.32.1
ESR1(config-bgp-vrf)# neighbor 192.168.32.2
ESR1(config-bgp-vrf-neighbor)# remote-as 65505
ESR1(config-bgp-vrf-neighbor)# update-source 192.168.32.1
ESR1(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR1(config-bgp-neighbor-af-vrf)# route-map OUTPUT out
ESR1(config-bgp-neighbor-af-vrf)# enable
ESR1(config-bgp-neighbor-af-vrf)# exit
ESR1(config-bgp-vrf-neighbor)# enable
ESR1(config-bgp-vrf-neighbor)# exit
ESR1(config-bgp-vrf)# address-family ipv4 unicast
ESR1(config-bgp-vrf-af)# redistribute connected
ESR1(config-bgp-vrf-af)# redistribute bgp 65500
ESR1(config-bgp-vrf-af)# exit
ESR1(config-bgp-vrf)# enable
ESR1(config-bgp-vrf)# exit
ESR1(config-bgp)# exit
ESR1(config)# do commit
ESR1(config)# do confirm
|
...
При передаче маршрутов из VRF в таблицу VPNv4 достаточно настроить передачу (redistribute) маршрутов в этом VRF.
Пример конфигурации передачи в VPNv4 таблицу connected- и static-сетей:
Блок кода |
---|
ESR1(config)# router bgp 65500
ESR1(config-bgp)# router-id 1.1.1.1
ESR1(config-bgp)# neighbor 3.3.3.3
ESR1(config-bgp-neighbor)# remote-as 65500
ESR1(config-bgp-neighbor)# update-source 1.1.1.1
ESR1(config-bgp-neighbor)# enable
ESR1(config-bgp-neighbor)# address-family vpnv4 unicast
ESR1(config-bgp-neighbor-af)# send-community extended
ESR1(config-bgp-neighbor-af)# enable
ESR1(config-bgp-neighbor-af)# exit
ESR1(config-bgp-neighbor)# exit
ESR1(config-bgp)# enable
EESR1(config-bgp)# vrf Customer1
ESR1(config-bgp-vrf)# address-family ipv4 unicast
ESR1(config-bgp-vrf-af)# redistribute connected
ESR1(config-bgp-vrf-af)# redistribute static
ESR1(config-bgp-vrf-af)# exit
ESR1(config-bgp-vrf)# exit
ESR1(config-bgp)# exit
ESR1(config)# do commit
ESR1(config)# do confirm
|
Для проверки принятых и анонсированных маршрутов можно воспользоваться следующими командами:
Блок кода |
---|
ESR1# show bgp vpnv4 unicast vrf Customer1 neighbors 192.168.32.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 10.100.1.0/24 192.168.32.1 100 65500 i
*> u 192.168.32.4/30 192.168.32.1 100 65500 i |
Вывод анонсируемых маршрутов для определенного пира. Маршрутная информация отображается после применения фильтрации:
Блок кода |
---|
ESR1# show bgp vpnv4 unicast vrf Customer1 neighbors 192.168.32.2 routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 10.100.0.0/24 192.168.32.2 100 0 65505 |
Вывод принятой маршрутной информации от определенного пира. Маршрутная информация отображается после применения фильтрации.
Scroll Pagebreak |
---|
CE-SiteB
Необходимо проделать схожие операции между маршрутизаторами ESR3 и CE_SiteB.
Произвести настройку соответствующих интерфейсов и создать eBGP-сессию между ESR3 и CE_SiteB:
Блок кода | ||
---|---|---|
| ||
CE-SiteB(config)# interface gigabitethernet 1/0/2
CE-SiteB(config-if-gi)# ip firewall disable
CE-SiteB(config-if-gi)# ip address 192.168.32.6/30
CE-SiteB(config-if-gi)# exit
CE-SiteB(config)#
CE-SiteB(config)# interface loopback 1
CE-SiteB(config-loopback)# ip address 10.100.1.1/24
CE-SiteB(config-loopback)# exit
CE-SiteB(config)#
CE-SiteB(config)# route-map OUTPUT
CE-SiteB(config-route-map)# rule 1
CE-SiteB(config-route-map-rule)# match ip address 10.100.1.0/24
CE-SiteB(config-route-map-rule)# action permit
CE-SiteB(config-route-map-rule)# exit
CE-SiteB(config-route-map)# exit
CE-SiteB(config)#
CE-SiteB(config)# router bgp 65505
CE-SiteB(config-bgp)# router-id 192.168.32.6
CE-SiteB(config-bgp)# neighbor 192.168.32.5
CE-SiteB(config-bgp-neighbor)# remote-as 65500
CE-SiteB(config-bgp-neighbor)# allow-local-as 1
CE-SiteB(config-bgp-neighbor)# update-source 192.168.32.6
CE-SiteB(config-bgp-neighbor)# address-family ipv4 unicast
CE-SiteB(config-bgp-neighbor-af)# route-map OUTPUT out
CE-SiteB(config-bgp-neighbor-af)# enable
CE-SiteB(config-bgp-neighbor-af)# exit
CE-SiteB(config-bgp-neighbor)# enable
CE-SiteB(config-bgp-neighbor)# exit
CE-SiteB(config-bgp)# address-family ipv4 unicast
CE-SiteB(config-bgp-af)# network 10.100.1.0/24
CE-SiteB(config-bgp-af)# exit
CE-SiteB(config-bgp)# enable
CE-SiteB(config-bgp)# exit
CE-SiteB(config)# do commit
CE-SiteB(config)# do confirm
|
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
router bgp 65500
ESR3(config)# router bgp 65500
ESR3(config-bgp)# vrf Customer1
ESR3(config-bgp-vrf)# router-id 192.168.32.5
ESR3(config-bgp-vrf)# neighbor 192.168.32.6
ESR3(config-bgp-vrf-neighbor)# remote-as 65505
ESR3(config-bgp-vrf-neighbor)# update-source 192.168.32.5
ESR3(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR3(config-bgp-neighbor-af-vrf)# route-map OUTPUT out
ESR3(config-bgp-neighbor-af-vrf)# enable
ESR3(config-bgp-neighbor-af-vrf)# exit
ESR3(config-bgp-vrf-neighbor)# enable
ESR3(config-bgp-vrf-neighbor)# exit
ESR3(config-bgp-vrf)# address-family ipv4 unicast
ESR3(config-bgp-vrf-af)# redistribute connected
ESR3(config-bgp-vrf-af)# redistribute bgp 65500
ESR3(config-bgp-vrf-af)# exit
ESR3(config-bgp-vrf)# enable
ESR3(config-bgp-vrf)# exit
ESR3(config-bgp)# exit
ESR3(config)# do commit
ESR3(config)# do confirm
|
Для просмотра VPNv4-таблицы воспользоваться командой:
Блок кода |
---|
ESR1# show 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:100 10.100.0.0/24 -- -- 23 -- -- ?
*>i 65500:100 192.168.32.4/30 3.3.3.3 -- 84 100 0 i
*>i 65500:100 10.100.1.0/24 3.3.3.3 -- 84 100 0 i |
Данная команда выводит все принятые VPNv4-маршруты после применения фильтрации.
Балансировка трафика MPLS
Маршрутизаторы ESR имеют многоядерную архитектуру. Одним из первых звеньев обработки поступающего трафика является load balancer daemon (lbd), который выполняет две основных функции:
- Равномерно распределяет нагрузку между всеми CPU маршрутизатора.
- Выявляет аномальные ситуации с высокой нагрузкой на отдельные 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;
- В расчет хеша добавляется не более трёх меток.
Примечание |
---|
Во избежание падения 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) и связать все данные элементы с бридж-доменом.
Информация |
---|
Для 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-aware».
Бридж-домен может работать в двух транспортных режимах: ethernet или vlan. Транспортный режим задает правила обработки трафика на входе и выходе с бридж-домена.
В LDP signaling по умолчанию используется ethernet mode (Raw mode, type 5). Для каждого отдельного экземпляра VPLS можно задать транспортный режим.
В BGP signaling бридж-домен работает только в ethernet mode.
Блок кода |
---|
PE1# config
PE1(config)# mpls
PE1(config-mpls)# l2vpn
PE1(config-l2vpn)# vpls MARTINI_br
PE1(config-l2vpn-vpls)# transport-mode vlan
PE1# sh mpls l2vpn pseudowire
Neighbor PW ID Sig Type Status
--------------------------------------- ---------- --- ---------- ------
10.10.0.2 200 LDP Eth Tagged Up |
Примечание |
---|
В LDP signaling транспортный режим согласуется между PE в процессе создания псевдо-провода, поэтому он должен совпадать на обоих PE. |
Рассмотрим правила обработки трафика:
1. Ethernet (Raw) mode:
- Если AC является саб-интерфейсом, то vlan-тег перед помещение в бридж снимается. При выходе из бриджа vlan-тег восстанавливается.
- Если AC является интерфейсом, то тегированный и нетегированный трафики проходят в обоих направлениях без модификаций.
Предположим, 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 также участвует в сигнализации при построении псевдо-провода как в LDP-signaling, так и в BGP-signaling. Ниже рассмотрены примеры настройки для обоих случаев:
Подсказка |
---|
Для сигнализации (LDP, BGP) значение MTU по умолчанию – 1500. |
Предупреждение |
---|
Значения 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* |
На рисунке выше РЕ1 поднимает два псевдо-провода: pseudowire 10 до PE2, и pseudowire 20 до PE3 соответственно. Для сигнализации с PE2 MTU будет равным 2000 (pw-class TO_PE2), для PE3 – MTU будет равным 3000 (pw-class TO_PE3).
Для BGP-signaling 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':
Блок кода |
---|
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
|
Примечание | ||
---|---|---|
В BGP-signaling можно отключить проверку MTU для сервиса:
Теперь при согласовании значение MTU будет игнорироваться. |
По умолчанию бридж-домен имеет MTU равным 1500 байт. Стоит отметить, что бридж-домен автоматически выбирает наименьшее значение MTU, исходя из собственного MTU и MTU интерфейсов, включенных в бридж-домен.
Блок кода |
---|
* Например, имеем бридж-домен 100, в который включены интерфейсы gi1/0/1 cо значением MTU 2000, и gi1/0/2 cо значением MTU 3000 *
CE3(config)# bridge 100
CE3(config-bridge)# enable
CE3(config-bridge)# exit
CE3(config)# interface gigabitethernet 1/0/1
CE3(config-if-gi)# mtu 2000
CE3(config-if-gi)# bridge-group 100
CE3(config-if-gi)# exit
CE3(config)# interface gigabitethernet 1/0/2
CE3(config-if-gi)# mtu 3000
CE3(config-if-gi)# bridge-group 100
CE3(config-if-gi)# do com
* MTU бридж-домена будет равным 1500, так как по умолчанию сам бридж имеет MTU 1500 (значение по умолчанию), которое и стало наименьшим:
MTU bridge 100 = 1500 <-- Наименьшее значение MTU
MTU gi1/0/1 = 2000
MTU gi1/0/2 = 3000
*
CE3# sh interfaces bridge
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 100 gi1/0/1-2
CE3# sh interfaces status bridge 100
Interface 'bridge 100' status information:
Description: --
Operational state: UP
Administrative state: Up
Supports broadcast: Yes
Supports multicast: Yes
MTU: 1500
MAC address: a8:f9:4b:aa:11:00
Last change: 1 minute and 46 seconds
Mode: Routerport
* Изменим MTU на самом бридж-домене: *
CE3(config)# bridge 100
CE3(config-bridge)# mtu 6000
CE3(config-bridge)# do com
* MTU бридж-домена стало равным 2000 байт, так как gi1/0/2 имеет наименьшее MTU:
MTU bridge 100 = 6000
MTU gi1/0/1 = 2000 <-- Наименьшее значение MTU
MTU gi1/0/2 = 3000
*
CE3# sh interfaces bridge
Bridges Interfaces
---------- --------------------------------------------------------------
bridge 100 gi1/0/1-2
CE3# sh interfaces status bridge 100
Interface 'bridge 100' status information:
Description: --
Operational state: Up
Administrative state: Up
Supports broadcast: Yes
Supports multicast: Yes
MTU: 2000
MAC address: a8:f9:4b:aa:11:00
Last change: 6 minutes and 42 seconds
Mode: Routerport
|
Рассмотрим пример прохождения трафика в L2VPN-сервисе:
PE1 имеет следующие значения MTU на интерфейсах:
Блок кода |
---|
PE1# sh interfaces status
Interface Admin Link MTU MAC address Last change Mode
state state
------------------ ----- ----- ------ ------------------ ------------------------- ----------
gi1/0/1 Up Up 9000 a8:f9:4b:ac:4d:16 5 hours, 25 minutes and 2 Routerport
seconds
gi1/0/2 Up Up 1500 a8:f9:4b:ac:4d:17 4 days, 4 hours, 49 Switchport
minutes and 40 seconds
gi1/0/3 Up Up 1800 a8:f9:4b:ac:4d:18 4 days, 1 hour, 49 Switchport
minutes and 38 seconds
bridge 2 Up Up 1500 a8:f9:4b:ac:4d:15 1 day, 1 hour, 27 minutes Routerport
and 28 seconds
|
СE1 посылает пакеты размером 1500 байт, CE2 – 1800 байт соответственно. Так как MTU бридж-домена меньше, чем MTU пакета от CE2, то пакет от CE2 будет отброшен перед попаданием в бридж-домен. Аналогичные действия будут, если MTU интерфейса, смотрящего в сторону mpls-core (gi1/0/1), меньше чем MTU, приходящих от СE-пакетов (с учетом MPLS-заголовка).
Cхожее поведение и при прохождении трафика в L3VPN-сервисе:
Если С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 |
---|
Блок кода | ||
---|---|---|
| ||
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
|
Блок кода | ||
---|---|---|
| ||
ESR# config
ESR(config)# hostname CE2
ESR(config)# interface gigabitethernet 1/0/1.200
ESR(config-if-gi)# ip firewall disable
ESR(config-if-gi)# ip address 192.168.2.1/24
ESR(config-if-gi)# do com
ESR(config-if-gi)# do conf |
Блок кода | ||
---|---|---|
| ||
ESR# config
ESR(config)# hostname CE3
ESR(config)# interface gigabitethernet 1/0/1.100
ESR(config-if-gi)# ip firewall disable
ESR(config-if-gi)# ip address 192.168.1.2/24
ESR(config-if-gi)# do com
ESR(config-if-gi)# do conf |
Блок кода | ||
---|---|---|
| ||
ESR# config
ESR(config)# hostname CE4
ESR(config)# interface gigabitethernet 1/0/1.200
ESR(config-if-gi)# ip firewall disable
ESR(config-if-gi)# ip address 192.168.2.2/24
ESR(config-if-gi)# do com
ESR(config-if-gi)# do conf |
Произведем настройку PE1 и PE2. Анонсирование сервисных меток возложим на протокол BGP (Kompella mode):
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname PE1
ESR(config)# system jumbo-frames
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 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 100
ESR(config-bridge)# enable
ESR(config-bridge)# exit
ESR(config)# bridge 200
ESR(config-bridge)# enable
ESR(config-bridge)# exit
ESR(config)#
ESR(config)# interface gigabitethernet 1/0/1.100
ESR(config-subif)# description "to CE1"
ESR(config-subif)# bridge-group 100
ESR(config-subif)# exit
ESR(config)# interface gigabitethernet 1/0/1.200
ESR(config-subif)# description "to CE2"
ESR(config-subif)# bridge-group 200
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)# l2vpn
ESR(config-l2vpn)# vpls CE1
ESR(config-l2vpn-vpls)# bridge-group 100
ESR(config-l2vpn-vpls)# autodiscovery bgp
ESR(config-bgp)# vpn id 1
ESR(config-bgp)# ve id 2
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 200
ESR(config-l2vpn-vpls)# autodiscovery bgp
ESR(config-bgp)# vpn id 2
ESR(config-bgp)# ve id 2
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 |
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname ESR
ESR(config)# system jumbo-frames
ESR(config)#
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 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 100
ESR(config-bridge)# enable
ESR(config-bridge)# exit
ESR(config)# bridge 200
ESR(config-bridge)# enable
ESR(config-bridge)# exit
ESR(config)#
ESR(config)# interface gigabitethernet 1/0/1.100
ESR(config-subif)# description "to CE3"
ESR(config-subif)# bridge-group 100
ESR(config-subif)# exit
ESR(config)# interface gigabitethernet 1/0/1.200
ESR(config-subif)# description "to CE4"
ESR(config-subif)# bridge-group 200
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)# l2vpn
ESR(config-l2vpn)# vpls CE1
ESR(config-l2vpn-vpls)# bridge-group 100
ESR(config-l2vpn-vpls)# autodiscovery bgp
ESR(config-bgp)# vpn id 1
ESR(config-bgp)# ve id 2
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 200
ESR(config-l2vpn-vpls)# autodiscovery bgp
ESR(config-bgp)# vpn id 2
ESR(config-bgp)# ve id 2
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 |
Настроим ASBR1 и ASBR2. Для разделения трафика от CE1 и CE2 в сторону ASBR2 сделаем интерфейс gi1/0/1 транковым. Vlan 100 и 200 будут предназначены для трафика от CE1 и СE2 соответственно:
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname ASBR1
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 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)# 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
|
Блок кода | ||
---|---|---|
| ||
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 |
---|
Блок кода | ||
---|---|---|
| ||
ASBR2# sh bgp l2vpn vpls all
Status codes: * - valid, > - best, i - internal, S - stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Codes Route Distinguisher VID VBO VBS Next hop Metric LocPrf Weight Path
----- --------------------- ----- ----- ----- --------------- ---------- ---------- ------ -------------------
*>i 65500:1 2 1 10 10.11.1.1 -- 100 0 i
*>i 65500:2 2 1 10 10.11.1.1 -- 100 0 i
*> 65500:1 1 1 10 -- -- -- --
*> 65500:2 1 1 10 -- -- -- --
ASBR2# sh mpls forwarding-table
Local Outgoing Prefix Outgoing Next Hop
label label or tunnel ID Interface
-------- -------- ------------------------------------------- ---------------- ---------------------------------------
56 imp-null 10.11.1.1/32 gi1/0/2 10.101.0.1
47 37 PW ID 1 -- 10.11.1.1
37 47 PW ID 2 -- 10.11.1.1
|
Блок кода | ||
---|---|---|
| ||
ASBR2# sh mpls l2vpn vpls
VPLS: CE1
bridge 10:
MTU: 1500
Status: Up
PWs:
PW ID 1, Neighbor 10.11.1.1:
MTU: 1500
Last change: 00:16:59
Status: Up
VPLS: CE2
bridge 20:
MTU: 1500
Status: Up
PWs:
PW ID 2, Neighbor 10.11.1.1:
MTU: 1500
Last change: 00:16:59
Status: Up
|
Блок кода | ||
---|---|---|
| ||
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 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)# 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)# 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 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)# 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 |
Проверим распространение маршрутной информации и сетевую доступность узлов:
Блок кода |
---|
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 |
---|
Блок кода | ||
---|---|---|
| ||
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)# 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:
Блок кода | ||
---|---|---|
| ||
PE1(config)# hostname PE1
PE1(config)#
PE1(config)# ip vrf CE1
PE1(config-vrf)# ip protocols bgp max-routes 100
PE1(config-vrf)# rd 65501:1
PE1(config-vrf)# route-target export 65501:1
PE1(config-vrf)# route-target import 65501:1
PE1(config-vrf)# exit
PE1(config)# ip vrf CE2
PE1(config-vrf)# ip protocols bgp max-routes 100
PE1(config-vrf)# rd 65501:2
PE1(config-vrf)# route-target export 65501:2
PE1(config-vrf)# route-target import 65501:2
PE1(config-vrf)# exit
PE1(config)#
PE1(config)# system jumbo-frames
PE1(config)#
PE1(config)# route-map BGP_OUT
PE1(config-route-map)# rule 1
PE1(config-route-map-rule)# exit
PE1(config-route-map)# exit
PE1(config)# router bgp 65501
PE1(config-bgp)# neighbor 10.10.1.2
PE1(config-bgp-neighbor)# remote-as 65501
PE1(config-bgp-neighbor)# update-source 10.10.1.1
PE1(config-bgp-neighbor)# address-family vpnv4 unicast
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)# vrf CE1
PE1(config-bgp-vrf)# neighbor 192.168.1.1
PE1(config-bgp-vrf-neighbor)# remote-as 65510
PE1(config-bgp-vrf-neighbor)# address-family ipv4 unicast
PE1(config-bgp-neighbor-af-vrf)# route-map BGP_OUT out
PE1(config-bgp-neighbor-af-vrf)# enable
PE1(config-bgp-neighbor-af-vrf)# exit
PE1(config-bgp-vrf-neighbor)# enable
PE1(config-bgp-vrf-neighbor)# exit
PE1(config-bgp-vrf)# address-family ipv4 unicast
PE1(config-bgp-vrf-af)# redistribute bgp 65501 route-map BGP_OUT
PE1(config-bgp-vrf-af)# exit
PE1(config-bgp-vrf)# enable
PE1(config-bgp-vrf)# exit
PE1(config-bgp)# vrf CE2
PE1(config-bgp-vrf)# neighbor 192.168.2.1
PE1(config-bgp-vrf-neighbor)# remote-as 65511
PE1(config-bgp-vrf-neighbor)# address-family ipv4 unicast
PE1(config-bgp-neighbor-af-vrf)# route-map BGP_OUT out
PE1(config-bgp-neighbor-af-vrf)# enable
PE1(config-bgp-neighbor-af-vrf)# exit
PE1(config-bgp-vrf-neighbor)# enable
PE1(config-bgp-vrf-neighbor)# exit
PE1(config-bgp-vrf)# address-family ipv4 unicast
PE1(config-bgp-vrf-af)# redistribute bgp 65501 route-map BGP_OUT
PE1(config-bgp-vrf-af)# exit
PE1(config-bgp-vrf)# enable
PE1(config-bgp-vrf)# exit
PE1(config-bgp)# exit
PE1(config)#
PE1(config)# router ospf 1
PE1(config-ospf)# area 0.0.0.0
PE1(config-ospf-area)# enable
PE1(config-ospf-area)# exit
PE1(config-ospf)# enable
PE1(config-ospf)# exit
PE1(config)#
PE1(config)# interface gigabitethernet 1/0/1.100
PE1(config-subif)# ip vrf forwarding CE1
PE1(config-subif)# description "to CE1"
PE1(config-subif)# ip firewall disable
PE1(config-subif)# ip address 192.168.1.2/30
PE1(config-subif)# exit
PE1(config)# interface gigabitethernet 1/0/1.200
PE1(config-subif)# ip vrf forwarding CE2
PE1(config-subif)# description "to CE2"
PE1(config-subif)# ip firewall disable
PE1(config-subif)# ip address 192.168.2.2/30
PE1(config-subif)# exit
PE1(config)# interface gigabitethernet 1/0/2
PE1(config-if-gi)# description "to ASBR1"
PE1(config-if-gi)# mtu 1522
PE1(config-if-gi)# ip firewall disable
PE1(config-if-gi)# ip address 10.100.0.1/30
PE1(config-if-gi)# ip ospf instance 1
PE1(config-if-gi)# ip ospf
PE1(config-if-gi)# exit
PE1(config)# interface loopback 1
PE1(config-loopback)# ip address 10.10.1.1/32
PE1(config-loopback)# ip ospf instance 1
PE1(config-loopback)# ip ospf
PE1(config-loopback)# exit
PE1(config)# mpls
PE1(config-mpls)# ldp
PE1(config-ldp)# router-id 10.10.1.1
PE1(config-ldp)# address-family ipv4
PE1(config-ldp-af-ipv4)# interface gigabitethernet 1/0/2
PE1(config-ldp-af-ipv4-if)# exit
PE1(config-ldp-af-ipv4)# exit
PE1(config-ldp)# enable
PE1(config-ldp)# exit
PE1(config-mpls)# forwarding interface gigabitethernet 1/0/2
PE1(config-mpls)# exit
PE1(config)# do com
PE1(config)# do conf |
Блок кода | ||
---|---|---|
| ||
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
|
Блок кода | ||
---|---|---|
| ||
ASBR2(config)# hostname ASBR2
ASBR2(config)#
ASBR2(config)# system jumbo-frames
ASBR2(config)#
ASBR2(config)# route-map VPNv4
ASBR2(config-route-map)# rule 1
ASBR2(config-route-map-rule)# exit
ASBR2(config-route-map)# exit
ASBR2(config)# router bgp 65500
ASBR2(config-bgp)# router-id 10.11.1.2
ASBR2(config-bgp)# neighbor 10.101.0.2
ASBR2(config-bgp-neighbor)# remote-as 65501
ASBR2(config-bgp-neighbor)# address-family vpnv4 unicast
ASBR2(config-bgp-neighbor-af)# route-map VPNv4 out
ASBR2(config-bgp-neighbor-af)# send-community extended
ASBR2(config-bgp-neighbor-af)# enable
ASBR2(config-bgp-neighbor-af)# exit
ASBR2(config-bgp-neighbor)# enable
ASBR2(config-bgp-neighbor)# exit
ASBR2(config-bgp)# neighbor 10.11.1.1
ASBR2(config-bgp-neighbor)# remote-as 65500
ASBR2(config-bgp-neighbor)# update-source 10.11.1.2
ASBR2(config-bgp-neighbor)# address-family vpnv4 unicast
ASBR2(config-bgp-neighbor-af)# next-hop-self
ASBR2(config-bgp-neighbor-af)# send-community extended
ASBR2(config-bgp-neighbor-af)# enable
ASBR2(config-bgp-neighbor-af)# exit
ASBR2(config-bgp-neighbor)# enable
ASBR2(config-bgp-neighbor)# exit
ASBR2(config-bgp)# enable
ASBR2(config-bgp)# exit
ASBR2(config)#
ASBR2(config)# router ospf 1
ASBR2(config-ospf)# router-id 10.11.1.2
ASBR2(config-ospf)# area 0.0.0.0
ASBR2(config-ospf-area)# enable
ASBR2(config-ospf-area)# exit
ASBR2(config-ospf)# enable
ASBR2(config-ospf)# exit
ASBR2(config)#
ASBR2(config)# interface gigabitethernet 1/0/1
ASBR2(config-if-gi)# description "to ASBR1"
ASBR2(config-if-gi)# ip firewall disable
ASBR2(config-if-gi)# ip address 10.101.0.1/30
ASBR2(config-if-gi)# exit
ASBR2(config)# interface gigabitethernet 1/0/2
ASBR2(config-if-gi)# description "to PE2"
ASBR2(config-if-gi)# mtu 1522
ASBR2(config-if-gi)# ip firewall disable
ASBR2(config-if-gi)# ip address 10.102.0.2/30
ASBR2(config-if-gi)# ip ospf instance 1
ASBR2(config-if-gi)# ip ospf
ASBR2(config-if-gi)# exit
ASBR2(config)# interface loopback 1
ASBR2(config-loopback)# ip address 10.11.1.2/32
ASBR2(config-loopback)# ip ospf instance 1
ASBR2(config-loopback)# ip ospf
ASBR2(config-loopback)# exit
ASBR2(config)# mpls
ASBR2(config-mpls)# ldp
ASBR2(config-ldp)# router-id 10.11.1.2
ASBR2(config-ldp)# address-family ipv4
ASBR2(config-ldp-af-ipv4)# interface gigabitethernet 1/0/2
ASBR2(config-ldp-af-ipv4-if)# exit
ASBR2(config-ldp-af-ipv4)# exit
ASBR2(config-ldp)# enable
ASBR2(config-ldp)# exit
ASBR2(config-mpls)# forwarding interface gigabitethernet 1/0/1
ASBR2(config-mpls)# forwarding interface gigabitethernet 1/0/2
ASBR2(config-mpls)# exit
ASBR2(config)# do com
ASBR2(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
----- --------------------- ------------------ --------------- ---------- ------- ---------- ------ ----------------
*>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. Данный сценарий является наиболее масштабируемым из описанных ранее, однако он имеет свои особенности, которые необходимо учитывать при построении сети.
В данной схеме ASBR-ы не хранят клиентские VPNv4-префиксы, а только распространяют маршрутную информацию и метки для PE-устройств в своей автономной системе.
Для распространения клиентских VPNv4-префиксов между различными автономными системами используется MP-EBGP-сессия между устройствами, выполняющими роль RR (route reflector), либо между PE-устройствами. В случае, если VPNv4-сессия настраивается между RR, то в передаваемых BGP update сообщениях не должен меняться атрибут next-hop.
В рамках EBGP-сессии между ASBR производится обмен маршрутной информацией о транспортных префиксах PE различных автономных систем. Эти маршруты отвечают за доступность next-hop для клиентских VPNv4-префиксов, передаваемых в рамках MP-EBGP-сессии между RR или PE. Данные префиксы также используются для установления MP-EBGP-сесcии между устройствами, выполняющими роль RR либо роль PE в разных автономных системах.
Из плюсов данного решения можно отметить хорошую масштабируемость. ASBR-устройства не хранят данные клиентских префиксов, вся информация хранится на RR, что положительно сказывается на производительности.
Scroll Pagebreak |
---|
Из недостатков можно отметить следующее:
- Безопасность. Передача транспортных префиксов PE из локальной AS во вне несет в себе потенциальные риски. Межу AS должен быть установлен высокий уровень доверия.
- QoS. VPN-контексты отсутствует на ASBR, соответственно нет возможности применить shaping/policing per VPN.
Для организации сквозных настроек QoS требуется согласование настроек на стыке ASBR↔ASBR.
L3VPN
Предварительная конфигурация:
- Внутри AS должен быть настроен IGP для распространения маршрутной информации для связности PE.
- Внутри AS должен быть настроен протокол LDP для распространения меток.
- На PE, к которым подключены абонентские CPE, должны быть настроены соответствующие VRF. Интерфейсы, к которым подключены CPE, должны быть помещены в соответствующий VRF.
Для настройки сервиса VPN приведем пример конфигурации устройств одной из AS (настройки в другой AS будут полностью зеркальные):
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname PE1
ESR(config)#
ESR(config)# ip vrf vrf1
ESR(config-vrf)# rd 1.1.1.1:1
ESR(config-vrf)# route-target export 100:1
ESR(config-vrf)# route-target import 100:1
ESR(config-vrf)# exit
ESR(config)#
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)# send-label
ESR(config-bgp-neighbor-af)# enable
ESR(config-bgp-neighbor-af)# exit
ESR(config-bgp-neighbor)# address-family vpnv4 unicast
ESR(config-bgp-neighbor-af)# next-hop-self
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 vrf1
ESR(config-bgp-vrf)# address-family ipv4 unicast
ESR(config-bgp-vrf-af)# network 100.100.100.1/32
ESR(config-bgp-vrf-af)# exit
ESR(config-bgp-vrf)# exit
ESR(config-bgp)# exit
|
В примере конфигурации PE устройства префикс 100.100.100.1 является примером абонентской подсети.
Блок кода | ||
---|---|---|
| ||
ESR(config)# hostname RR1
ESR(config)#
ESR(config)# route-map VPNv4_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 3.3.3.3
ESR(config-bgp-neighbor)# remote-as 65000
ESR(config-bgp-neighbor)# route-reflector-client
ESR(config-bgp-neighbor)# update-source loopback 1
ESR(config-bgp-neighbor)# address-family ipv4 unicast
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 1.1.1.1
ESR(config-bgp-neighbor)# remote-as 65000
ESR(config-bgp-neighbor)# route-reflector-client
ESR(config-bgp-neighbor)# update-source loopback 1
ESR(config-bgp-neighbor)# address-family ipv4 unicast
ESR(config-bgp-neighbor-af)# send-label
ESR(config-bgp-neighbor-af)# enable
ESR(config-bgp-neighbor-af)# exit
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)# neighbor 5.5.5.5
ESR(config-bgp-neighbor)# remote-as 65001
ESR(config-bgp-neighbor)# ebgp-multihop 10
ESR(config-bgp-neighbor)# update-source loopback 1
ESR(config-bgp-neighbor)# address-family vpnv4 unicast
ESR(config-bgp-neighbor-af)# route-map VPNv4_RM1 out
ESR(config-bgp-neighbor-af)# next-hop-unchanged
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)# 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).
Примечание |
---|
При настройке MTU на туннеле необходимо учитывать следующее:
Ниже представлена примерная структура пакета: |
Настройки CE1 и CE2:
Блок кода | ||
---|---|---|
| ||
hostname CE1
interface gigabitethernet 1/0/2
ip firewall disable
ip address 10.100.0.1/24
exit
|
Блок кода | ||
---|---|---|
| ||
hostname CE2
interface gigabitethernet 1/0/2
ip firewall disable
ip address 10.100.0.2/24
exit
|
Конфигурация ESR1 и ESR2:
Блок кода | ||
---|---|---|
| ||
ESR1(config)# hostname ESR1
ESR1(config)#
ESR1(config)# system cpu load-balance mpls passenger ip
ESR1(config)# system cpu load-balance mpls passenger ipoe-pw-without-cw
ESR1(config)# security zone trusted
ESR1(config-zone)# exit
ESR1(config)# security zone untrusted
ESR1(config-zone)# exit
ESR1(config)#
ESR1(config)# router ospf 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 gigabitethernet 1/0/1
ESR1(config-if-gi)# security-zone untrusted
ESR1(config-if-gi)# ip address 192.0.2.1/30
ESR1(config-if-gi)# exit
ESR1(config)# interface gigabitethernet 1/0/2
ESR1(config-if-gi)# description "From CE1"
ESR1(config-if-gi)# mode switchport
ESR1(config-if-gi)# exit
ESR1(config)# interface loopback 1
ESR1(config-loopback)# ip address 10.100.0.1/32
ESR1(config-loopback)# ip ospf instance 1
ESR1(config-loopback)# ip ospf
ESR1(config-loopback)# exit
ESR1(config)# tunnel gre 1
ESR1(config-gre)# key 60
ESR1(config-gre)# ttl 64
ESR1(config-gre)# mtu 1458
ESR1(config-gre)# ip firewall disable
ESR1(config-gre)# local address 192.0.2.1
ESR1(config-gre)# remote address 192.0.2.2
ESR1(config-gre)# ip address 10.0.0.1/30
ESR1(config-gre)# ip ospf instance 1
ESR1(config-gre)# ip ospf network point-to-point
ESR1(config-gre)# ip ospf
ESR1(config-gre)# enable
ESR1(config-gre)# exit
ESR1(config)#
ESR1(config)# mpls
ESR1(config-mpls)# ldp
ESR1(config-ldp)# router-id 10.100.0.1
ESR1(config-ldp)# address-family ipv4
ESR1(config-ldp-af-ipv4)# interface gre 1
ESR1(config-ldp-af-ipv4-if)# exit
ESR1(config-ldp-af-ipv4)# exit
ESR1(config-ldp)# enable
ESR1(config-ldp)# exit
ESR1(config-mpls)# l2vpn
ESR1(config-l2vpn)# pw-class VPWS
ESR1(config-l2vpn-pw-class)# exit
ESR1(config-l2vpn)# p2p EoMPLS
ESR1(config-l2vpn-p2p)# interface gigabitethernet 1/0/2
ESR1(config-l2vpn-p2p)# pw 100 10.100.0.2
ESR1(config-l2vpn-pw)# pw-class VPWS
ESR1(config-l2vpn-pw)# enable
ESR1(config-l2vpn-pw)# exit
ESR1(config-l2vpn-p2p)# enable
ESR1(config-l2vpn-p2p)# exit
ESR1(config-l2vpn)# exit
ESR1(config-mpls)# forwarding interface gre 1
ESR1(config-mpls)# exit
ESR1(config)# security zone-pair untrusted self
ESR1(config-zone-pair)# rule 1
ESR1(config-zone-pair-rule)# action permit
ESR1(config-zone-pair-rule)# match protocol gre
ESR1(config-zone-pair-rule)# enable
ESR1(config-zone-pair-rule)# exit
ESR1(config-zone-pair)# exit
ESR1(config)# do com
ESR1(config)# do conf |
Блок кода | ||
---|---|---|
| ||
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 |
---|
Блок кода |
---|
* Конфигурация туннеля*
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 на туннеле необходимо учитывать следующее:
Ниже представлена примерная структура пакета: |
Scroll Pagebreak |
---|
Блок кода | ||
---|---|---|
| ||
CE1(config)# hostname CE1
CE1(config)#
CE1(config)# route-map BGP_OUT
CE1(config-route-map)# rule 1
CE1(config-route-map-rule)# exit
CE1(config-route-map)# exit
CE1(config)# router bgp 65501
CE1(config-bgp)# neighbor 10.10.0.2
CE1(config-bgp-neighbor)# remote-as 65500
CE1(config-bgp-neighbor)# address-family ipv4 unicast
CE1(config-bgp-neighbor-af)# route-map BGP_OUT out
CE1(config-bgp-neighbor-af)# enable
CE1(config-bgp-neighbor-af)# exit
CE1(config-bgp-neighbor)# enable
CE1(config-bgp-neighbor)# exit
CE1(config-bgp)# address-family ipv4 unicast
CE1(config-bgp-af)# network 10.100.0.0/24
CE1(config-bgp-af)# exit
CE1(config-bgp)# enable
CE1(config-bgp)# exit
CE1(config)#
CE1(config)#
CE1(config)# interface gigabitethernet 1/0/2
CE1(config-if-gi)# description "to ESR1"
CE1(config-if-gi)# ip firewall disable
CE1(config-if-gi)# ip address 10.10.0.1/30
CE1(config-if-gi)# exit
CE1(config)# interface loopback 1
CE1(config-loopback)# ip address 10.100.0.1/24
CE1(config-loopback)# exit |
Блок кода | ||
---|---|---|
| ||
CE2(config)# hostname CE2
CE2(config)#
CE2(config)# route-map BGP_OUT
CE2(config-route-map)# rule 1
CE2(config-route-map-rule)# exit
CE2(config-route-map)# exit
CE2(config)# router bgp 65502
CE2(config-bgp)# neighbor 10.10.0.5
CE2(config-bgp-neighbor)# remote-as 65500
CE2(config-bgp-neighbor)# address-family ipv4 unicast
CE2(config-bgp-neighbor-af)# route-map BGP_OUT out
CE2(config-bgp-neighbor-af)# enable
CE2(config-bgp-neighbor-af)# exit
CE2(config-bgp-neighbor)# enable
CE2(config-bgp-neighbor)# exit
CE2(config-bgp)# address-family ipv4 unicast
CE2(config-bgp-af)# network 10.101.0.0/24
CE2(config-bgp-af)# exit
CE2(config-bgp)# enable
CE2(config-bgp)# exit
CE2(config)#
CE2(config)#
CE2(config)# interface gigabitethernet 1/0/2
CE2(config-if-gi)# description "to ESR2"
CE2(config-if-gi)# ip firewall disable
CE2(config-if-gi)# ip address 10.10.0.6/30
CE2(config-if-gi)# exit
CE2(config)# interface loopback 1
CE2(config-loopback)# ip address 10.101.0.1/24
CE2(config-loopback)# exit
|
Конфигурация ESR1 и ESR2:
Блок кода | ||
---|---|---|
| ||
ESR1(config)# hostname ESR1
ESR1(config)#
ESR1(config)# ip vrf l3vpn_service
ESR1(config-vrf)# ip protocols bgp max-routes 100
ESR1(config-vrf)# rd 65500:1
ESR1(config-vrf)# route-target export 65500:1
ESR1(config-vrf)# route-target import 65500:1
ESR1(config-vrf)# exit
ESR1(config)#
ESR1(config)#
ESR1(config)# system cpu load-balance mpls passenger ip
ESR1(config)# security zone untrusted
ESR1(config-zone)# exit
ESR1(config)# security zone trusted
ESR1(config-zone)# exit
ESR1(config)#
ESR1(config)# route-map BGP_OUT
ESR1(config-route-map)# rule 1
ESR1(config-route-map-rule)# exit
ESR1(config-route-map)# exit
ESR1(config)# router bgp 65500
ESR1(config-bgp)# router-id 10.12.0.1
ESR1(config-bgp)# neighbor 10.12.0.2
ESR1(config-bgp-neighbor)# remote-as 65500
ESR1(config-bgp-neighbor)# update-source 10.12.0.1
ESR1(config-bgp-neighbor)# address-family vpnv4 unicast
ESR1(config-bgp-neighbor-af)# send-community extended
ESR1(config-bgp-neighbor-af)# enable
ESR1(config-bgp-neighbor-af)# exit
ESR1(config-bgp-neighbor)# enable
ESR1(config-bgp-neighbor)# exit
ESR1(config-bgp)# enable
ESR1(config-bgp)# vrf l3vpn_service
ESR1(config-bgp-vrf)# neighbor 10.10.0.1
ESR1(config-bgp-vrf-neighbor)# remote-as 65501
ESR1(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR1(config-bgp-neighbor-af-vrf)# route-map BGP_OUT out
ESR1(config-bgp-neighbor-af-vrf)# enable
ESR1(config-bgp-neighbor-af-vrf)# exit
ESR1(config-bgp-vrf-neighbor)# enable
ESR1(config-bgp-vrf-neighbor)# exit
ESR1(config-bgp-vrf)# address-family ipv4 unicast
ESR1(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP_OUT
ESR1(config-bgp-vrf-af)# exit
ESR1(config-bgp-vrf)# enable
ESR1(config-bgp-vrf)# exit
ESR1(config-bgp)# exit
ESR1(config)#
ESR1(config)# router ospf 1
ESR1(config-ospf)# router-id 10.12.0.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 gigabitethernet 1/0/1
ESR1(config-if-gi)# security-zone untrusted
ESR1(config-if-gi)# ip address 192.0.2.1/30
ESR1(config-if-gi)# exit
ESR1(config)# interface gigabitethernet 1/0/2
ESR1(config-if-gi)# ip vrf forwarding l3vpn_service
ESR1(config-if-gi)# description "from CE1"
ESR1(config-if-gi)# ip firewall disable
ESR1(config-if-gi)# ip address 10.10.0.2/30
ESR1(config-if-gi)# exit
ESR1(config)# interface loopback 1
ESR1(config-loopback)# ip address 10.12.0.1/32
ESR1(config-loopback)# ip ospf instance 1
ESR1(config-loopback)# ip ospf
ESR1(config-loopback)# exit
ESR1(config)# tunnel gre 1
ESR1(config-gre)# key 60
ESR1(config-gre)# ttl 64
ESR1(config-gre)# mtu 1472
ESR1(config-gre)# ip firewall disable
ESR1(config-gre)# local address 192.0.2.1
ESR1(config-gre)# remote address 192.0.2.2
ESR1(config-gre)# ip address 10.11.0.1/30
ESR1(config-gre)# ip ospf instance 1
ESR1(config-gre)# ip ospf
ESR1(config-gre)# enable
ESR1(config-gre)# exit
ESR1(config)#
ESR1(config)# mpls
ESR1(config-mpls)# ldp
ESR1(config-ldp)# router-id 10.12.0.1
ESR1(config-ldp)# address-family ipv4
ESR1(config-ldp-af-ipv4)# interface gre 1
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 gre 1
ESR1(config-mpls)# exit
ESR1(config)# security zone-pair untrusted self
ESR1(config-zone-pair)# rule 1
ESR1(config-zone-pair-rule)# action permit
ESR1(config-zone-pair-rule)# match protocol gre
ESR1(config-zone-pair-rule)# enable
ESR1(config-zone-pair-rule)# exit
ESR1(config-zone-pair)# exit |
Блок кода |
---|
ESR2(config)# hostname ESR2
ESR2(config)#
ESR2(config)# ip vrf l3vpn_service
ESR2(config-vrf)# ip protocols bgp max-routes 100
ESR2(config-vrf)# rd 65500:1
ESR2(config-vrf)# route-target export 65500:1
ESR2(config-vrf)# route-target import 65500:1
ESR2(config-vrf)# exit
ESR2(config)#
ESR2(config)#
ESR2(config)# system cpu load-balance mpls passenger ip
ESR2(config)# security zone untrusted
ESR2(config-zone)# exit
ESR2(config)# security zone trusted
ESR2(config-zone)# exit
ESR2(config)#
ESR2(config)# route-map BGP_OUT
ESR2(config-route-map)# rule 1
ESR2(config-route-map-rule)# exit
ESR2(config-route-map)# exit
ESR2(config)# router bgp 65500
ESR2(config-bgp)# router-id 10.12.0.2
ESR2(config-bgp)# neighbor 10.12.0.1
ESR2(config-bgp-neighbor)# remote-as 65500
ESR2(config-bgp-neighbor)# update-source 10.12.0.2
ESR2(config-bgp-neighbor)# address-family vpnv4 unicast
ESR2(config-bgp-neighbor-af)# send-community extended
ESR2(config-bgp-neighbor-af)# enable
ESR2(config-bgp-neighbor-af)# exit
ESR2(config-bgp-neighbor)# enable
ESR2(config-bgp-neighbor)# exit
ESR2(config-bgp)# enable
ESR2(config-bgp)# vrf l3vpn_service
ESR2(config-bgp-vrf)# neighbor 10.10.0.6
ESR2(config-bgp-vrf-neighbor)# remote-as 65502
ESR2(config-bgp-vrf-neighbor)# address-family ipv4 unicast
ESR2(config-bgp-neighbor-af-vrf)# route-map BGP_OUT out
ESR2(config-bgp-neighbor-af-vrf)# enable
ESR2(config-bgp-neighbor-af-vrf)# exit
ESR2(config-bgp-vrf-neighbor)# enable
ESR2(config-bgp-vrf-neighbor)# exit
ESR2(config-bgp-vrf)# address-family ipv4 unicast
ESR2(config-bgp-vrf-af)# redistribute bgp 65500 route-map BGP_OUT
ESR2(config-bgp-vrf-af)# exit
ESR2(config-bgp-vrf)# enable
ESR2(config-bgp-vrf)# exit
ESR2(config-bgp)# exit
ESR2(config)#
ESR2(config)# router ospf 1
ESR2(config-ospf)# router-id 10.12.0.2
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)# ip vrf forwarding l3vpn_service
ESR2(config-if-gi)# description "from CE2"
ESR2(config-if-gi)# ip firewall disable
ESR2(config-if-gi)# ip address 10.10.0.5/30
ESR2(config-if-gi)# exit
ESR2(config)# interface loopback 1
ESR2(config-loopback)# ip address 10.12.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 1472
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.11.0.2/30
ESR2(config-gre)# ip ospf instance 1
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.12.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)# 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 permit
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
|
После завершения настройки проверим статус сервиса и доступность узлов в сети:
Блок кода |
---|
*Конфигурация туннеля GRE*
ESR2# sh tunnels configuration
Tunnel State Description
---------------- -------- ------------------------------
gre 1 Enabled --
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: 1472
Path MTU discovery: Enabled
Don't fragment bit suppression: Disabled
Security zone: --
Multipoint mode: Disabled
Keepalive:
State: Disabled
Timeout: 10
Retries: 6
Destination address: --
*Наличие vpnv4-маршрутов*
SR2# 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.101.0.0/24 -- -- 34 100 -- 65502 i
*>i 65500:1 10.100.0.0/24 10.12.0.1 -- 16 100 0 65501 i
*Состояние протокола LDP*
ESR2# sh mpls ldp neighbor
Peer LDP ID: 10.12.0.1; Local LDP ID 10.12.0.2
State: Operational
TCP connection: 10.12.0.1:646 - 10.12.0.2:46444
Messages sent/received: 60/60
Uptime: 00:53:59
LDP discovery sources:
gre 1
ESR2# sh mpls forwarding-table
Local Outgoing Prefix Outgoing Next Hop
label label or tunnel ID Interface
-------- -------- ------------------------------------------- ---------------- ---------------------------------------
35 imp-null 10.12.0.1/32 gre 1 10.11.0.1
*Доступность узлов в сети*
CE2# ping 10.100.0.1 source ip 10.101.0.1 detailed
PING 10.100.0.1 (10.100.0.1) from 10.101.0.1 : 56 bytes of data.
64 bytes from 10.100.0.1: icmp_seq=1 ttl=0 time=1.32 ms
64 bytes from 10.100.0.1: icmp_seq=2 ttl=0 time=1.12 ms
64 bytes from 10.100.0.1: icmp_seq=3 ttl=0 time=1.14 ms
64 bytes from 10.100.0.1: icmp_seq=4 ttl=0 time=1.09 ms
64 bytes from 10.100.0.1: icmp_seq=5 ttl=0 time=1.15 ms
|
Управление технологией MPLS описано в документации ESR.
Примечание |
---|
Значения параметров для WLC-15/30/3200 идентичны значениям для ESR-15/15R/30/3200 соответственно. |
Scroll Pagebreak |
---|