Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: Добавлен черновик opt_C

...

ШагОписаниеКомандаКлючи
1В контексте настройки параметров MPLS указать интерфейсы, участвующие в процессе MPLS-коммутации.

esr(config-mpls)# forwarding interface { <IF> | <TUN> }

<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

2Задать router-id для LDP (не обязательно, если указан transport-address).

esr(config-ldp)# router-id { <ID> | <IF> | <TUN> }

<ID> – идентификатор маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

<IF> – интерфейс, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора.

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

3

В контексте настройки address family ipv4 указать transport-address (не обязательно, если указан router-id).

esr(config-ldp-af-ipv4)# transport-address <ADDR>

<ADDR> – задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

4

В контексте настройки address family ipv4 указать интерфейсы для включения на них процесса LDP.

esr(config-ldp-af-ipv4)# interface { <IF> | <TUN> }


<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

5Включить процесс LDP.

esr(config-ldp)# enable


6Включить функционал explicit-null (не обязательно).

esr(config-ldp)# egress-label-type explicit-null


7В режиме конфигурирования соседа LDP задать пароль командой password (не обязательно).

esr(config-ldp-neig)# password {<TEXT> | ENCRYPTED-TEXT>}

<CLEAR-TEXT> – пароль, задаётся строкой длиной [8..16] символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером [8..16] байт ([16..32] символа) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

В рамках настройки протокола LDP также доступен следующий функционал:

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP)
2В режиме конфигурации протокола LDP задать Hello holdtime

esr(config-ldp)# discovery hello holdtime <TIME>

<TIME> – время в секундах в интервале [3..65535]
Значение по умолчанию: 15

3

В режиме конфигурации протокола LDP задать Hello interval

esr(config-ldp)# discovery hello interval <TIME>

<TIME> – время в секундах в интервале [3..65535]
Значение по умолчанию: 5

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP)
2В режиме конфигурации address familly протокола LDP установить Hello holdtime на нужном интерфейсе

esr(config-ldp-af-ipv4-if)# discovery hello holdtime <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 15

3

В режиме конфигурации address familly протокола LDP установить Hello interval на нужном интерфейсе

esr(config-ldp-af-ipv4-if)# discovery hello interval <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 5

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP)
2В режиме конфигурации LDP задать параметр Keepalive

esr(config-ldp)# keepalive <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 180

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP)
2В режиме конфигурации соседа задать параметр Keepalive holdtime

esr(config-ldp-neig)# keepalive <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 180

...

1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP)
2В режиме конфигурации протокола LDP задать Hello holdtime

esr(config-ldp)# discovery targeted-hello holdtime <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 45

3

В режиме конфигурации протокола LDP задать Hello interval

esr(config-ldp)# discovery targeted- hello interval <TIME>

<TIME> – время в секундах в интервале [1..65535]

Значение по умолчанию: 5

4В режиме конфигурации протокола LDP задать Keepalive holdtime

esr(config-ldp)# keepalive <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 180

...

1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP)
2В режиме конфигурации LDP-соседа задать Hello holdtime

esr(config-ldp-neig)# discovery targeted-hello holdtime <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 45

3

В режиме конфигурации LDP-соседа задать Hello interval

esr(config-ldp-neig)# discovery targeted- hello interval <TIME>

<TIME> – время в секундах в интервале [1..65535]

Значение по умолчанию: 5

4В режиме конфигурации LDP-соседа задать Keepalive holdtime

esr(config-ldp-neig)# keepalive <TIME>

<TIME> – время в секундах в интервале [3..65535]

Значение по умолчанию: 180

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP).
2Создать object-group типа network.

esr(config)# object-group network <NAME>

<NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа.
3Описать префиксы, для которых будут назначаться метки.

esr(config-object-group-network)# ip prefix <ADDR/LEN>

<ADDR/LEN> – IP-адрес и маска подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32].

4

В контексте настройки LDP применить созданную object-group.

esr(config-ldp)# advertise-labels <NAME>

<NAME> – имя конфигурируемого списка подсетей, задаётся строкой до 31 символа.

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP).
2Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class.

