Документация: ПО Факел — разрабатываемая версия
DMVPN¶
Обзор¶
DMVPN - технология динамического построения VPN, первоначально разработанная компанией Cisco. Хотя ее реализация и была в некоторой степени закрытой, лежащие в ее основе технологии в действительности основаны на вполне конкретных стандартах. В основе данной технологии лежит использование следующих протоколов:
Протокол NHRP обеспечивает механизм динамического обнаружения конечных точек туннеля (поиск и их регистрация), протокол mGRE обеспечивает непосредственно инкапсуляцию данных, передаваемых по туннелю, а стек протоколов IPSec обеспечивает обмен ключами и криптографическую защиту передаваемых данных.
Другими словами, DMVPN обеспечивает возможность создания динамически связной VPN сети без предварительной (статической) настройки всех возможных конечных точек туннеля.
Примечание
Технология DMVPN автоматизирует только процесс обнаружения и настройки конечных точек туннеля. Полноценное решение также включает в себя использование протокола маршрутизации. Особенно хорошо для использования в данной технологии подходит протокол динамической маршрутизации BGP.
Обратитесь к разделу документации Интерфейс туннеля для детального ознакомления со связанными настройками туннелей.
Обратитесь к разделу документации Стек протоколов IPsec для детального ознакомления со связанными настройками стека протоколов IPSec.
Параметры групп алгоритмов IKE и ESP, используемых в профиле IPsec, описаны в разделе Site-to-Site VPN.
Команды reset vpn ipsec profile <profile> tunnel <tunnel> сбрасывают ассоциации безопасности IPsec туннеля DMVPN, заданного профилем IPsec, и устанавливают их заново: для всех удаленных узлов туннеля или только для узла с указанным адресом (remote-host). Команды доступны только пользователю уровня «Администратор» (см. Уровни пользователей).
Пример настройки¶
Данный пример подразумевает использование устройства под управлением ПО Факел в качестве центрального узла (Hub), устройства под управлением ПО Факел в качестве одного из оконечных узлов (Spoke 05), а также устройств под управлением операционной системы Cisco IOS в качестве остальных оконечных узлов (Spoke 01 - 04).
Каждый узел (Hub, Spoke 01 - 05) использует IP адрес из подсети 172.16.253.128/29.
Используемый в конфигурации ниже IP адрес 192.0.2.1, являющийся
глобальным адресом, по которому доступен центральный узел (Hub) для
каждого из оконечных узлов (Spoke).
Центральный узел (Hub)¶
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set interfaces ethernet |
Назначает интерфейсу |
2 |
set interfaces tunnel |
Назначает адрес интерфейсу туннеля |
3 |
set interfaces tunnel |
Задает инкапсуляцию GRE для интерфейса туннеля |
4 |
set interfaces tunnel |
Задает адрес источника GRE туннеля |
5 |
set interfaces tunnel |
Включает на интерфейсе туннеля режим многоадресной рассылки |
6 |
set interfaces tunnel |
Задает ключ GRE туннеля |
7 |
set protocols nhrp tunnel |
Включает аутентификацию NHRP с секретным ключом |
8 |
set protocols nhrp tunnel |
Задает время удержания запросов и ответов NHRP |
9 |
set protocols nhrp tunnel |
Задает пересылку трафика группового вещания всем участникам VPN сети, с которыми установлено прямое соединение |
10 |
set protocols nhrp tunnel |
Включает отправку пакетов NHRP Traffic Indication |
11 |
set protocols nhrp tunnel |
Включает создание «коротких» (shortcut) маршрутов |
12 |
set vpn ipsec esp-group |
Создает группу алгоритмов ESP |
13 |
set vpn ipsec esp-group |
Задает транспортный режим ESP для группы |
14 |
set vpn ipsec esp-group |
Задает режим PFS с группой Диффи-Хеллмана |
15 |
set vpn ipsec esp-group |
Задает алгоритм шифрования |
16 |
set vpn ipsec esp-group |
Задает алгоритм хеширования |
17 |
set vpn ipsec esp-group |
Задает алгоритм шифрования |
18 |
set vpn ipsec esp-group |
Задает алгоритм хеширования |
19 |
set vpn ipsec ike-group |
Создает группу алгоритмов IKE |
20 |
set vpn ipsec ike-group |
Задает время жизни IKE |
21 |
set vpn ipsec ike-group |
Задает группу Диффи-Хеллмана |
22 |
set vpn ipsec ike-group |
Задает алгоритм шифрования |
23 |
set vpn ipsec ike-group |
Задает алгоритм хеширования |
24 |
set vpn ipsec ike-group |
Задает группу Диффи-Хеллмана |
25 |
set vpn ipsec ike-group |
Задает алгоритм шифрования |
26 |
set vpn ipsec ike-group |
Задает алгоритм хеширования |
27 |
set vpn ipsec interface |
Задает интерфейс |
28 |
set vpn ipsec profile |
Создает профиль IPsec |
29 |
set vpn ipsec profile |
Задает общий секретный ключ профиля |
30 |
set vpn ipsec profile |
Привязывает профиль |
31 |
set vpn ipsec profile |
Задает группу алгоритмов ESP |
32 |
set vpn ipsec profile |
Задает группу алгоритмов IKE |
Оконечные узлы (Spoke)¶
Конфигурации оконечных узлов Spoke 01 - 04 (Cisco IOS) будут отличаться только локальным IP адресом
на интерфейсе Tunnel10. Узел Spoke 05 под управлением ПО Факел настраивается отдельно.
Узлы Spoke 01 - 04:
crypto keyring DMVPN
pre-shared-key address 192.0.2.1 key secret
!
crypto isakmp policy 10
encr aes 256
authentication pre-share
group 2
crypto isakmp invalid-spi-recovery
crypto isakmp keepalive 30 30 periodic
crypto isakmp profile DMVPN
keyring DMVPN
match identity address 192.0.2.1 255.255.255.255
!
crypto ipsec transform-set DMVPN-AES256 esp-aes 256 esp-sha-hmac
mode transport
!
crypto ipsec profile DMVPN
set security-association idle-time 720
set transform-set DMVPN-AES256
set isakmp-profile DMVPN
!
interface Tunnel10
! individual spoke tunnel IP must change
ip address 172.16.253.129 255.255.255.248
no ip redirects
ip nhrp authentication secret
ip nhrp map 172.16.253.134 192.0.2.1
ip nhrp map multicast 192.0.2.1
ip nhrp network-id 1
ip nhrp holdtime 600
ip nhrp nhs 172.16.253.134
ip nhrp registration timeout 75
tunnel source FastEthernet0/0
tunnel mode gre multipoint
tunnel protection ipsec profile DMVPN
tunnel key 1
!
interface FastEthernet0/0
ip address dhcp
duplex half
Узел Spoke 05:
Устройство под управлением ПО Факел также может использовать технологию DMVPN в режиме оконечного узла (Spoke).
Шаг |
Команда |
Описание |
|---|---|---|
1 |
set interfaces ethernet |
Получает адрес интерфейса |
2 |
set interfaces tunnel |
Назначает адрес интерфейсу туннеля |
3 |
set interfaces tunnel |
Задает адрес источника GRE туннеля |
4 |
set interfaces tunnel |
Задает инкапсуляцию GRE для интерфейса туннеля |
5 |
set interfaces tunnel |
Включает на интерфейсе туннеля режим многоадресной рассылки |
6 |
set interfaces tunnel |
Задает ключ GRE туннеля |
7 |
set protocols nhrp tunnel |
Включает аутентификацию NHRP с секретным ключом |
8 |
set protocols nhrp tunnel |
Задает время удержания запросов и ответов NHRP |
9 |
set protocols nhrp tunnel |
Задает соответствие адреса центрального узла в сети туннеля |
10 |
set protocols nhrp tunnel |
Задает отправку запроса Registration Request центральному узлу при запуске |
11 |
set protocols nhrp tunnel |
Задает пересылку трафика группового вещания каждому статически заданному следующему узлу |
12 |
set protocols nhrp tunnel |
Включает отправку пакетов NHRP Traffic Indication |
13 |
set protocols nhrp tunnel |
Включает создание «коротких» (shortcut) маршрутов |
14 |
set vpn ipsec esp-group |
Создает группу алгоритмов ESP |
15 |
set vpn ipsec esp-group |
Задает транспортный режим ESP для группы |
16 |
set vpn ipsec esp-group |
Задает режим PFS с группой Диффи-Хеллмана |
17 |
set vpn ipsec esp-group |
Задает алгоритм шифрования |
18 |
set vpn ipsec esp-group |
Задает алгоритм хеширования |
19 |
set vpn ipsec esp-group |
Задает алгоритм шифрования |
20 |
set vpn ipsec esp-group |
Задает алгоритм хеширования |
21 |
set vpn ipsec ike-group |
Создает группу алгоритмов IKE |
22 |
set vpn ipsec ike-group |
Задает версию протокола IKE |
23 |
set vpn ipsec ike-group |
Задает время жизни IKE |
24 |
set vpn ipsec ike-group |
Задает группу Диффи-Хеллмана |
25 |
set vpn ipsec ike-group |
Задает алгоритм шифрования |
26 |
set vpn ipsec ike-group |
Задает алгоритм хеширования |
27 |
set vpn ipsec ike-group |
Задает группу Диффи-Хеллмана |
28 |
set vpn ipsec ike-group |
Задает алгоритм шифрования |
29 |
set vpn ipsec ike-group |
Задает алгоритм хеширования |
30 |
set vpn ipsec interface |
Задает интерфейс |
31 |
set vpn ipsec profile |
Создает профиль IPsec |
32 |
set vpn ipsec profile |
Задает общий секретный ключ профиля |
33 |
set vpn ipsec profile |
Привязывает профиль |
34 |
set vpn ipsec profile |
Задает группу алгоритмов ESP |
35 |
set vpn ipsec profile |
Задает группу алгоритмов IKE |
Список команд¶
Режим «Конфигурирование»¶
protocols nhrp tunnel <tunnel> cisco-authentication <secret>¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>cisco-authentication<secret>delete protocols nhrp tunnel
<tunnel>cisco-authentication<secret>show protocols nhrp tunnel
<tunnel>cisco-authentication
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<secret>— секретный ключ. Формат: строка длиной от 1 до 8 символов, не содержащая пробельных символов.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> dynamic-map <address> nbma-domain-name <fqdn>¶
nbma-domain-name. Для каждой записи механизм реализации протокола NHRP создает динамическую запись NHS.nbma-domain-name обязателен для каждой записи dynamic-map.Синтаксис:
set protocols nhrp tunnel
<tunnel>dynamic-map<address>nbma-domain-name<fqdn>delete protocols nhrp tunnel
<tunnel>dynamic-map<address>nbma-domain-name<fqdn>show protocols nhrp tunnel
<tunnel>dynamic-map<address>nbma-domain-name
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<address>— адрес центрального узла (Hub) в сети туннеля с длиной префикса. Формат: IPv4-префикс (x.x.x.x/x).<fqdn>— внешнее доменное имя центрального узла (Hub). Формат: полное доменное имя.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> holding-time <timeout>¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>holding-time<timeout>delete protocols nhrp tunnel
<tunnel>holding-time<timeout>show protocols nhrp tunnel
<tunnel>holding-time
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<timeout>— время удержания в секундах.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> map <map> cisco¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>map<map>ciscodelete protocols nhrp tunnel
<tunnel>map<map>ciscoshow protocols nhrp tunnel
<tunnel>map<map>cisco
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<map>— адрес соседнего участника VPN сети (центрального узла) в сети туннеля, при необходимости с длиной префикса.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> map <map> nbma-address <address>¶
nbma-address обязателен для каждой записи map.Синтаксис:
set protocols nhrp tunnel
<tunnel>map<map>nbma-address<address>delete protocols nhrp tunnel
<tunnel>map<map>nbma-address<address>show protocols nhrp tunnel
<tunnel>map<map>nbma-address
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<map>— адрес соседнего участника VPN сети (центрального узла) в сети туннеля, при необходимости с длиной префикса.<address>— внешний адрес NBMA: IP адрес или имя FQDN центрального узла (Hub).
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> map <map> register¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>map<map>registerdelete protocols nhrp tunnel
<tunnel>map<map>registershow protocols nhrp tunnel
<tunnel>map<map>register
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<map>— адрес соседнего участника VPN сети (центрального узла) в сети туннеля, при необходимости с длиной префикса.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> multicast <multicast>¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>multicast<multicast>delete protocols nhrp tunnel
<tunnel>multicast<multicast>show protocols nhrp tunnel
<tunnel>multicast
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<multicast>— способ пересылки трафика группового вещания. Возможные значения:dynamic— трафик пересылается всем участникам VPN сети, с которыми установлено прямое соединение (рекомендуемый вариант);nhs— весь трафик пересылается каждому статически заданному следующему узлу (записи NHS).
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> non-caching¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>non-cachingdelete protocols nhrp tunnel
<tunnel>non-cachingshow protocols nhrp tunnel
<tunnel>non-caching
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> redirect¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>redirectdelete protocols nhrp tunnel
<tunnel>redirectshow protocols nhrp tunnel
<tunnel>redirect
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> shortcut¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>shortcutdelete protocols nhrp tunnel
<tunnel>shortcutshow protocols nhrp tunnel
<tunnel>shortcut
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> shortcut-destination¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>shortcut-destinationdelete protocols nhrp tunnel
<tunnel>shortcut-destinationshow protocols nhrp tunnel
<tunnel>shortcut-destination
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> shortcut-target <address>¶
shortcut-destination.Синтаксис:
set protocols nhrp tunnel
<tunnel>shortcut-target<address>delete protocols nhrp tunnel
<tunnel>shortcut-target<address>show protocols nhrp tunnel
<tunnel>shortcut-target
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<address>— префикс сети за пределами NBMA.
Режим: «Конфигурирование».
protocols nhrp tunnel <tunnel> shortcut-target <address> holding-time <timeout>¶
Синтаксис:
set protocols nhrp tunnel
<tunnel>shortcut-target<address>holding-time<timeout>delete protocols nhrp tunnel
<tunnel>shortcut-target<address>holding-time<timeout>show protocols nhrp tunnel
<tunnel>shortcut-target<address>holding-time
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.<address>— префикс сети за пределами NBMA.<timeout>— время удержания в секундах.
Режим: «Конфигурирование».
Режим «Администрирование»¶
nhrp interface¶
Синтаксис:
show nhrp interface
Режим: «Администрирование».
Уровень привилегий: «Администратор».
nhrp tunnel¶
Синтаксис:
show nhrp tunnel
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset nhrp flush¶
Синтаксис:
reset nhrp flush
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset nhrp flush tunnel <tunnel>¶
Синтаксис:
reset nhrp flush tunnel
<tunnel>
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset nhrp purge¶
Синтаксис:
reset nhrp purge
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset nhrp purge tunnel <tunnel>¶
Синтаксис:
reset nhrp purge tunnel
<tunnel>
Аргументы:
<tunnel>— имя интерфейса туннеля. Формат: tunN.
Режим: «Администрирование».
Уровень привилегий: «Администратор».
log nhrp¶
Синтаксис:
show log nhrp
Режим: «Администрирование».
Уровень привилегий: «Администратор».
monitor log nhrp¶
Синтаксис:
monitor log nhrp
Режим: «Администрирование».
Уровень привилегий: «Администратор».
log protocol nhrp¶
show log nhrp (см. Ограничения).Синтаксис:
show log protocol nhrp
Режим: «Администрирование».
Уровень привилегий: «Администратор».
monitor log protocol nhrp¶
monitor log nhrp (см. Ограничения).Синтаксис:
monitor log protocol nhrp
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset vpn ipsec profile <profile> tunnel <tunnel>¶
Profile <profile> tunnel <tunnel> reset result: success; если ассоциации не найдены — SA(s) for profile <profile> tunnel <tunnel> not found, aborting.Синтаксис:
reset vpn ipsec profile
<profile>tunnel<tunnel>
Аргументы:
<profile>— имя профиля IPsec (vpn ipsec profile). Формат: строка;<tunnel>— интерфейс туннеля, к которому привязан профиль. Формат: строка.
Режим: «Администрирование».
Уровень привилегий: «Администратор».
reset vpn ipsec profile <profile> tunnel <tunnel> remote-host <remote-host>¶
SA(s) for profile <profile> tunnel <tunnel> remote-host <remote-host> not found, aborting.Синтаксис:
reset vpn ipsec profile
<profile>tunnel<tunnel>remote-host<remote-host>
Аргументы:
<profile>— имя профиля IPsec (vpn ipsec profile). Формат: строка;<tunnel>— интерфейс туннеля, к которому привязан профиль. Формат: строка;<remote-host>— адрес удаленного узла в транспортной сети (NBMA). Формат: IPv4-адрес (x.x.x.x) или IPv6-адрес (h:h:h:h:h:h:h:h).
Режим: «Администрирование».
Уровень привилегий: «Администратор».