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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Конфигурирование 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

    Scroll Pagebreak

    Настроим 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:

    Блок кода
    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

    Привяжем IPsec к GRE-туннелю, чтобы клиенты могли устанавливать шифрованное соединение:

    Блок кода
    esr(config)# tunnel gre 1
    esr(config-gre)# ip nhrp ipsec ipsec_spoke dynamic
    esr(config-gre)# exit


  2. Конфигурирование 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

    Scroll Pagebreak

    Настроим 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

    Создадим статические маршруты для подсетей интерфейсов 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:

    Блок кода
    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

    Scroll Pagebreak

  3. Состояние NHRP-записей можно посмотреть командой:

    Блок кода
    esr# show ip nhrp


  4. Дополнительно в 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 object-group 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Создать IKE-экземпляр и перейти в режим его конфигурирования.

esr(config)# security ike proposal <NAME>

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

esr(config-ike-proposal)# description<DESCRIPTION>

<DESCRIPTION> – описание туннеля, задаётся строкой до 255 символов.
3Определить алгоритм аутентификации для IKE.

esr(config-ike-proposal)# authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512.
4Определить алгоритм шифрования для IKE.

esr(config-ike-proposal)# encryption algorithm <ALGORITHM>

<ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256.
5Определить номер группы Диффи-Хэллмана.

esr(config-ike-proposal)# dh-group <DH-GROUP>

<DH-GROUP> – номер группы Диффи-Хэллмана, принимает значения [1, 2, 5, 14, 15, 16, 17, 18].
6Создать политику для профиля IKE и перейти в режим её конфигурирования.

esr(config)# security ike policy <NAME>

<NAME> – имя политики IKE, задаётся строкой до 31 символа.

7

Определить режим аутентификации.

esr(config-ike-policy)# authentication method <METHOD>

<METHOD> – метод аутентификации IKE-сессии. Может принимать значения:

  • pre-shared-key – метод аутентификации, использующий предварительно согласованные ключи, которые должны совпадать у обоих участников IKE-сессии;
  • keyring – метод аутентификации, использующий набор предварительно согласованных ключей;
  • public-key – метод аутентификации, использующий приватные ключи и сертификаты X.509. Файлы сертификатов и ключей должны быть загружены в локальное хранилище маршрутизатора;
  • trustpoint – метод аутентификации, использующий приватные ключи и сертификаты X.509. Файлы сертификатов и ключей предоставляются PKI-клиентом, который автоматически выписывает актуальные сертификаты у удостоверяющего центра;
  • xauth-psk-key – метод расширенной аутентификации, использующий в качестве первого фактора аутентификации предварительно согласованные ключи и пару логин-пароль пользователя в качестве второго фактора аутентификации;
  • eap – метод расширенной аутентификации, использующий приватные ключи и сертификаты X.509 для аутентификации ответчика в IKE-сессии и пару логин-пароль пользователя для аутентификации инициатора IKE-сессии.
8Задать время жизни соединения протокола IKE (необязательно).

esr(config-ike-policy)# lifetime seconds <SEC>

<SEC> – период времени, принимает значения [4 ..86400] секунд.

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

9Привязать политику к профилю.

esr(config-ike-policy)# proposal <NAME>

<NAME> – имя профиля протокола IKE, задаётся строкой до 31 символа.
10Указать ключ аутентификации.

esr(config-ike-policy)#pre-shared-key ascii-text<TEXT>

<TEXT> – строка [1..64] ASCII-символов.
11Создать шлюз для IKE и перейти в режим его конфигурирования.

esr(config)# security ike gateway <NAME>

<NAME> – имя шлюза протокола IKE, задаётся строкой до 31 символа.
12Привязать политику IKE.

esr(config-ike-gw)# ike-policy <NAME>

<NAME> – имя политики протокола IKE, задаётся строкой до 31 символа.
13Указать версию IKE (необязательно).

esr(config-ike-gw)# version <VERSION>

<version> – версия IKE-протокола: v1-only или v2-only.
14Установить режим перенаправления трафика в туннель.

esr(config-ike-gw)#mode<MODE>