esr(config-l2vpn)# pw-class <WORD>

<WORD> – имя pw-class длиной [1..31] символов.

3Добавить описание для pw-class (не обязательно).

esr(config-l2vpn-pw-class)# description <LINE>

<LINE> – описание. Задается в виде строки длиной [1..255] символов.

4

Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно).

esr(config-l2vpn-pw-class)# encapsulation
mpls mtu <MTU>

<MTU> – значение MTU, принимает значение в диапазоне [552..10000]

Значение по умолчанию: 1500.

5Отключить обмен status-tlv сообщениями (не обязательно).

esr(config-l2vpn-pw-class)# encapsulation
mpls status-tlv disable

Значение по умолчанию: status-tlv enable.
6Создать p2p-туннель в системе и осуществить переход в режим настройки параметров p2p-туннеля.

esr(config-l2vpn)# p2p <NAME>

<NAME> – имя p2p-сервиса, задается строкой до 31 символа.

7Задать Attached Circuit интерфейс.

esr(config-l2vpn-p2p)# interface
 { <IF> | <TUN> }

<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора;

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора.

8Включить p2p-туннель.

esr(config-l2vpn-p2p)# enable


9Задать транспортный режим (не обязательно).

esr(config-l2vpn-p2p)# transport-mode
{ ethenet | vlan }

<ethernet> – режим, при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег ;

<vlan> – режим, при котором 802.1Q тег может быть сохранен при передаче через pseudo-wire.

Значение по умолчанию: ethernet.

10Создать pseudo-wire и осуществить переход в режим настройки его параметров.

esr(config-l2vpn-p2p)# pw <PW_ID> <LSR_ID>

<PW_ID> – идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295]

<LSR_ID> – идентификатор LSR, до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]

11Добавить описание для pseudo-wire (не обязательно).

esr(config-l2vpn-pw)# description <LINE>

<LINE> – описание. Задается в виде строки длиной [1..255] символов.
12Задать pw-class для pseudo-wire.

esr(config-l2vpn-pw)# pw-class <WORD>

<WORD> – имя pw-class длиной [1..31] символов.

13Задать адрес LSR до которого устанавливается pseudo-wire (не обязательно, если neighbor address совпадает с LSR_ID).

esr(config-l2vpn-pw)# neighbor-address <ADDR>

<ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. 
14

Включить pseudo-wire.

esr(config-l2vpn-pw)# enable



В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Управление технологией MPLS#Конфигурирование Конфигурирование параметров сессии в протоколе targeted-LDP.

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP).
2Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge).
3Создать pw-class в системе и осуществить переход в режим настройки параметров pw-class.

esr(config-l2vpn)# pw-class <WORD>

<WORD> – имя pw-class длинной [1..31] символов.

4Добавить описание для pw-class (не обязательно).

esr(config-l2vpn-pw-class)# description <LINE>

<LINE> – описание. Задается в виде строки длинной [1..255] символов

5

Установить значение MTU для pseudo-wire входящих в pw-class (не обязательно).

esr(config-l2vpn-pw-class)# encapsulation
mpls mtu <MTU>

<MTU> – значение MTU, принимает значение в диапазоне [552..10000]

Значение по умолчанию: 1500.

6Отключить обмен status-tlv сообщениями (не обязательно).

esr(config-l2vpn-pw-class)# encapsulation
mpls status-tlv disable

Значение по умолчанию: status-tlv enable.
7Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена.

esr(config-l2vpn)# vpls <NAME>

<NAME> – имя p2p-сервиса, задается строкой до 31 символа.

8Включить VPLS-туннель.

esr(config-l2vpn-vpls)# enable


9Добавить бридж-домен.

esr (config-l2vpn-vpls)# bridge-group <ID>

<ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250].
10Задать транспортный режим (не обязательно).

esr(config-l2vpn-vpls)# transport-mode
{ ethenet | vlan }

<ethernet> – режим при котором при входе в pseudo-wire из заголовка удаляется 802.1Q тег;
<vlan> – режим при котором 802.1Q тег может быть сохранен при передаче через pseudo-wire.
Значение по умолчанию: ethernet.

