...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Сконфигурировать L3-интерфейс, от которого будет строиться GRE-туннель. | ||
2 | Создать GRE-туннель и перейти в режим его конфигурирования. | esr(config)# tunnel gre <INDEX> | <INDEX> – идентификатор туннеля в диапазоне:
|
3 | Указать экземпляр VRF, в котором будет работать данный GRE-туннель (не обязательно). | esr(config-gre )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Указать имя VRF от IP-интерфейса которого будет строиться данный GRE-туннель (не обязательно). | esr-(config-gre)# tunnel-source vrf <VRF> | <VRF> – имя экземпляра VRF, задается строкой до 31 символа. Без указания ключа "vrf" и имени экземпляра VRF , будет использоваться IP-интерфейс глобальной конфигурации. |
5 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-gre)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
6 | Установить локальный IP-адрес для установки туннеля. | esr(config-gre)# local address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-gre)# local interface <IF> | <IF> – интерфейс, от IP-адреса которого устанавливается туннель. | ||
7 | Установить удаленный IP-адрес для установки туннеля. | esr(config-gre)# remote address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Указать режим инкапсуляции для GRE-туннеля. | esr(config-gre)# mode <MODE> | <MODE> – режим инкапсуляции для GRE-туннеля:
Значение по умолчанию: ip |
9 | Установить IP-адрес локальной стороны туннеля (только в режиме ip). | esr(config-gre)# ip address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. Можно указать до 8 IP-адресов перечислением через запятую. Дополнительные функции IPv4-адресации см. в разделе Настройка IP-адресации. |
10 | Назначить широковещательный домен для инкапсуляции в GRE-пакеты данного туннеля (только в режиме ethernet). | esr(config-gre)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
11 | Включить GRE-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall (см. раздел Конфигурирование Firewall). | esr(config-gre)# security-zone<NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 12 символов. |
esr(config-gre)# ip firewall disable | |||
12 | Указать размер MTU (Maximum Transmition Unit) для туннеля (не обязательно). | esr(config-gre)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
13 | Указать значение времени жизни TTL для туннельных пакетов (не обязательно). | esr(config-gre)# ttl <TTL> | <TTL> – значение TTL, принимает значения в диапазоне [1..255]. Значение по умолчанию: наследуется от инкапсулируемого пакета. |
14 | Указать DSCP для использования в IP-заголовке инкапсулирующего пакета (не обязательно). | esr(config-gre)# dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: наследуется от инкапсулируемого пакета. |
15 | Разрешить передачу ключа (key) в туннельном заголовке GRE (в соответствии с RFC 2890) и установить значение ключа. Настраивается только с обеих сторон туннеля | esr(config-gre)# key <KEY> | <KEY> – значение KEY, принимает значения в диапазоне [1..2000000]. Значение по умолчанию: ключ не передаётся. |
16 | Включить вычисление контрольной суммы и занесение её в GRE-заголовок отправляемых пакетов. При этом на удаленной стороне необходимо включить проверку контрольной суммы | esr(config-gre)# local checksum | |
17 | Включить проверку наличия и соответствия значений контрольной суммы в заголовках принимаемых GRE-пакетов. При этом на удаленной стороне необходимо включить вычисление контрольной суммы | esr(config-gre)# remote checksum | |
18 | Включить проверку доступности удаленного шлюза туннеля (не обязательно). | esr(config-gre)# keepalive enable | |
19 | Изменить время ожидания keepalive пакетов от встречной стороны (не обязательно). | esr(config-gre)# keepalive timeout <TIME> | <TIME> – время в секундах, принимает значения в диапазоне [1..32767]. Значение по умолчанию: 10. |
20 | Изменить количество попыток проверки доступности удаленного шлюза туннеля (не обязательно). | esr(config-gre)# keepalive retries <VALUE> | <VALUE> – количество попыток, принимает значения в диапазоне [1..255]. Значение по умолчанию: 5. |
21 | Указать IP-адрес для работы механизма keepalive (обязательно в режиме ethernet). | esr(config-gre)# keepalive dst-address <ADDR> | <ADDR> – IP-адрес для проверки работоспособности GRE-туннеля. |
22 | Изменить интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно). | esr(config-gre)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5. |
23 | Включить отправку snmp-trap о включении/отключении туннеля. | esr(config-gre)# snmp init-trap | |
24 | Включить механизм перезапроса IP-адресов по протоколу DHCP на указанных интерфейсах при отключении GRE-туннеля по keepalive (не обязательно). | esr(config-gre)# keepalive dhcp dependent-interface <IF> | <IF> – физический/логический интерфейс, на котором включено получение IP-адреса по DHCP. |
25 | Задать интервал времени между отключением GRE-туннеля и перезапросом IP-адреса на интерфейсе/интерфейсах, указанных командой keepalive dhcp dependent-interface (не обязательно). | esr(config-gre)# keepalive dhcp link-timeout <SEC> | <SEC> – интервал между отключением GRE-туннеля и перезапросом IP-адреса по DHCP на интерфейсах. |
26 | Переопределить значение поля MSS (Maximum segment size) во входящих TCP-пакетах (не обязательно). | esr(config-gre)# ip tcp adjust-mss <MSS> | <MSS> – значение MSS, принимает значения в диапазоне [500..1460]. Значение по умолчанию: 1460. |
27 | Включить запись статистики использования текущего туннеля (не обязательно). | esr(config-gre)# history statistics | |
28 | Активировать туннель. | esr(config-gre)# enable | |
Также для GRE-туннеля возможно настроить:
|
...
Чтобы установить такое соединение, клиенты (NHC) по шифрованному IPsec-туннелю отправляют соответствие своего внутреннего (туннельного) адреса и внешнего (NBMA) адреса на NHRP-сервер (NHS). Когда клиент захочет соединиться с другим NHC, он посылает на сервер запрос, чтобы узнать его внешний адрес. Получив ответ от сервера, клиент теперь самостоятельно может устанавливать соединение c удалённым филиалом.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Проверить доступность «внешних» IP-адресов, находящихся на физических интерфейсах. |
| |
2 | Подготовить IPsec-туннели для работы совместно с динамическими GRE-туннелями. |
| См. раздел Настройка Policy-based IPsec VPN. |
3 | Создать GRE-туннель и перейти в режим его конфигурирования. | esr(config)# tunnel gre <INDEX> | <INDEX> – идентификатор туннеля. |
4 | Перевести GRE-туннель в режим multipoint. | esr(config-gre )# multipoint |
4
5 | Указать экземпляр VRF, в котором будет работать данный GRE-туннель (не обязательно). | esr(config-gre )# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
6 | Указать имя VRF от IP-интерфейса которого будет строиться данный GRE-туннель (не обязательно). | esr(config-gre)# tunnel-source vrf <VRF> | <VRF> – имя экземпляра VRF, задается строкой до 31 символа. Без указания ключа "vrf" и имени экземпляра VRF, будет использоваться IP-интерфейс глобальной конфигурации. |
7 | Установить локальный IP-адрес для установки туннеля. | esr(config-gre)# local address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-gre)# local interface <IF> | <IF> – интерфейс, от IP-адреса которого устанавливается туннель. | ||
8 | Задать IP-адрес на туннеле. В качестве альтернативы можно настроить DHCP-клиент для получения IP-адреса от DHCP-сервера. | esr(config-gre)# ip address <ADDR/LEN> | Также есть возможность создания нескольких адресов (через запятую). |
esr(config-gre)# ip address dhcp | <ADDR/LEN> – IP-адрес и длина маски подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. | ||
9 | Установить открытый пароль для NHRP-пакетов (не обязательно). | esr(config-gre)# ip nhrp authentication <WORD> | <WORD> – пароль в открытой форме, задается строкой [1..8] символов, может включать символы [0-9a-fA-F]. |
10 | Указать время, в течение которого на NHS будет существовать запись о данном клиенте (не обязательно). | esr(config-gre)# ip nhrp holding-time <TIME> | <TIME> – время в секундах, в течение которого на сервере будет существовать запись о данном клиенте, принимает значения [1..65535]. Значение по умолчанию: 7200. |
11 | Задать «логический (туннельный)» адрес NHRP-сервера. | esr(config-gre)# ip nhrp nhs <ADDR> [ no-registration ] | <ADDR/LEN> – адрес, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32];
|
12 | Задать соответствие «внутреннего» туннельного адреса с «внешним» NBMA-адресом. | esr(config-gre)# ip nhrp map <ADDR> <ADDR> | <ADDR> – IP-адрес задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
13 | Определить адресата мультикастного трафика. | esr(config-gre)# ip nhrp multicast { dynamic | nhs | <ADDR> } |
<ADDR> – отправлять на специфически сконфигурированный адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
14 | Включить возможность отправки NHRP Traffic Indication пакетов. Выполняется на NHS (не обязательно). | esr(config-gre)# ip nhrp redirect |
15 | Включить возможность создания кратчайших маршрутов. Выполняется на NHC (не обязательно). | esr(config-gre)# ip nhrp shortcut |
16 | Привязать IPsec-VPN к mGRE-туннелю (не обязательно). | esr(config-gre)# ip nhrp ipsec <WORD> { static | dynamic } | <WORD> – имя VPN, задаётся строкой до 31 символа;
|
17 | Включить передачу имени NHRP-группы NHRP-соседям в процессе обмена NHRP-сообщениями (не обязательно). | esr(config-gre)# ip nhrp attribute group <WORD> | <WORD> – имя группы NHRP, задаётся строкой [1..40] символов, не принимает символы [^#]. |
18 | Задать соответствие группы NHRP, полученной от NHRP-соседа в процессе обмена NHRP-сообщениями, и политики QoS, которая будет применена к исходящему в сторону этого NHRP-соседа трафика (не обязательно). | esr(config-gre)# ip nhrp map group <GROUP> service-policy output <POLICY> | <GROUP> – имя группы NHRP, задаётся строкой [1..40] символов, не принимает символы [^#]; <POLICY> – имя QoS-политики, задается строкой [1..31] символов. |
19 | Включить работу протокола NHRP. | esr(config-gre)# ip nhrp enable |
20 | Организовать IP-связность посредством протокола динамической маршрутизации. | ||
Остальные настройки аналогичны настройкам статичного GRE-туннеля (см. раздел Настройка GRE-туннелей). |
Scroll Pagebreak |
---|
Пример настройки 1
Задача:
...
HUB внешний IP-адрес — 150.115.0.5;
SPOKE-1 внешний IP-адрес — 180.100.0.10;
SPOKE-2 внешний IP-адрес — 140.114.0.4.
Scroll Pagebreak |
---|
Параметры IPsec VPN:
IKE:
- группа Диффи-Хэллмана: 2;
- алгоритм шифрования: AES128;
- алгоритм аутентификации: MD5.
...
- группа Диффи-Хэллмана: 2;
- алгоритм шифрования: AES128;
- алгоритм аутентификации: MD5.
Scroll Pagebreak |
---|
Решение:
Конфигурирование HUB:
Предварительно настроим протокол OSPF:Блок кода esr(config)# router ospf log-adjacency-changes esr(config)# router ospf 1 esr(config-ospf)# router-id 77.77.77.77 esr(config-ospf)# area 10.10.0.0 esr(config-ospf-area)# enable esr(config-ospf-area)# exit esr(config-ospf)# enable esr(config-ospf)# exit
Настроим интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr(config)# security zone untrusted esr(config-zone)# exit esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# ip address 150.115.0.5/30 esr(config-if-gi)# exit
Настроим GRE-туннель, определим принадлежность к зоне безопасности, настроим OSPF на GRE-туннеле, настроим NHRP и включим туннель и NHRP командой enable. Чтобы HUB стал DR, необходимо выставить максимальный приоритет:
Блок кода esr(config)# tunnel gre 1 esr(config-gre)# ttl 16 esr(config-gre)# mtu 1416 esr(config-gre)# multipoint esr(config-gre)# security-zone untrusted esr(config-gre)# local address 150.115.0.5 esr(config-gre)# ip address 10.10.0.1/28 esr(config-gre)# ip ospf instance 1 esr(config-gre)# ip ospf area 10.10.0.0 esr(config-gre)# ip ospf priority 255 esr(config-gre)# ip ospf esr(config-gre)# ip nhrp multicast dynamic esr(config-gre)# ip nhrp enable esr(config-gre)# enable esr(config-gre)# exit
Создадим статические маршруты для подсетей интерфейсов spoke 180.100.0.8/30 и 140.114.0.4/30:
Блок кода esr(config)# ip route 180.100.0.8/30 150.115.0.6 esr(config)# ip route 140.114.0.4/30 150.115.0.6
Произведём настройку IPsec для HUB:Scroll Pagebreak Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# exit
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key ascii-text password esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Блок кода esr(config)# security ike gateway ike_spoke esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# local address 150.115.0.5 esr(config-ike-gw)# local network 150.115.0.5/32 protocol gre esr(config-ike-gw)# remote address any esr(config-ike-gw)# remote network any esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# pfs dh-group 2 esr(config-ipsec-proposal)# exit
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Блок кода esr(config)# security ipsec vpn ipsec_spoke esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# type transport esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_spoke esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit
Scroll Pagebreak
Привяжем IPsec к GRE-туннелю, чтобы клиенты могли устанавливать шифрованное соединение:Блок кода esr(config)# tunnel gre 1 esr(config-gre)# ip nhrp ipsec ipsec_spoke dynamic esr(config-gre)# exit
Scroll Pagebreak Конфигурирование SPOKE:
Предварительно настроим протокол OSPF с анонсированием подсети LAN1:Блок кода esr(config)# router ospf log-adjacency-changes esr(config)# router ospf 1 esr(config-ospf)# router-id 1.1.1.1 esr(config-ospf)# area 10.10.0.0 esr(config-ospf-area)# network 192.168.1.0/24 esr(config-ospf-area)# enable esr(config-ospf-area)# exit esr(config-ospf)# enable esr(config-ospf)# exit
Настроим интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr(config)# security zone untrusted esr(config-zone)# exit esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# ip address 180.100.0.10/30 esr(config-if-gi)# exit
Настроим GRE-туннель, определим принадлежность к зоне безопасности, настроим OSPF на GRE-туннеле, настроим NHRP и включим туннель и NHRP командой enable. Чтобы HUB стал DR, необходимо выставить минимальный приоритет на spoke:
Блок кода esr(config)# tunnel gre 1 esr(config-gre)# ttl 16 esr(config-gre)# mtu 1416 esr(config-gre)# multipoint esr(config-gre)# security-zone untrusted esr(config-gre)# local address 180.100.0.10 esr(config-gre)# ip address 10.10.0.2/28 esr(config-gre)# ip ospf instance 1 esr(config-gre)# ip ospf area 10.10.0.0 esr(config-gre)# ip ospf priority 0 esr(config-gre)# ip ospf esr(config-gre)# ip nhrp holding-time 300 esr(config-gre)# ip nhrp map 10.10.0.1 150.115.0.5 esr(config-gre)# ip nhrp nhs 10.10.0.1/28 esr(config-gre)# ip nhrp multicast nhs esr(config-gre)# ip nhrp enable esr(config-gre)# enable esr(config-gre)# exit
Scroll Pagebreak
Создадим статические маршруты для подсетей интерфейсов spoke 180.100.0.8/30 и 140.114.0.4/30:Блок кода esr(config)# ip route 150.115.0.4/30 180.100.0.9 esr(config)# ip route 140.114.0.4/30 180.100.0.9
Произведём настройку IPsec для SPOKE:Scroll Pagebreak Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# exit
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key ascii-text password esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Блок кода esr(config)# security ike gateway ike_spoke esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# local address 180.100.0.10 esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre esr(config-ike-gw)# remote address any esr(config-ike-gw)# remote network any esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit esr(config)# security ike gateway ike_hub esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# local address 180.100.0.10 esr(config-ike-gw)# local network 180.100.0.10/32 protocol gre esr(config-ike-gw)# remote address 150.115.0.5 esr(config-ike-gw)# remote network 150.115.0.5/32 protocol gre esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# pfs dh-group 2 esr(config-ipsec-proposal)# exit
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Блок кода esr(config)# security ipsec vpn ipsec_spoke esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# type transport esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_spoke esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# security ipsec vpn ipsec_hub esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# type transport esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_hub esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit
Привяжем IPsec к GRE-туннелю, для возможности установления шифрованного соединения с сервером и с другими клиентами сети:
Блок кода esr(config)# tunnel gre 1 esr(config-gre)# ip nhrp ipsec ipsec_hub static esr(config-gre)# ip nhrp ipsec ipsec_spoke dynamic esr(config-gre)# exit
Состояние NHRP-записей можно посмотреть командой:
Блок кода esr# show ip nhrp
Scroll Pagebreak Дополнительно в security zone-pair untrusted self необходимо разрешить протоколы для GRE over IPSec-туннеля, а также для протокола OSPF:
Блок кода esr(config)# object-group service ISAKMP_PORT esr(config-object-group-service)# port-range 500 esr(config-object-group-service)# port-range 4500 esr(config-object-group-service)# exit esr(config)# security zone-pair untrusted self esr(config-zone-pair)# rule 1 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol udp esr(config-zone-pair-rule)# match destination-port ISAKMP_PORT esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 2 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol gre esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 3 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol esp esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 4 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol ospf esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# exit
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Сконфигурировать L3-интерфейс, от которого будет строиться L2TPv3-туннель. |
| |
2 | Создать L2TPv3-туннель и перейти в режим его конфигурирования. | esr(config)# tunnel l2tpv3 <INDEX> | <INDEX> – идентификатор туннеля в диапазоне:
|
3 | Указать описание конфигурируемого туннеля (не обязательно). | esr(config-l2tpv3)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
4 | Установить локальный IP-адрес для установки туннеля. | esr(config-l2tpv3)# local address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
5 | Установить удаленный IP-адрес для установки туннеля. | esr(config-l2tpv3)# remote address <ADDR> | <ADDR> – IP-адрес локального шлюза, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
6 | Выбрать метод инкапсуляции для туннеля L2TPv3. | esr(config-l2tpv3)# protocol <TYPE> | <TYPE> – тип инкапсуляции, возможные значения:
|
7 | Установить локальный идентификатор сессии. | esr(config-l2tpv3)# local session-id <SESSION-ID> | <SESSION-ID> – идентификатор сессии, принимает значения [1..200000]. |
8 | Установить удаленный идентификатор сессии. | esr(config-l2tpv3)# remote session-id <SESSION-ID> | <SESSION-ID> – идентификатор сессии, принимает значения [1..200000]. |
9 | Определить локальный UDP-порт (если в качестве метода инкапсуляции был выбран UDP протокол). | esr(config-l2tpv3)# local port <UDP> | <UDP> – номер UDP-порта в диапазоне [1..65535]. |
10 | Определить удаленный UDP-порт (если в качестве метода инкапсуляции был выбран UDP-протокол). | esr(config-l2tpv3)# remote port <UDP> | <UDP> – номер UDP-порта в диапазоне [1..65535]. |
11 | Назначить широковещательный домен для инкапсуляции в L2TPV3-пакеты данного туннеля. | esr(config-l2tpv3)# bridge-group <BRIDGE-ID> | <BRIDGE-ID> – идентификационный номер моста, принимает значения в диапазоне:
|
12 | Активировать туннель. | esr(config-l2tpv3)# enable | |
13 | Указать размер MTU (MaximumTransmitionUnit) для туннелей (не обязательно). MTU более 1500 будет активно только в случае применения команды "system jumbo-frames". | esr(config-l2tpv3)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
14 | Определить локальное значение cookie для дополнительной проверки соответствия между передаваемыми данными и сессией (не обязательно). | esr(config-l2tpv3)# local cookie <COOKIE> | <COOKIE> – значение COOKIE, параметр принимает значения длиной восемь или шестнадцать символов в шестнадцатеричном виде. |
15 | Определить удаленное значение cookie для дополнительной проверки соответствия между передаваемыми данными и сессией (не обязательно). | esr(config-l2tpv3)# remote cookie <COOKIE> | <COOKIE> – значение COOKIE, параметр принимает значения длиной восемь или шестнадцать символов в шестнадцатеричном виде. |
16 | Задать интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно). | esr(config-l2tpv3)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5. |
17 | Включить запись статистики использования текущего туннеля (не обязательно). | esr(config-subif)# history statistics | |
Также для L2TPv3-туннеля возможно настроить:
|
...
- в качестве инкапсулирующего протокола используется UDP, номер порта на локальной стороне и номер порта на стороне партнера 519;
- в качестве локального шлюза для туннеля используется IP-адрес 21.0.0.1;
- в качестве удаленного шлюза для туннеля используется IP-адрес 183.0.0.10;
- идентификатор туннеля на локальной стороне равен 2, на стороне партнера 3;
- идентификатор сессии внутри туннеля равен 100, на стороне партнера 200;
- в туннель направим трафик из bridge с идентификатором 333.
Scroll Pagebreak |
---|
Решение:
Примечание |
---|
Предварительно необходимо в firewall разрешить входящий трафик по протоколу UDP с портом отправителя 519 и портом назначения 519. |
...
Блок кода |
---|
esr(config-l2tpv3)# local address 21.0.0.1 esr(config-l2tpv3)# remote address 183.0.0.10 |
Scroll Pagebreak |
---|
Укажем тип инкапсулирующего протокола и номера UDP-портов:
...
Установим принадлежность L2TPv3-туннеля к мосту, который должен быть связан с сетью удаленного офиса (настройка моста рассматривается в пункте Пример настройки bridge для VLAN и L2TPv3-туннеля):
Блок кода |
---|
esr(config-l2tpv3)# bridge-group 333 |
...
Конфигурирование R1
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if-gi)# ip address 180.100.0.1/24 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# exit
Создадим туннель VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов, граничащих с WAN:
Блок кода esr(config)# tunnel vti 1 esr(config-vti)# local address 180.100.0.1 esr(config-vti)# remote address 120.11.5.1 esr(config-vti)# enable esr(config-vti)# exit
Scroll Pagebreak
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500,4500 esr(config-object-group-service)# exit
Создадим статический маршрут до удаленной LAN-сети. Для каждой подсети, которая находится за IPsec-туннелем, нужно указать маршрут через VTI-туннель:
Блок кода esr(config)# ip route 192.0.2.0/24 tunnel vti 1
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель. Поддержка MOBIKE отключается для route-based IPsec в обязательном порядке:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# mode route-based esr(config-ike-gw)# mobike disable esr(config-ike-gw)# bind-interface vti 1 esr(config-ike-gw)# version v2-only esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Scroll Pagebreak
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы:Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable:
Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
- Конфигурирование R2
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if)# ip address 120.11.5.1/24 esr(config-if)# security-zone untrusted esr(config-if)# exit
Создадим туннель VTI. Трафик будет перенаправляться через VTI в IPsec-туннель. В качестве локального и удаленного шлюза указываются IP-адреса интерфейсов, граничащих с WAN:
Блок кода esr(config)# tunnel vti 1 esr(config-vti)# remote address 180.100.0.1 esr(config-vti)# local address 120.11.5.1 esr(config-vti)# enable esr(config-vti)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500,4500 esr(config-object-group-service)# exit
Создадим статический маршрут до удаленной LAN-сети. Для каждой подсети, которая находится за IPsec-туннелем, нужно указать маршрут через VTI-туннель:
Блок кода esr(config)# ip route 10.0.0.0/16 tunnel vti 1
Scroll Pagebreak
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit esr(config)#
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# mode route-based esr(config-ike-gw)# bind-interface vti 1 esr(config-ike-gw)# version v2-only esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable:Scroll Pagebreak Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
Состояние туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn status ipsec1
Конфигурацию туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn configuration ipsec1
...
Якорь | ||||
---|---|---|---|---|
|
Задача:
Настроить IPsec-туннель между R1 и R2.
...
- Конфигурирование R1
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr# configure esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# ip address 198.51.100.1/24 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:
Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500,4500 esr(config-object-group-service)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:Scroll Pagebreak Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# local address 198.51.100.1 esr(config-ike-gw)# local network 10.0.0.0/16 esr(config-ike-gw)# remote address 203.0.113.1 esr(config-ike-gw)# remote network 192.0.2.0/24 esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.:
Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
- Конфигурирование R2
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:
Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if)# ip address 203.0.113.1/24 esr(config-if)# security-zone untrusted esr(config-if)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:Scroll Pagebreak Блок кода esr(config)# object-group service ISAKMP esr(config-addr-set)# port-range 500 esr(config-addr-set)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal ike_prop1 esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm md5 esr(config-ike-proposal)# encryption algorithm aes128 esr(config-ike-proposal)# exit esr(config)#
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы и ключ аутентификации:
Блок кода esr(config)# security ike policy ike_pol1 esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# proposal ike_prop1 esr(config-ike-policy)# exit
Создадим шлюз протокола IKE. В данном профиле указывается VTI-туннель, политика, версия протокола и режим перенаправления трафика в туннель:
Блок кода esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# ike-policy ike_pol1 esr(config-ike-gw)# remote address 198.51.100.1 esr(config-ike-gw)# remote network 10.0.0.0/16 esr(config-ike-gw)# local address 203.0.113.1 esr(config-ike-gw)# local network 192.0.2.0/24 esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования AES 128 bit, алгоритм аутентификации MD5. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal ipsec_prop1 esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy ipsec_pol1 esr(config-ipsec-policy)# proposal ipsec_prop1 esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable.:Scroll Pagebreak Блок кода esr(config)# security ipsec vpn ipsec1 esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway ike_gw1 esr(config-ipsec-vpn)# ike ipsec-policy ipsec_pol1 esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit esr(config)# exit
Состояние туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn status ipsec1
Конфигурацию туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn configuration ipsec1
...
<MODE> – режим переподключения, принимает следующие значения:
- no – установленное подключение XAUTH будет удалено, если для нового подключения XAUTH инициатором соединения будет отправлено уведомление "INITIAL_CONTACT", будет назначен ранее использованный IP-адрес. В противном случае, установленное соединение XAUTH будет удержано. Для нового подключения XAUTH будет назначен новый IP-адрес.
- never – установленное подключение XAUTH будет удержано. Для нового подключения XAUTH будет назначен новый IP-адрес. Уведомление "INITIAL_CONTACT" будет в любом случае проигнорировано.
- replace – установленное подключение XAUTH будет удалено. Для нового подключения XAUTH будет использован ранее использованный IP-адрес.
- keep – установленное подключение XAUTH будет удержано. Новое подключение XAUTH будет отклонено.
...
Конфигурирование R1
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:Блок кода esr# configure esr(config)# security zone untrusted esr(config-zone)# exit esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# security-zone untrusted esr(config-if-gi)# ip address 180.100.0.1/24 esr(config-if-gi)# exit
Scroll Pagebreak
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:Блок кода esr(config)# object-group service ISAKMP esr(config-object-group-service)# port-range 500,4500 esr(config-object-group-service)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования 3 DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal IKEPROP esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm sha1 esr(config-ike-proposal)# encryption algorithm 3des esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы, ключ аутентификации и метод аутентификации XAUTH по ключу:
Блок кода esr(config)# security ike policy IKEPOLICY esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# authentication method xauth-psk-key esr(config-ike-policy)# proposal IKEPROP esr(config-ike-policy)# exit
Создадим профиль доступа и заведем в нем пару логин и пароль для клиента IPsec VPN:
Блок кода esr(config)# access profile XAUTH esr(config-access-profile)# user client1 esr(config-profile)# password ascii-text password123 esr(config-profile)# exit esr(config-access-profile)# exit
Создадим пул адресов назначения, из которого будут выдаваться IP клиентам IPsec VPN:
Блок кода esr-1000(config)# address-assignment pool CLIENT_POOL esr-1000(config-pool)# ip prefix 192.0.2.0/24 esr-1000(config-pool)# exit
Scroll Pagebreak
Создадим шлюз протокола IKE. В данном профиле необходимо указать политику протокола IKE, указать локальную подсеть, в качестве удаленной подсети указать пул адресов назначения, задать режим перенаправления трафика в туннель по политике и использование второго фактора аутентификации XAUTH:Блок кода esr(config)# security ike gateway IKEGW esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# local address 180.100.0.1 esr(config-ike-gw)# local network 10.0.0.0/16 esr(config-ike-gw)# remote address any esr(config-ike-gw)# remote network dynamic pool CLIENT_POOL esr(config-ike-gw)# dead-peer-detection action clear esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# access-profile XAUTH esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования 3DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IPsec-туннеля:Scroll Pagebreak Блок кода esr(config)# security ipsec proposal IPSECPROP esr(config-ipsec-proposal)# authentication algorithm sha1 esr(config-ipsec-proposal)# encryption algorithm 3des esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы.
Блок кода esr(config)# security ipsec policy IPSECPOLICY esr(config-ipsec-policy)# proposal IPSECPROP esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и режим ожидания входящего соединения IPsec – by-request. После ввода всех параметров включим туннель командой enable.:
Блок кода esr(config)# security ipsec IPSECVPN esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel by-request esr(config-ipsec-vpn)# ike gateway IKEGW esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit
Scroll Pagebreak
Разрешим протокол esp и udp порты 500, 4500 в конфигурации firewall для установления IPsec VPN:Блок кода esr(config)# security zone-pair untrusted self esr(config-zone-pair)# rule 1 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol udp esr(config-zone-pair-rule)# match destination-port ISAKMP esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 2 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol esp esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# end
Конфигурирование R2
Настроим внешний сетевой интерфейс и определим принадлежность к зоне безопасности:Блок кода esr# configure esr(config)# interface gi 1/0/1 esr(config-if)# ip address 120.11.5.1/24 esr(config-if)# security-zone untrusted esr(config-if)# exit
Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:Scroll Pagebreak Блок кода esr(config)# object-group service ISAKMP esr(config-addr-set)# port-range 500,4500 esr(config-addr-set)# exit
Создадим профиль протокола IKE. В профиле укажем группу Диффи-Хэллмана 2, алгоритм шифрования 3 DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IKE-соединения:
Блок кода esr(config)# security ike proposal IKEPROP esr(config-ike-proposal)# dh-group 2 esr(config-ike-proposal)# authentication algorithm sha1 esr(config-ike-proposal)# encryption algorithm 3des esr(config-ike-proposal)# exit
Создадим политику протокола IKE. В политике указывается список профилей протокола IKE, по которым могут согласовываться узлы, ключ аутентификации, метод аутентификации XAUTH по ключу и режим аутентификации – клиент:
Блок кода esr(config)# security ike policy IKEPOLICY esr(config-ike-policy)# pre-shared-key hexadecimal 123FFF esr(config-ike-policy)# authentication method xauth-psk-key esr(config-ike-policy)# authentication mode client esr(config-ike-policy)# proposal IKEPROP esr(config-ike-policy)# exit
Scroll Pagebreak
Создадим профиль доступа и заведем в нем пару логин и пароль:Блок кода esr(config)# access profile XAUTH esr(config-access-profile)# user client1 esr(config-profile)# password ascii-text password123 esr(config-profile)# exit esr(config-access-profile)# exit
Создадим интерфейс loopback для терминации IP-адреса, полученного от IPsec VPN сервера:
Блок кода esr(config)# interface loopback 8 esr(config-loopback)# exit
Создадим шлюз протокола IKE. В данном профиле указывается политика, интерфейс терминации, режим динамического установления удаленной подсети, выбор профиля доступа для XAUTH и режим перенаправления трафика в туннель по политике:
Блок кода esr(config)# security ike gateway IKEGW esr(config-ike-gw)# ike-policy IKEPOLICY esr(config-ike-gw)# assign-interface loopback 8 esr(config-ike-gw)# local address 120.11.5.1 esr(config-ike-gw)# remote address 180.100.0.1 esr(config-ike-gw)# remote network dynamic client esr(config-ike-gw)# mode policy-based esr(config-ike-gw)# access-profile xauth client client1 esr(config-ike-gw)# exit
Создадим профиль параметров безопасности для IPsec-туннеля. В профиле укажем алгоритм шифрования 3DES, алгоритм аутентификации SHA1. Данные параметры безопасности используются для защиты IPsec-туннеля:
Блок кода esr(config)# security ipsec proposal IPSECPROP esr(config-ipsec-proposal)# authentication algorithm md5 esr(config-ipsec-proposal)# encryption algorithm aes128 esr(config-ipsec-proposal)# exit
Создадим политику для IPsec-туннеля. В политике указывается список профилей IPsec-туннеля, по которым могут согласовываться узлы:
Блок кода esr(config)# security ipsec policy IPSECPOLICY esr(config-ipsec-policy)# proposal IPSECPROP esr(config-ipsec-policy)# exit
Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IP sec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой enable:
Блок кода esr(config)# security ipsec vpn IPSECVPN esr(config-ipsec-vpn)# mode ike esr(config-ipsec-vpn)# ike establish-tunnel route esr(config-ipsec-vpn)# ike gateway IKEGW esr(config-ipsec-vpn)# ike ipsec-policy IPSECPOLICY esr(config-ipsec-vpn)# enable esr(config-ipsec-vpn)# exit
Разрешим протокол esp и udp порты 500,4500 в конфигурации firewall для установления IPsec VPN:
Блок кода esr(config)# security zone-pair untrusted self esr(config-zone-pair)# rule 1 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol udp esr(config-zone-pair-rule)# match destination-port ISAKMP esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# rule 2 esr(config-zone-pair-rule)# action permit esr(config-zone-pair-rule)# match protocol esp esr(config-zone-pair-rule)# enable esr(config-zone-pair-rule)# exit esr(config-zone-pair)# end
Состояние туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn status IPSECVPN
Конфигурацию туннеля можно посмотреть командой:
Блок кода esr# show security ipsec vpn configuration IPSECVPN
...
Блок кода |
---|
esr# configure esr(config)# security ike gateway ike_gw1 esr(config-ike-gw)# dead-peer-detection action restart esr(config-ike-gw)# dead-peer-detection interval 1 esr(config-ike-gw)# dead-peer-detection timeout 4 esr(config-ike-gw)# exit |
Scroll Pagebreak |
---|
Состояние туннеля можно посмотреть командой:
...
Блок кода |
---|
esr# show security ipsec vpn configuration ipsec1 |
Scroll Pagebreak |
---|
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать LT-туннели для каждого из существующих VRF. | esr(config)# tunnel lt <ID> | <ID> – идентификатор туннеля в диапазоне [1..128]. |
2 | Указать описание конфигурируемых туннелей (не обязательно). | esr(config-lt)# description <DESCRIPTION> | <DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов. |
3 | Включить каждый LT-туннель в соответствующий VFR. | esr(config-lt)# ip vrf forwarding <VRF> | <VRF> – имя VRF, задается строкой до 31 символа. |
4 | Включить каждый LT-туннель в зону безопасности и настроить правила взаимодействия между зонами или отключить firewall для LT-туннеля. | esr(config-lt)# security-zone<NAME> | <NAME> – имя зоны безопасности, задаётся строкой до 12 символов. |
esr(config-lt)# ip firewall disable | |||
5 | Для каждого LT-туннеля задать номер противоположный LT туннель (в другом VRF). | esr(config-lt)# peer lt <ID> | <ID> – идентификатор туннеля в диапазоне [1..128]. |
6 | Для каждого LT-туннеля указать IP-адрес для маршрутизации пакетов. Для взаимодействующих LT-туннелей, IP-адреса должны быть из одной IP-подсети. | esr(config-lt)# ip address <ADDR/LEN> | <ADDR/LEN> – IP-адрес и префикс подсети, задаётся в виде AAA.BBB.CCC.DDD/EE, где каждая часть AAA – DDD принимает значения [0..255] и EE принимает значения [1..32]. |
7 | Включить туннели. | esr(config-lt)# enable | |
8 | Для каждого VRF настроить необходимые протоколы маршрутизации через LT-туннель. | ||
9 | Задать интервал времени, за который усредняется статистика о нагрузке на туннеле (не обязательно). | esr(config-lt)# load-average <TIME> | <TIME> – интервал в секундах, принимает значения [5..150]. Значение по умолчанию: 5. |
10 | Указать размер MTU (Maximum Transmition Unit) пакетов, которые может пропускать данный bridge (не обязательно; возможно, если в bridge включен только VLAN). | esr(config-lt)# mtu <MTU> | <MTU> – значение MTU, принимает значения в диапазоне:
Значение по умолчанию: 1500. |
...