<MODE> – режим перенаправления трафика в туннель, принимает значения:

  • policy - based – трафик перенаправляется на основе принадлежности к указанным в политиках подсетям;
  • route - based – трафик перенаправляется на основе маршрутов, шлюзом у которых является туннельный интерфейс.
15Указать действие для DPD (необязательно).

esr(config-ike-gw)# dead-peer-detection action <MODE>

<MODE> – режим работы DPD:

  • restart – соединение переустанавливается;
  • clear – соединение останавливается;
  • hold – соединение поддерживается;
  • none – механизм выключен, никаких действий не предпринимается.
16Указать интервал между отправкой сообщений механизмом DPD (необязательно).

esr(config-ike-gw)#dead-peer-detection interval <SEC>

<SEC> – интервал между отправкой сообщений механизмом DPD, принимает значения [1..180] секунд.

17

Указать период времени ожидания ответа на сообщения механизма DPD (необязательно).

esr(config-ike-gw)# dead-peer-detection timeout <SEC>

<SEC> – период времени ожидания ответа на сообщения механизма DPD принимает значения [1..180] секунд.

Значение по умолчанию: 30 секунд.

18Указать базовый период времени ожидания ответа на сообщения (необязательно).esr(config-ike-gw)# retransmit timeout <SEC>
<SEC> – базовый период времени ожидания ответа на сообщения принимает значения [1..30] секунд.
Значение по умолчанию: 4 секунды.
19Указать количество попыток повторной отправки сообщений после наступления таймаута ожидания ответа (необязательно).esr(config-ike-gw)# retransmit tries <TRIES>

<TRIES> – количество попыток повторной отправки сообщений в случае наступления таймаута ожидания ответа принимает значения от 1 до 10.
Для первого отправленного сообщения период времени ожидания ответа будет равен базовому периоду, указанному в команде retransmit timeout, а для последующих попыток интервал ожидания будет рассчитан по формуле:

"retransmit timeout" * 1.8 ^ (N-1), где N - номер попытки.

Значение по умолчанию: 5 попыток.

20Указать уровень случайного разброса периода ожидания ответа на сообщения (необязательно).esr(config-ike-gw)# retransmit jitter <VALUE>

<VALUE> – максимальный процент разброса значений, принимает значения [0..100].

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

21Указать ограничение максимального периода времени ожидания ответа на сообщения (необязательно).esr(config-ike-gw)# retransmit limit <SEC>

<SEC> – максимальный период времени ожидания ответа на сообщения принимает значения [15..300] секунд.

Значение по умолчанию: 0 секунд, у периода нет верхнего предела.

22

Установить IP-адрес удаленного шлюза IPsec-туннеля.

esr(config-ike-gw)#remote address <ADDR>

<ADDR> – IP-адрес удаленного шлюза.

23

Установить IP-адрес подсети получателя, а также IP-протокол и порт.

esr(config-ike-gw)# remote network <ADDR/LEN>
[ protocol { <TYPE> | <ID> } [ port <PORT> ] ]

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

<TYPE> – тип протокола, принимает значения: esp, icmp, ah, eigrp, ospf, igmp, ipip, tcp, pim, udp, vrrp, rdp, l2tp, gre;

<ID> – идентификационный номер IP-протокола, принимает значения [0x00-0xFF];

<PORT> – TCP/UDP-порт, принимает значения [1..65535].


Установить 





24

Создать в профиль IPsec.

esr(config)# security ipsec proposal <NAME>

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

25

Определить алгоритм аутентификации для IPsec.

esr(config-ipsec-proposal)# authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм аутентификации, принимает значения: md5, sha1, sha2-256, sha2‑384, sha2-512.

26

Определить алгоритм шифрования для IPsec.

esr(config-ipsec-proposal)# encryption algorithm <ALGORITHM>

<ALGORITHM> – протокол шифрования, принимает значения: des, 3des, blowfish128, blowfish192, blowfish256, aes128, aes192, aes256, aes128ctr, aes192ctr, aes256ctr, camellia128, camellia192, camellia256.

27

Указать протокол (необязательно).