11Создать pseudo-wire и осуществить переход в режим настройки его параметров.

esr(config-l2vpn-vpls)# pw <PW_ID> <LSR_ID>

<PW_ID> – идентификатор psewdowire, задается в виде числа в диапазоне [1..4294967295 ]

<LSR_ID> – идентификатор LSR до которого строится pseudo-wire, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

12Добавить описание для pseudo-wire (не обязательно).

esr(config-l2vpn-pw)# description <LINE>

<LINE> – описание. Задается в виде строки длинной [1..255] символов.
13Задать pw-class для pseudo-wire.

esr(config-l2vpn-pw)# pw-class <WORD>

<WORD> – имя pw-class длинной [1..31] символов.

14Задать адрес LSR до которого устанавливается pseudo-wire (не обязательно, если neighbor address совпадает с LSR_ID).

esr(config-l2vpn-pw)# neighbor-address <ADDR>

<ADDR> – IP-адрес маршрутизатора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. 
15

Включить pseudo-wire.

esr(config-l2vpn-pw)# enable


16В случае если топология создаваемого VPLS-домена требует установить более одного pseudo-wire, повторить шаги с 10 по 14.
17В случае если необходимо изменить параметры по умолчанию для targeted LDP-сессии, обратитесь к разделу Управление технологией MPLS#Конфигурирование Конфигурирование параметров сессии в протоколе targeted-LDP.

...

ШагОписаниеКомандаКлючи
1Настроить протокол LDP (см. раздел Управление технологией MPLS#Конфигурирование Конфигурирование протокола LDP).
2Создать сетевой мост в системе без указания IP-адреса (см. раздел Настройка Bridge).
3Создать VPLS-домен в системе и осуществить переход в режим настройки параметров VPLS-домена.

esr(config-l2vpn)# vpls <NAME>

<NAME> – имя p2p-сервиса, задается строкой до 31 символа.

4Включить VPLS-туннель.

esr(config-l2vpn-vpls)# enable


5

Добавить бридж-домен.

esr(config-l2vpn-vpls)# bridge-group <ID>

<ID> – идентификатор бридж-домена, задается в виде числа в диапазоне [1..250].

6Перейти в контекст настройки autodiscovery bgp.

esr(config-l2vpn-vpls)# autodiscovery bgp


7Указать route distinguisher для данного экземпляра VPLS.

esr(config-bgp)# rd <RD>

<RD> – значение Route distinguisher, задается в одном из следующем виде:

  • <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];
8Указать route target import для данного экземпляра VPLS.

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];
9Указать route target export для данного экземпляра VPLS.

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];
10Указать ve id.

esr(config-bgp)# ve id <ID>

<ID> – идентификатор экземпляра VPLS, задается в виде числа в диапазоне [1..16384].

11Указать vpn id.

esr (config-bgp)# vpn id <ID>

<ID> – идентификатор VPN, задается в виде числа в диапазоне [1..4294967295].

12Указать ve range (не обязательно).

esr (config-bgp)# ve range <RANGE>

<RANGE> – диапазон идентификаторов пограничных устройств VPLS [8..100].
13Указать mtu (не обязательно).

esr (config-bgp)# mtu <VALUE>

<VALUE> – значение MTU [552..10000].

14Включить игнорирование типа инкапсуляции (не обязательно).

esr(config-bgp)# ignore encapsulation-mismatch


15

Включить игнорирование значений MTU (не обязательно).

esr(config-bgp)# ignore mtu-mismatch


16В контексте настройки address-family l2vpn vpls протокола BGP включить передачу расширенных атрибутов.esr(config-bgp-neighbor-af)# send-community extended

...

Блок кода
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
64 bytes from 10.103.0.1: icmp_seq=2 ttl=0 time=2.11 ms
64 bytes from 10.103.0.1: icmp_seq=3 ttl=0 time=2.09 ms
64 bytes from 10.103.0.1: icmp_seq=4 ttl=0 time=2.09 ms
64 bytes from 10.103.0.1: icmp_seq=5 ttl=0 time=2.11 ms