esr(config-ipsec-proposal)#protocol <PROTOCOL>

<PROTOCOL> – инкапсулирующий протокол, принимает значения

  • ah – данный протокол осуществляет только аутентификацию трафика, шифрование данных не выполняется;
  • esp – данный протокол осуществляет аутентификацию и шифрование трафика.

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

28

Создать политику для профиля IPsec и перейти в режим её конфигурирования.

esr(config)# security ipsec policy <NAME>

<NAME> – имя политики IPsec, задаётся строкой до 31 символа.

29

Привязать политику к профилю.

esr(config-ipsec-policy)# proposal <NAME>

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

30

Задать время жизни IPsec-туннеля (необязательно).

esr(config-ipsec-policy)# lifetime { seconds <SEC> |
packets <PACKETS> | kilobytes <KB> }

<SEC> – период времени жизни IPsec-туннеля, по истечении которого происходит пересогласование. Принимает значения [1140..86400] секунд.

<PACKETS> – количество пакетов, после передачи которых происходит пересогласование IPsec-туннеля. Принимает значения [4..86400].

<KB> – объем трафика, после передачи которого происходит пересогласование IPsec-туннеля. Принимает значения [4..4608000] секунд.

31

Отключить реаутентификацию IKE-сессии (необязательно).

esr(config-ipsec-policy)# reauthentication disable


32

Создать IPsec VPN и перейти в режим конфигурирования.

esr(config)# security ipsecvpn <NAME>

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

33

Определить режим согласования данных, необходимых для активации VPN.

esr(config-ipsec-vpn)# mode <MODE>

<MODE> – режим работы VPN.

34

Привязать IPsec политику к VPN.

esr(config-ipsec-vpn)#ike ipsec-policy <NAME>

<NAME> – имя IPsec-политики, задаётся строка до 31 символа.

35

Задать значение DSCP для использования в IP-заголовке исходящих пакетов IKE-протокола (необязательно).

esr(config-ipsec-vpn)#ike dscp <DSCP>

DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63].

36

Установить режим активации VPN.

esr(config-ipsec-vpn)#ike establish-tunnel <MODE>

<MODE> – режим активации VPN:

  • by - request – соединение активируется встречной стороной;
  • route – соединение активируется при появлении трафика, маршрутизируемого в туннель;
  • immediate – туннель активируется автоматически после применения конфигурации.

37

Осуществить привязка IKE-шлюза к VPN.

esr(config-ipsec-vpn)# ike gateway <NAME>

<NAME> – имя IKE-шлюза, задаётся строкой до 31 символа.

38

Установить значение временного интервала в секундах, по истечению которого соединение закрывается, если не было принято или передано ни одного пакета через SA (необязательно).

esr(config-ipsec-vpn)# ike idle-time <TIME>

<TIME> – интервал в секундах, принимает значения [4..86400].

39

Отключить пересогласование ключей до разрыва IKE-соединения по истечению времени, количеству переданных пакетов или байт (необязательно).

esr(config-ipsec-vpn)#ike rekey disable


40

Настроить начало пересогласования ключей IKE-соединения до истечения времени жизни (необязательно).

esr(config-ipsec-vpn)# Ike rekey margin { seconds <SEC> |
packets <PACKETS> | kilobytes <KB> }

<SEC> – интервал времени в секундах, оставшийся до закрытия соединения (задается командой lifetimeseconds) . Принимает значения [4..86400].

<PACKETS> – количество пакетов, оставшихся до закрытия соединения (задается командой lifetimepackets). Принимает значения [4..86400].

<KB> – объем трафика в килобайтах, оставшийся до закрытия соединения (задается командой lifetimekilobytes). Принимает значения [4..86400]

41

Установить уровень случайного разброса значений параметров marginseconds, marginpackets, marginkilobytes (необязательно).

esr(config-ipsec-vpn)# ike rekey randomization <VALUE>

<VALUE> – максимальный процент разброса значений, принимает значения [1..100].

42

Описать VPN (необязательно).

esr(config-ipsec-vpn)# description <DESCRIPTION>

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

43

Активировать IPsec VPN.

esr(config-ipsec-vpn)# enable


Якорь
Пример настройки Policy-based IPsec VPN
Пример настройки Policy-based IPsec VPN
Пример настройки Policy-based IPsec VPN с аутентификацией по общему известному ключу

Задача:

Настроить IPsec-туннель между R1 и R2.

...

  • группа Диффи-Хэллмана: 2;
  • алгоритм шифрования: AES 128 bit;
  • алгоритм аутентификации: MD5;
  • аутентификация по общему известному ключу.

IPsec:

  • алгоритм шифрования: AES 128 bit;
  • алгоритм аутентификации: MD5.
Решение:
Примечание

Предварительно в В firewall необходимо разрешить протокол ESP и ISAKMP (, UDP-порт 500 (для протокола ISAKMP), UDP-порт 4500 (для IPsec трафика при наличии NAT между IPsec соседями).

1) Конфигурирование R1

Настроим

...

IP-адрес на внешнем сетевом интерфейсе:

Блок кода
esr# configure
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# ip address 198.51.100.1/24

...


esr(config-if-gi)# exit

...

Блок кода
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

Scroll Pagebreak

Создадим шлюз протокола IKE. В данном

...

разделе привяжем раннее созданную политику протокола IKE, укажем IP-адреса для построения IPsec туннеля и набор локальных и удаленных сетей, трафик между которыми необходимо будет шифровать. Также укажем версию протокола IKE и "policy-based" в качестве режима перенаправления трафика в туннель:

Блок кода
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-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой 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


2) Конфигурирование R2

Настроим

...

IP-адрес на внешнем сетевом интерфейсе:

Блок кода
esr# configure
esr(config)# interface gi 1/0/1
esr(config-if)# ip address 203.0.113.1/24
esr(config-if)# 

...

Для настройки правил зон безопасности потребуется создать профиль порта протокола ISAKMP:

...

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. В данном разделе привяжем раннее созданную политику протокола IKE, укажем IP-адреса для построения IPsec туннеля и набор локальных и удаленных сетей, трафик между которыми необходимо будет шифровать. Также укажем версию протокола IKE и «policy-based» в качестве режима перенаправления трафика в туннель:

Блок кода
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

Scroll Pagebreak

Создадим IPsec VPN. В VPN указывается шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой 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

Состояние туннеля можно посмотреть командой:

Блок кода
esr# show security ipsec vpn status ipsec1

Конфигурацию туннеля можно посмотреть командой:

Блок кода
esr# show security ipsec vpn configuration ipsec1

Пример настройки Policy-based IPsec VPN с аутентификацией сертификатам X.509, выписываемых PKI-клиентом

Задача:

Image Added

Настроить IPsec-туннель между R1 и R2.

R1 IP-адрес – 198.51.100.1;

R2 IP-адрес – 203.0.113.1;

PKI:

  • R1 выступает в роли PKI-сервера – удостоверяющего центра с самоподписанным сертификатом;
  • На R1 и R2 настраиваются PKI-клиенты, запрашивающие выпуск сертификатов для IPsec VPN на R1.

IKE:

  • группа Диффи-Хэллмана: 2;
  • алгоритм шифрования: AES 128 bit;
  • алгоритм аутентификации: MD5;
  • аутентификация по сертификатам X.509.
    Scroll Pagebreak

IPsec:

  • алгоритм шифрования: AES 128 bit;
  • алгоритм аутентификации: MD5.
Решение:
Примечание

В firewall необходимо разрешить протокол ESP, UDP-порт 500 (для протокола ISAKMP), UDP-порт 4500 (для IPsec трафика при наличии NAT между IPsec соседями). Также на стороне R1 необходимо разрешить TCP-порт 80 для доступа PKI-клиентов к PKI-серверу.

1) Конфигурирование R1

Настроим IP-адрес на внешнем сетевом интерфейсе:

Блок кода
esr# configure
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# ip address 198.51.100.1/24
esr(config-if-gi)# exit

Настроим NTP-клиента на получение точного времени от шлюза Интернет-провайдера:

Блок кода
esr(config)# ntp enable
esr(config)# ntp server 198.51.100.15
esr(config-ntp-server)# exit
esr(config)#

Настроим PKI-сервер. В нем заполним отличительное имя, challenge-password, время жизни выписываемых клиентских сертификатов и привяжем PKI-сервер к внешнему сетевому интерфейсу:

Блок кода
esr(config)# crypto pki server 
esr(config-pki-server)# subject-name 
esr(config-pki-server-subject-name)# country RU
esr(config-pki-server-subject-name)# state Moscow
esr(config-pki-server-subject-name)# locality Moscow
esr(config-pki-server-subject-name)# organization Company
esr(config-pki-server-subject-name)# common-name ca.company.loc
esr(config-pki-server-subject-name)# exit
esr(config-pki-server)# source-interface gi 1/0/1
esr(config-pki-server)# challenge-password password
esr(config-pki-server)# lifetime 7
esr(config-pki-server)# enable 
esr(config-pki-server)# exit
esr(config)# 

Scroll Pagebreak

На этом этапе необходимо применить конфигурацию на маршрутизаторе, чтобы получить цифровой отпечаток сертификата PKI-сервера из вывода команды show crypto pki server, он понадобится в дальнейшей настройке PKI-клиентов:

Блок кода
esr# show crypto pki server
Status:                    Enabled
Lifetime days:             14
Certificate fingerprint:   79:D2:B6:7E:DF:77:2D:C5:27:68:99:10:BA:EC:D2:47
Source:                    gigabitethernet 1/0/1
Last issued serial number: --
Challenge password:        Active
ESR.CA#

Продолжим дальнейшую настройку PKI-клиента. Необходимо заполнить отличительное имя, URL для подключения к PKI-серверу (в случае маршрутизатора R1 – его собственный IP-адрес, назначенный на внешний интерфейс), ранее полученный цифровой отпечаток сертификата PKI-сервера и доменное имя маршрутизатора в качестве альтернативного имени клиентского сертификата:

Блок кода
esr(config)# crypto pki trustpoint TP_R1
esr(config-trustpoint)# subject-name 
esr(config-trustpoint-subject-name)# country RU
esr(config-trustpoint-subject-name)# state Moscow
esr(config-trustpoint-subject-name)# locality Moscow
esr(config-trustpoint-subject-name)# organization Company
esr(config-trustpoint-subject-name)# common-name r1.company.loc
esr(config-trustpoint-subject-name)# exit
esr(config-trustpoint)# subject-alt-name
esr(config-trustpoint-san)# dns r1.company.loc
esr(config-trustpoint-san)# exit
esr(config-trustpoint)# url http://198.51.100.1/
esr(config-trustpoint)# fingerprint 79:D2:B6:7E:DF:77:2D:C5:27:68:99:10:BA:EC:D2:47
esr(config-trustpoint)# challenge-password password
esr(config-trustpoint)# enable 
esr(config-trustpoint)# exit
esr(config)#

Перейдем к настройке VPN.

Создадим набор алгоритмов для протокола 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

Scroll Pagebreak

Создадим политику протокола IKE. В политике указываем ранее созданный набор алгоритмов, в качестве метода аутентификации выбираем "trustpoint" и в команде crypto trustpoint указываем имя ранее созданного PKI-клиента, выписываемые им сертификаты будут использованы при аутентификации IKE-сессии:

Блок кода
esr(config)# security ike policy ike_pol1
esr(config-ike-policy)# proposal ike_prop1
esr(config-ike-policy)# authentication method trustpoint
esr(config-ike-policy)# crypto trustpoint TP_R1
esr(config-ike-policy)# exit

Создадим шлюз протокола IKE. В данном разделе привяжем раннее созданную политику протокола IKE, укажем IP-адреса для построения IPsec туннеля и набор локальных и удаленных сетей, трафик между которыми необходимо будет шифровать. Также укажем версию протокола IKE и «policy-based» в качестве режима перенаправления трафика в туннель:

Примечание