Inter-AS Option C

Inter-AS опция 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 в разных автономных системах.

Image Added


Из плюсов данного решения можно отметить хорошую масштабируемость. ASBR не хранят данные клиентских префиксов, вся информация хранится на RR, что положительно сказывается на производительности.

Из недостатков можно отметить следующее:

  • Безопасность

Передача транспортных префиксов PE из локальной AS во вне несет в себе потенциальные риски. Межу AS должен быть установлен высокий уровень доверия.

  • QoS

VPN контексты отсутствует на ASBR, соответственно нет возможности применить шейпинг/полисинг per VPN.

Для организации сквозных настроек QoS требуется согласование настроек на стыке ASBR↔ASBR.

L3VPN

Предварительная конфигурация:

  • Внутри AS должен быть настроен IGP для распространения маршрутной информации для связности PE.
  • Внутри AS должен быть настроен протокол LDP для распространения меток.
  • На PE, к которым подключены абонентские CPE, должны быть настроены соответствующие VRF. Интерфейсы, к которым подключены CPE должны быть помещены в соответсвующий VRF.

Для настройки сервиса VPN приведем пример конфигурации устройств одной из AS (Настройки в другой AS будут полностью зеркальные)

Блок кода
titlePE1
hostname PE1

ip vrf vrf1
  rd 1.1.1.1:1
  route-target export 100:1
  route-target import 100:1
exit

router bgp 65000
  neighbor 2.2.2.2
    remote-as 200
    update-source loopback 1
    address-family ipv4 unicast
      send-label
      enable
    exit
    address-family vpnv4 unicast
      next-hop-self
      send-community extended
      enable
    exit
    enable
  exit
  enable
  vrf vrf1
    address-family ipv4 unicast
      network 100.100.100.12/32 ????? - дописать импорт клиентских префиксов
    exit
  exit
exit


Блок кода
titleRR-1
hostname RR1

route-map VPNv4_RM1
  rule 1
  exit
exit
router bgp 65000
  neighbor 3.3.3.3
    remote-as 65000
    route-reflector-client
    update-source loopback 1
    address-family ipv4 unicast
        send-label
      enable
    exit
    enable
  exit
  neighbor 1.1.1.1
    remote-as 65000
    route-reflector-client
    update-source loopback 1
    address-family ipv4 unicast
      send-label
      enable
    exit
    address-family vpnv4 unicast
      send-community extended
      enable
    exit
    enable
  exit 
  neighbor 5.5.5.5
    remote-as 65001
    ebgp-multihop 10
    update-source loopback 1
    address-family vpnv4 unicast
      route-map VPNv4_RM1 out
      next-hop-unchanged
      send-community extended
      enable
    exit
    enable
  exit
  enable
exit


Блок кода
titleASBR-1
hostname ASBR1

route-map RM1
  rule 1
  exit
exit
router bgp 65000
  neighbor 2.2.2.2
    remote-as 65000
    update-source loopback 1
    address-family ipv4 unicast
      next-hop-self
      send-label
      enable
    exit
    enable
  exit
  neighbor 192.168.100.1
    remote-as 65001
    address-family ipv4 unicast
      route-map RM1 out
      send-label
      enable
    exit
    enable
  exit
  address-family ipv4 unicast
    network 1.1.1.1/32
    network 2.2.2.2/32
    network 3.3.3.3/32
  exit
  enable
exit

MPLS over GRE

В этом разделе приведен пример настройки VPN сервисов VPN, построенных через GRE-туннель.

...

Блок кода
* Конфигурация туннеля*
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 на туннеле необходимо учитывать следующее:

  • По крайне мере одна mpls-метка будет присутствовать при передаче через туннель. В учет стоит включать все метки в стеке, например, explicit null и/или entropy label; 
  • При превышении MTU исходящего интерфейса пакет будет отброшен (если не включена безусловная фрагментация GRE-трафика);
  • Control world не поддержан;
  • DFбит будет выставлен в единицу.

Ниже представлена примерная структура пакета:

...