Важным моментом при настройке аутентификации по сертификатам X.509 является указание корректных local id и remote id, присутствующих в сертификатах в качестве альтернативных имен сертификата. Поскольку ранее в настройках PKI-клиента в качестве альтернативного имени было указано полное доменное имя маршрутизатора – укажем его и в командах local id и remote id.

Блок кода
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)# local id dns r1.company.loc
esr(config-ike-gw)# remote id dns r2.company.loc
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

Scroll Pagebreak

Создадим IPsec VPN. В VPN указываются шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой 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

2) Конфигурирование R2

Настроим IP-адрес на внешнем сетевом интерфейсе:

Блок кода
esr# configure
esr(config)# interface gi 1/0/1
esr(config-if)# ip address 203.0.113.1/24
esr(config-if)# exit

Произведем настройку настройку PKI-клиента. Необходимо заполнить отличительное имя, URL для подключения к PKI-серверу (в случае маршрутизатора R2 – внешний IP-адрес маршрутизатора R1), ранее полученный цифровой отпечаток сертификата PKI-сервера и доменное имя маршрутизатора в качестве альтернативного имени клиентского сертификата:

Блок кода
esr(config)# crypto pki trustpoint TP_R2
esr(config-trustpoint)# subject-name 
esr(config-trustpoint-subject-name)# country RU
esr(config-trustpoint-subject-name)# state Moscow
esr(config-trustpoint-subject-name)# locality Moscow
esr(config-trustpoint-subject-name)# organization Company
esr(config-trustpoint-subject-name)# common-name r2.company.loc
esr(config-trustpoint-subject-name)# exit
esr(config-trustpoint)# subject-alt-name
esr(config-trustpoint-san)# dns r2.company.loc
esr(config-trustpoint-san)# exit
esr(config-trustpoint)# url http://198.51.100.1/
esr(config-trustpoint)# fingerprint 79:D2:B6:7E:DF:77:2D:C5:27:68:99:10:BA:EC:D2:47
esr(config-trustpoint)# challenge-password password
esr(config-trustpoint)# enable 
esr(config-trustpoint)# exit
esr(config)#

Scroll Pagebreak

Перейдем к настройке VPN.

Создадим набор алгоритмов для протокола 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. В политике указываем ранее созданный набор алгоритмов, в качестве метода аутентификации выбираем «trustpoint» и в команде crypto trustpoint указываем имя ранее созданного PKI-клиента, выписываемые им сертификаты будут использованы при аутентификации IKE-сессии:

Блок кода
esr(config)# security ike policy ike_pol1
esr(config-ike-policy)# proposal ike_prop1
esr(config-ike-policy)# authentication method trustpoint
esr(config-ike-policy)# crypto trustpoint TP_R2
esr(config-ike-policy)# exit

Создадим шлюз протокола IKE. В данном разделе привяжем ранее созданную политику протокола IKE, укажем IP-адреса для построения IPsec туннеля и набор локальных и удаленных сетей, трафик между которыми необходимо будет шифровать. Также укажем версию протокола IKE и «policy-based» в качестве режима перенаправления трафика в туннель:

Примечание

Важным моментом при настройке аутентификации по сертификатам X.509 является указание корректных «local id» и «remote id», присутствующих в сертификатах в качестве альтернативных имен сертификата. Поскольку ранее в настройках PKI-клиента в качестве альтернативного имени было указано полное доменное имя маршрутизатора – укажем его и в командах local id и remote id.


Блок кода
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)# local id dns r2.company.loc
esr(config-ike-gw)# remote id dns r1.company.loc
esr(config-ike-gw)# mode policy-based
esr(config-ike-gw)# exit

...

Scroll Pagebreak

Создадим набор алгоритмов для 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
Scroll Pagebreak

...

Создадим IPsec VPN. В VPN

...

указываются шлюз IKE-протокола, политика IPsec-туннеля, режим обмена ключами и способ установления соединения. После ввода всех параметров включим туннель командой 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

Состояние туннеля можно посмотреть командой:

Блок кода
esr# show security ipsec vpn status ipsec1

Конфигурацию туннеля можно посмотреть командой:

Блок кода
esr# show security ipsec vpn configuration ipsec1

Состояние PKI-клиента и время следующей процедуры автоматического перевыпуска сертификата можно посмотреть командой:

Блок кода
esr# show crypto pki trustpoint TP_R1

Алгоритм настройки Remote Access IPsec VPN

...

<MODE> – режим переподключения, принимает следующие значения:

  • no – установленное подключение XAUTH будет удалено, если для нового подключения XAUTH инициатором соединения будет отправлено уведомление "INITIAL_CONTACT", будет назначен ранее использованный IP-адрес. В противном случае, установленное соединение XAUTH будет удержано. Для нового подключения XAUTH будет назначен новый IP-адрес.
  • never – установленное подключение XAUTH будет удержано. Для нового подключения XAUTH будет назначен новый IP-адрес. Уведомление "INITIAL_CONTACT" будет в любом случае проигнорировано.
  • replace – установленное подключение XAUTH будет удалено. Для нового подключения XAUTH будет использован ранее использованный IP-адрес.
  • keep – установленное подключение XAUTH будет удержано. Новое подключение XAUTH будет отклонено. 

Пример настройки Remote Access IPsec VPN

Задача:

Настроить Remote Access IPsec VPN между R1 и R2 с использованием второго фактора аутентификации IPsec - XAUTH. В качестве сервера IPsec VPN настроить маршрутизатор R1, а маршрутизатор R2 в качестве клиента IPsec VPN.

...

  • логин: client1;
  • пароль: password123.
Решение:
Примечание

Предварительно в firewall необходимо разрешить протокол ESP и ISAKMP (UDP-порт 500, 4500).

  1. Конфигурирование 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

    Для настройки правил зон безопасности потребуется создать профиль порта протокола 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

    Создадим шлюз протокола 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-туннеля:

    Блок кода
    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

    Разрешим протокол 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 object-group 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


  2. Конфигурирование 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:

    Блок кода
    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

    Создадим профиль доступа и заведем в нем пару логин и пароль:

    Блок кода
    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

    Scroll Pagebreak

    Создадим 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 object-group 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


Пример настройки DPD (Dead Peer Detection)

Задача:

Настроить Dead Peed Detection на R1 для Policy-based Ipsec VPN между R1 и R2.

Исходную конфигурацию можно взять из примера настройки Policy-based IPsec VPN.

Решение:

На R1 в шлюзе протокола IKE укажем: режим работы DPD – restart, интервал опроса – 1 секунду, таймаут – 4 секунды:

...

ШагОписаниеКомандаКлючи
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> [unit <ID>]

или

esr(config-lt)# ip address <ADDR/LEN> secondary [unit <ID>]

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

<ID> – номер юнита, принимает значения [1..4].

Ключ secondary указывает, что настроенный адрес является дополнительным IP-адресом. Если это ключевое слово отсутствует, настроенный адрес является основным IP-адресом. Возможно указать до 7 дополнительных IP-адресов.

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).
MTU более 1500 будет активно только в случае применения команды "system jumbo-frames".

esr(config-lt)# mtu <MTU>

<MTU> – значение MTU, принимает значения в диапазоне:

  • для ESR-10/12V(F)/15/
    15R/15VF – [1280..9600];
  • для ESR-20/21/30/31 –
    [1280..9500];
  • для ESR-100/200/1000/
    1200/1500/1511 (rev.B)/1700/3100/3200/3200L/3250/3300/3350
    – [1280..10000].

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

Пример настройки

Задача:

Организовать взаимодействие между хостами, терминированными в двух VRF vrf_1 и vrf_2.

...

Блок кода
hostname esr
ip vrf vrf_1
exit
ip vrf vrf_2
exit
interface gigabitethernet 1/0/1
  ip vrf forwarding vrf_1
  ip firewall disable
  ip address 10.0.0.1/24
exit
interface gigabitethernet 1/0/2
  ip vrf forwarding vrf_2
  ip firewall disable
  ip address 10.0.1.1/24
exit

Scroll Pagebreak

Решение:

Создадим LT-туннели для каждого VRF с указанием IP-адресов из одной подсети:

...