Настройка DMVPN на маршрутизаторах Cisco
Материал из Xgu.ru
- Короткий URL: dmvpn
- Автор: Наташа Самойленко
Dynamic Multipoint VPN (DMVPN) — виртуальная частная сеть с возможностью динамического создания туннелей между узлами.
На этой странице детально описывается процедура организации сети DMVPN на маршрутизаторах Cisco. Рассматриваются варианты настройки проколов динамической маршрутизации OSPF и EIGRP, аутентификация маршрутизаторов по сертификатам и pre-shared key.
На странице dmvpn/config представлена схема и конфигурационные файлы для виртуальной сети Xentaur, которая рассматривается на этой странице.
[править] Задача
Центральный офис (находящийся за dyn1) соединён с несколькими удалёнными (находящимися за dyn3 и dyn5). Необходимо обеспечить связь удалённых офисов с центральным и, при необходимости, устанавливать туннель между удалёнными офисами.
Маршрутизация между сетями офисов будет выполняться с помощью протоколов динамической маршрутизации.
Изображенная топология называется — звезда (hub-and-spoke), где:
- dyn1 — центр звезды, hub-маршрутизатор;
- dyn3 и dyn5 — вершины звезды, spoke-маршрутизаторы.
[править] Решение
Если в данной схеме использовать обычную виртуальную частную сеть, соединяющую сети (site-to-site VPN), то на маршрутизаторах, которые находятся в удалённых офисах, необходимо будет настроить туннель для связи с центральным офисом и туннели для связи с другими удалёнными офисами. Для того чтобы все удалённые офисы могли работать между собой напрямую, необходимо будет настроить туннели со всеми офисами, что приведёт к созданию полносвязной топологии (full mesh). Как следствие, количество настроек на маршрутизаторах, как в центральном офисе, так и в удалённых существенно увеличивается.
Технология DMVPN позволяет решить эту задачу более масштабируемым методом, чем создание связей точка-точка между всеми офисами и объединения их в полносвязную топологию:
- При добавлении новых маршрутизаторов в существующую сеть DMVPN, необходимо настроить только новый маршрутизатор, изменений на уже существующих маршрутизаторах не требуется.
- DMVPN позволяет использовать динамически назначенные IP-адреса на spoke-маршрутизаторах.
- Если двум spoke-маршрутизаторам необходимо установить туннель напрямую, то он устанавливается динамически.
В основе DMVPN лежат несколько технологий:
- mGRE-туннели;
- Протокол NHRP (Next Hop Resolution Protocol);
- Протоколы динамической маршрутизации;
- Профили IPsec (IPsec profiles).
Так как DMVPN использует несколько технологий, то поиск неисправностей в его настройках может занимать достаточно много времени. Для того чтобы избежать ошибок, желательно пошагово проверять выполненные настройки, работу соответствующих протоколов и доступность сетей. |
Схематическое изображение последовательности выполнения необходимых настроек:
[править] Базовые настройки сети
Настройку сети DMVPN будем выполнять на условном примере, отражающем ключевые особенности сетей, в которых целесообразно использовать эту технологию.
За каждым маршрутизатором находится сеть, которая имитирует локальную сеть офисов:
- dyn1 — 10.1.1.0/24;
- dyn3 — 10.1.3.0/24;
- dyn5 — 10.1.5.0/24.
Для внешних интерфейсов выбраны сети:
- dyn1 — 192.168.1.0/24;
- dyn3 — 192.168.3.0/24;
- dyn5 — 192.168.5.0/24.
[править] Настройка маршрутизации между внешними интерфейсами маршрутизаторов
В данной тестовой сети на каждом маршрутизаторе прописаны статические маршруты к сетям внешних интерфейсов других маршрутизаторов.
Статические маршруты на hub-маршрутизаторе (dyn1):
dyn1(config)# ip route 192.168.3.0 255.255.255.0 192.168.1.2 dyn1(config)# ip route 192.168.5.0 255.255.255.0 192.168.1.2
Но можно сделать проще - прописать default GW:
dyn1(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.2
[править] mGRE-туннели
В топологии звезда (hub-n-spoke) использование GRE-туннелей точка-точка приведёт к большому количеству настроек, так как IP-адреса всех spoke-маршрутизаторов должны быть известны и настроены на центральном маршрутизаторе (hub).
Альтернативой GRE-туннелей точка-точка является multipoint GRE (mGRE) туннель, который позволяет терминировать на себе несколько GRE-туннелей. mGRE-туннель позволяет одному GRE-интерфейсу поддерживать несколько IPsec-туннелей и упрощает количество и сложность настроек, по сравнению с GRE-туннелями точка-точка.
Кроме того, mGRE-интерфейс позволяет использовать динамически назначенные IP-адреса на spoke-маршрутизаторах.
[править] Настройка mGRE-туннелей
Для адресации туннелей выделена сеть 10.10.10.0/24, все туннели находятся в одной сети. На hub-маршрутизаторе и spoke-маршрутизаторах mGRE-туннели настраиваются аналогично (далее пример для hub-маршрутизатора).
Создание туннельного интерфейса:
dyn1(config)#interface Tunnel0
Задание IP-адреса на интерфейсе:
dyn1(config-if)#ip address 10.10.10.1 255.255.255.0
Так как GRE добавляет дополнительные заголовки к IP-пакету, необходимо изменить значение MTU на интерфейсе:
dyn1(config-if)#ip mtu 1416
В качестве адреса отправителя в пакете выходящем из mGRE-интерфейса будет использоваться IP-адрес физического интерфейса, а адрес получателя будет выучен динамически с помощью протокола NHRP.
Настройка соответствия между туннельным интерфейсом и физическим:
dyn1(config-if)#tunnel source FastEthernet1/0
Включение mGRE-туннеля:
dyn1(config-if)#tunnel mode gre multipoint
(Опционально) Задание ключа, который идентифицирует туннель:
dyn1(config-if)#tunnel key 999
|
Если будет использоваться топология с двумя hub-маршрутизаторами и, соответственно, двумя сетями DMVPN, то ключ указывает на принадлежность интерфейса одной из сетей DMVPN. |
[править] Next Hop Resolution Protocol (NHRP)
Next Hop Resolution Protocol (NHRP) — клиент-серверный протокол преобразования адресов, позволяющий всем хостам, которые находятся в NBMA(Non Broadcast Multiple Access)-сети, динамически выучить NBMA-адреса (физические адреса) друг друга обращаясь к next-hop-серверу (NHS). После этого хосты могут обмениваться информацией друг с другом напрямую.
В сети DMVPN:
- Hub-маршрутизатор будет работать как NHS, а spoke-маршрутизаторы будут клиентами.
- Hub-маршрутизатор хранит и обслуживает базу данных NHRP, в которой хранятся соответствия между физическими адресами и адресами mGRE-туннелей spoke-маршрутизаторов.
- На каждом spoke-маршрутизаторе hub-маршрутизатор статически указан как NHS и задано соответствие между физическим адресом и адресом mGRE-туннеля hub-маршрутизатора.
- При включении каждый spoke-маршрутизатор регистрируется на NHS и, при необходимости, запрашивает у сервера информацию об адресах других spoke-маршрутизаторов для построения spoke-to-spoke туннелей.
- Network ID - характеристика локальная для каждого маршрутизатора (аналогия - OSPF process ID). Разные интерфейсы могут участвовать в разных NHRP сессиях; это просто разграничитель того, что сессия NHRP на одном интерфейсе не та что на другом. Соответственно, совершенно не обязательно, чтобы Network ID совпадали на разных маршрутизаторах.
[править] Настройка NHRP
[править] Настройка NHRP на hub-маршрутизаторе
Включение NHRP на интерфейсе:
dyn1(config)#interface Tunnel0 dyn1(config-if)#ip nhrp network-id 999
Hub-маршрутизатор будет автоматически добавлять соответствия между адресами spoke-маршрутизаторов:
dyn1(config-if)#ip nhrp map multicast dynamic
(Опционально) Настройка аутентификации:
dyn1(config-if)#ip nhrp authentication nhrppass
[править] Настройка NHRP на spoke-маршрутизаторах
Включение NHRP на интерфейсе:
dyn3(config)#interface Tunnel0 dyn3(config-if)#ip nhrp network-id 999
Адрес туннельного интерфейса hub-маршрутизатора указывается как next-hop-сервер:
dyn3(config-if)#ip nhrp nhs 10.10.10.1
Статическое соответствие между адресом mGRE-туннеля и физическим адресом hub-маршрутизатора (первый адрес — адрес туннельного интерфейса, второй — адрес внешнего физического интерфейса):
dyn3(config-if)#ip nhrp map 10.10.10.1 192.168.1.1
Адрес внешнего физического интерфейса hub-маршрутизатора указывается как получатель multicast-пакетов от локального маршрутизатора:
dyn3(config-if)#ip nhrp map multicast 192.168.1.1
(Опционально) Настройка аутентификации:
dyn3(config-if)#ip nhrp authentication nhrppass
(Опционально) Настройка флага неуникальности ip-адреса туннеля в базе nhrp на hub-маршрутизаторе:
dyn3(config-if)#ip nhrp registration no-unique
Если изменится внешний адрес spoke-маршрутизатора и этой команды не будет, то hub-маршрутизатор не обновит свою базу nhrp из-за ошибки: unique address registered already
[править] Проверка работы mGRE-туннелей и протокола NHRP
[править] Проверка туннельных интерфейсов
После того, как на маршрутизаторах настроены mGRE-туннели и настроен протокол NHRP, туннели находятся в состоянии up и все IP-адреса туннелей доступны.
На dyn5:
dyn5#sh ip int br Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.5.5 YES manual up up FastEthernet1/0 10.1.5.5 YES manual up up Tunnel0 10.10.10.5 YES manual up up
Просмотр информации о туннельном интерфейсе:
dyn5#sh int tunnel 0 Tunnel0 is up, line protocol is up Hardware is Tunnel Internet address is 10.10.10.5/24 MTU 1416 bytes, BW 9 Kbit, DLY 500000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation TUNNEL, loopback not set Keepalive not set Tunnel source 192.168.5.5 (FastEthernet0/0), destination UNKNOWN Tunnel protocol/transport multi-GRE/IP Key 0x3E7, sequencing disabled Checksumming of packets disabled ......
С dyn5 пингуется и dyn1 и dyn3:
dyn5#ping 10.10.10.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 148/200/280 ms dyn5#ping 10.10.10.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 104/199/296 ms
[править] Проверка NHRP на spoke-маршрутизаторе
Информация о NHS:
dyn5#sh ip nhrp nhs Legend: E=Expecting replies, R=Responding Tunnel0: 10.10.10.1 RE
Суммарная информация NHRP (уже установлен динамический туннель с dyn3):
dyn5#sh ip nhrp brief Target Via NBMA Mode Intfc Claimed 10.10.10.1/32 10.10.10.1 192.168.1.1 static Tu0 < > 10.10.10.3/32 10.10.10.3 192.168.3.3 dynamic Tu0 < >
Подробная информация о других маршрутизаторах полученная по NHRP:
dyn5#sh ip nhrp 10.10.10.1/32 via 10.10.10.1, Tunnel0 created 00:12:29, never expire Type: static, Flags: nat used NBMA address: 192.168.1.1 10.10.10.3/32 via 10.10.10.3, Tunnel0 created 00:11:17, expire 01:47:19 Type: dynamic, Flags: router NBMA address: 192.168.3.3
Получатель multicast-трафика:
dyn5#sh ip nhrp multicast I/F NBMA address Tunnel0 192.168.1.1 Flags: static
Суммарная информация о записях NHRP:
dyn5#sh ip nhrp summary IP NHRP cache 2 entries, 528 bytes 1 static 1 dynamic 0 incomplete
Статистика по пакетам NHRP:
dyn5#sh ip nhrp traffic Tunnel0: Max-send limit:100Pkts/10Sec, Usage:0% Sent: Total 3 1 Resolution Request 0 Resolution Reply 2 Registration Request 0 Registration Reply 0 Purge Request 0 Purge Reply 0 Error Indication 0 Traffic Indication Rcvd: Total 2 0 Resolution Request 1 Resolution Reply 0 Registration Request 1 Registration Reply 0 Purge Request 0 Purge Reply 0 Error Indication 0 Traffic Indication
[править] Проверка NHRP на hub-маршрутизаторе
Суммарная информация NHRP:
dyn1#sh ip nhrp brief Target Via NBMA Mode Intfc Claimed 10.10.10.3/32 10.10.10.3 192.168.3.3 dynamic Tu0 < > 10.10.10.5/32 10.10.10.5 192.168.5.5 dynamic Tu0 < >
Подробная информация о других маршрутизаторах полученная по NHRP:
dyn1#sh ip nhrp 10.10.10.3/32 via 10.10.10.3, Tunnel0 created 00:25:05, expire 01:34:54 Type: dynamic, Flags: authoritative unique registered NBMA address: 192.168.3.3 10.10.10.5/32 via 10.10.10.5, Tunnel0 created 00:25:29, expire 01:34:30 Type: dynamic, Flags: authoritative unique registered NBMA address: 192.168.5.5
Получатели multicast-трафика:
dyn1#sh ip nhrp multicast I/F NBMA address Tunnel0 None Flags: dynamic Tunnel0 None Flags: dynamic
Суммарная информация о записях NHRP:
dyn1#sh ip nhrp summary IP NHRP cache 2 entries, 496 bytes 0 static 2 dynamic 0 incomplete
Статистика по пакетам NHRP:
dyn1#sh ip nhrp traffic Tunnel0 Sent: Total 4 0 Resolution Request 2 Resolution Reply 0 Registration Request 2 Registration Reply 0 Purge Request 0 Purge Reply 0 Error Indication Rcvd: Total 5 2 Resolution Request 0 Resolution Reply 3 Registration Request 0 Registration Reply 0 Purge Request 0 Purge Reply 0 Error Indication
[править] Настройка маршрутизации
Рассматривается использование протоколов EIGRP и OSPF для настройки маршрутизации между сетями офисов. Для реального использования достаточно выбрать один из этих протоколов, и выполнить соответствующие ему настройки.
[править] Настройка EIGRP
Если в качестве протокола маршрутизации будет использоваться EIGRP, то необходимо:
- Включить EIGRP для сетей mGRE-интерфейсов и локальных сетей;
- Отключить автоматическое суммирование сетей по классовому признаку;
- Настроить EIGRP на mGRE-интерфейсе.
Включение EIGRP для сетей mGRE-интерфейсов и локальных сетей:
dyn1(config)#router eigrp 1 dyn1(config-router)#network 10.10.10.0 0.0.0.255 dyn1(config-router)#network 10.1.1.0 0.0.0.255
Отключение автоматического суммирования сетей:
dyn1(config-router)#no auto-summary
[править] Настройка EIGRP на mGRE-интерфейсах
Для работы в сети DMVPN необходимо дополнительно настроить EIGRP.
На hub-маршрутизаторе необходимо отключить правило расщепления горизонта (split horizon), иначе EIGRP не будет анонсировать маршруты, выученные через mGRE-интерфейс назад в этот же интерфейс:
dyn1(config-if)#no ip split-horizon eigrp 1
По умолчанию EIGRP будет подставлять IP-адрес hub-маршрутизатора в качестве next-hop для маршрутов которые он анонсирует, даже когда анонсирует маршруты назад через тот же интерфейс, на котором они были выучены. Для сети DMVPN необходимо чтобы EIGRP использовал в качестве next-hop адреса spoke-маршрутизаторов. Поэтому на hub-маршрутизаторе необходимо отключить это правило:
dyn1(config-if)#no ip next-hop-self eigrp 1
|
При использовании DMVPN в больших сетях время сходимости сети может увеличиваться. Для того чтобы избежать возможных проблем с маршрутизацией, на маршрутизаторах необходимо изменить hold time (по умолчанию 15 секунд): dyn1(config-if)#ip hold-time eigrp 1 35 Если на одном из маршрутизаторов этот параметр изменен, то соседи этого маршрутизатора будут использовать этот таймер. Для того чтобы маршрутизатор сам использовал определенное значение таймера, необходимо изменить таймер на соответствующем интерфейсе соседа. |
[править] Проверка работы EIGRP
Соседи EIGRP на dyn1:
dyn1#sh ip eigrp neighbors IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 1 10.10.10.5 Tu0 31 00:01:08 384 5000 0 22 0 10.10.10.3 Tu0 32 00:01:31 327 5000 0 25
Соседи EIGRP на dyn5:
dyn5#sh ip eigr neighbors IP-EIGRP neighbors for process 1 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.10.10.1 Tu0 33 00:03:29 235 5000 0 35
Таблица маршрутизации dyn1:
dyn1#sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set S 192.168.5.0/24 [1/0] via 192.168.1.2 10.0.0.0/24 is subnetted, 4 subnets D 10.1.3.0 [90/297246976] via 10.10.10.3, 00:01:34, Tunnel0 C 10.10.10.0 is directly connected, Tunnel0 C 10.1.1.0 is directly connected, FastEthernet0/0 D 10.1.5.0 [90/297246976] via 10.10.10.5, 00:01:34, Tunnel0 C 192.168.1.0/24 is directly connected, FastEthernet1/0 S 192.168.3.0/24 [1/0] via 192.168.1.2
Таблица маршрутизации dyn3 (сеть 10.1.5.0 доступна через dyn5, а не через dyn1):
dyn3#sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set S 192.168.5.0/24 [1/0] via 192.168.3.2 10.0.0.0/24 is subnetted, 4 subnets C 10.1.3.0 is directly connected, FastEthernet1/0 C 10.10.10.0 is directly connected, Tunnel0 D 10.1.1.0 [90/297270016] via 10.10.10.1, 00:01:24, Tunnel0 D 10.1.5.0 [90/310046976] via 10.10.10.5, 00:01:16, Tunnel0 S 192.168.1.0/24 [1/0] via 192.168.3.2 C 192.168.3.0/24 is directly connected, FastEthernet0/0
[править] Настройка OSPF
Для OSPF выбрана топология в которой mGRE-интерфейсы находятся в зоне 0, а локальные сети — каждая в своей зоне. Сеть разбита на зоны, так как это позволяет суммировать сети внутри зоны и не передавать в другие офисы подробную информацию о сетях (для данного примера это не актуально, но в реальной сети может существенно уменьшить таблицу маршрутизации и количество вычислений кратчайшего пути).
На маршрутизаторах необходимо:
- Включить OSPF для сетей mGRE-интерфейсов в зоне 0;
- Включить OSPF для локальных сетей в соответствующей зоне;
- Настроить OSPF на mGRE-интерфейсе.
Включение OSPF для сетей mGRE-интерфейсов в зоне 0:
dyn1(config)#router ospf 1 dyn1(config-router)#network 10.10.10.0 0.0.0.255 area 0
Включение OSPF для локальных сетей в соответствующей зоне (офису за dyn1 соответствует зона 1):
dyn1(config-router)#network 10.1.1.0 0.0.0.255 area 1
[править] Настройка OSPF на mGRE-интерфейсе
Так как mGRE-интерфейсы образуют NBMA-сеть, то на этих интерфейсах необходимо изменить настройки OSPF. Подробнее о работе OSPF в NBMA-сетях на странице OSPF в Cisco.
На hub-маршрутизаторе и spoke-маршрутизаторах отличаются настройки приоритетов, остальные настройки совпадают.
Приоритет интерфейса влияет на то, какой маршрутизатор будет выбран выделенным маршрутизатором (DR) для сети. В топологии "звезда" роль DR должен взять на себя центральный маршрутизатор.
На hub-маршрутизаторе приоритет устанавливается 10:
dyn1(config)#interface Tunnel0 dyn1(config-if)#ip ospf priority 10
На spoke-маршрутизаторах приоритет устанавливается 0 для того чтобы маршрутизаторы не могли участвовать в выборах DR:
dyn3(config)#interface Tunnel0 dyn3(config-if)#ip ospf priority 0
Указание типа сети OSPF на mGRE-интерфейсе:
dyn1(config-if)#ip ospf network broadcast
Изменение интервала между отправкой hello-пакетов:
dyn1(config-if)#ip ospf hello-interval 30
[править] Проверка работы OSPF
Соседи OSPF на dyn1:
dyn1#sh ip ospf neigh Neighbor ID Pri State Dead Time Address Interface 192.168.3.3 0 FULL/DROTHER 00:01:51 10.10.10.3 Tunnel0 192.168.5.5 0 FULL/DROTHER 00:01:52 10.10.10.5 Tunnel0
Соседи OSPF на dyn3:
dyn3#sh ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 192.168.1.1 10 FULL/DR 00:01:55 10.10.10.1 Tunnel0
Таблица маршрутизации на dyn1:
dyn1#sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set S 192.168.5.0/24 [1/0] via 192.168.1.2 10.0.0.0/24 is subnetted, 4 subnets O IA 10.1.3.0 [110/11112] via 10.10.10.3, 00:02:48, Tunnel0 C 10.10.10.0 is directly connected, Tunnel0 C 10.1.1.0 is directly connected, FastEthernet0/0 O IA 10.1.5.0 [110/11112] via 10.10.10.5, 00:02:48, Tunnel0 C 192.168.1.0/24 is directly connected, FastEthernet1/0 S 192.168.3.0/24 [1/0] via 192.168.1.2
Таблица маршрутизации на dyn3:
dyn3#sh ip route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set S 192.168.5.0/24 [1/0] via 192.168.3.2 10.0.0.0/24 is subnetted, 4 subnets C 10.1.3.0 is directly connected, FastEthernet1/0 C 10.10.10.0 is directly connected, Tunnel0 O IA 10.1.1.0 [110/11121] via 10.10.10.1, 00:01:26, Tunnel0 O IA 10.1.5.0 [110/11112] via 10.10.10.5, 00:01:26, Tunnel0 S 192.168.1.0/24 [1/0] via 192.168.3.2 C 192.168.3.0/24 is directly connected, FastEthernet0/0
[править] Фазы DMVPN
В DMVPN различают три фазы или версии: первую, вторую и третью. Рассмотрим подробнее каждую из них. В качестве протокола динамической маршрутизации для наглядности будем использовать EIGRP.
[править] Первая фаза
В первой фазе допускается динамическое подключение spoke-маршрутизаторов к hub, при этом всё взаимодействие между сетями, расположенными за spoke, ведётся через центр – через hub-маршрутизатор. То есть в первой фазе невозможно прямое взаимодействие между spoke-маршрутизаторами. Все spoke-маршрутизаторы в данной фазе используют только point-to-point туннели.
К преимуществам первой фазы можно отнести возможность значительного сокращения количества маршрутов, находящихся в таблицах маршрутизации spoke-устройств за счёт агрегации или фильтрации маршрутов, анонсируемых hub-маршрутизатором. Вырожденным примером является анонсирование лишь дефолтного маршрута со стороны hub.
dyn1(config)#int tu 0 dyn1(config-if)#ip summary-address eigrp 1 0.0.0.0/0
В этом случае на spoke-устройствах по EIGRP будет известен только один маршрут.
dyn3#sho ip ro ei Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is 10.10.10.1 to network 0.0.0.0 D* 0.0.0.0/0 [90/76800640] via 10.10.10.1, 00:03:27, Tunnel0
Проверим, что трафик между spoke-маршрутизаторами передаётся через hub.
dyn3#traceroute 10.1.5.5 Type escape sequence to abort. Tracing the route to 10.1.5.5 VRF info: (vrf in name/id, vrf out name/id) 1 10.10.10.1 52 msec 52 msec 52 msec 2 10.10.10.5 140 msec 140 msec 68 msec
К недостаткам первой фазы относится неоптимальный маршрут следования трафика между spoke-маршрутизаторами.
[править] Вторая фаза
Вторая фаза включает в себя оптимизацию пути следования трафика, передаваемого между spoke-устройствами, за счёт динамического построения туннелей между конечными маршрутизаторами, которое становится возможным, если spoke-маршрутизаторы обладают полной информацией обо всех префиксах в сети.
Настройка hub-маршрутизатора должна удовлетворять трём основным правилам:
- Агрегация сетей либо не должна производиться вовсе, либо не должна скрывать реального расположения префиксов;
- На hub-устройстве должно быть отключено расщепление горизонта;
- Hub-маршрутизатор не должен подменять адрес next-hop, полученный от spoke-устройства.
Никакая дополнительная настройка, включающая поддержку второй фазы, не требуется.
Таблица маршрутизации spoke-маршрутизатора представлена ниже и включает в себя все префиксы в сети.
dyn5#sho ip ro eigrp Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is not set 10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks D 10.1.1.0/24 [90/76800640] via 10.10.10.1, 00:00:06, Tunnel0 D 10.1.3.0/24 [90/102400640] via 10.10.10.3, 00:00:05, Tunnel0
Несмотря на то, что таблица маршрутизации включает в себя все префиксы, в CEF не содержится полной информации о каждой подсети до момента передачи первого пакета. Первый пакет в сторону новой подсети обрабатывается процессором и отправляется в сторону hub-маршрутизатора, после чего завершается формирование записи в CEF. До прихода первого пакета запись в CEF помечается как incomplete.
dyn5#sho ip cef 10.1.3.0/24 internal 10.1.3.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing sources: RIB feature space: IPRM: 0x00028000 ifnums: Tunnel0(20): 10.10.10.3 path 6A48428C, path list 6B119E44, share 1/1, type attached nexthop, for IPv4 nexthop 10.10.10.3 Tunnel0, adjacency IP adj out of Tunnel0, addr 10.10.10.3 (incomplete) output chain: IP adj out of Tunnel0, addr 10.10.10.3 (incomplete) dyn5#sho ip cef 10.10.10.3 internal 10.10.10.0/24, epoch 0, flags attached, connected, cover dependents, need deagg, RIB[C], refcount 5, per-destination sharing sources: RIB feature space: IPRM: 0x0003800C subblocks: gsb Connected chain head(1): 0x6A7E66FC Covered dependent prefixes: 3 need deagg: 2 notify cover updated: 1 ifnums: Tunnel0(20) path 69FD69E4, path list 6AF74FAC, share 1/1, type connected prefix, for IPv4 connected to Tunnel0, adjacency punt output chain: punt
Для завершения формирования записи в CEF должен быть произведён поиск L2 данных по существующей L3 информации. Такой поиск производится с использованием протокола NHRP.
После завершения работы протокола NHRP завершается формирование записи в CEF.
dyn5#sho ip cef 10.1.3.0/24 internal 10.1.3.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing sources: RIB feature space: IPRM: 0x00028000 ifnums: Tunnel0(20): 10.10.10.3 path 6A48428C, path list 6B119E44, share 1/1, type attached nexthop, for IPv4 nexthop 10.10.10.3 Tunnel0, adjacency IP midchain out of Tunnel0, addr 10.10.10.3 6B11A380 output chain: IP midchain out of Tunnel0, addr 10.10.10.3 6B11A380 IP adj out of FastEthernet0/0, addr 192.168.5.2 6930F0C0 dyn5#sho ip cef 10.10.10.3 internal 10.10.10.3/32, epoch 0, flags attached, refcount 5, per-destination sharing sources: Adj subblocks: Adj source: IP midchain out of Tunnel0, addr 10.10.10.3 6B11A380 Dependent covered prefix type adjfib, cover 10.10.10.0/24 ifnums: Tunnel0(20): 10.10.10.3 path 6A48413C, path list 6B119D54, share 1/1, type adjacency prefix, for IPv4 attached to Tunnel0, adjacency IP midchain out of Tunnel0, addr 10.10.10.3 6B11A380 output chain: IP midchain out of Tunnel0, addr 10.10.10.3 6B11A380 IP adj out of FastEthernet0/0, addr 192.168.5.2 6930F0C0
Трафик между сетями spoke-маршрутизаторов передаётся напрямую между ними (не через hub).
dyn5#traceroute 10.1.3.3 Type escape sequence to abort. Tracing the route to 10.1.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 10.10.10.3 124 msec 76 msec 76 msec
Достоинством использования второй фазы является оптимизация путей передачи трафика между spoke-устройствами. К недостаткам можно отнести рост таблицы маршрутизации на spoke-оборудовании.
[править] Третья фаза
Третья фаза лишена недостатков первых двух фаз, но при этом обладает их достоинствами: трафик передаётся оптимальным путём, при этом таблица маршрутизации не обязана включать в себя все возможные префиксы сети. Добиться этого удалось за счёт помещения в таблицу маршрутизации только тех префиксов, которые реально используются в данный момент времени. Запись в таблице маршрутизации появляется только после того, как появляется трафик, предназначенный для соответствующих получателей. Всё волшебство третьей фазы становится возможным за счёт использования опций redirects и shortcuts. При использовании третьей фазы нет необходимости отказываться от суммирования маршрутов (как это было в первой фазе) и не возникает проблемы с адресами next-hop маршрутизаторов (как во второй фазе). По сути hub-маршрутизатор в сторону spoke-устройств может объявлять единственный маршрут (например, на сеть 0.0.0.0/0), который сразу же помещается в CEF. Таким образом в третьей фазе DMVPN на маршрутизаторах нет частично заполненных записей в CEF, что позволяет все пакеты (включая первый) маршрутизировать с использованием CEF, то есть без использования процессора.
Рассмотрим процесс передачи данных между двумя spoke-маршрутизаторами. Первый пакет передаётся в сторону hub-устройства в соответствии с таблицей маршрутизации, после чего hub-маршрутизатор через тот же туннельный интерфейс отправляет пакет в сторону маршрутизатора получателя. Такое событие (отправка пакета через тот же интерфейс, через который он был получен) заставляет hub-маршрутизатор отправить сообщение redirect, которое означает, что трафик передаётся не самым оптимальным путём. Включение возможности отправки hub-маршрутизатором сообщений NHRP redirect включается с помощью команды ip nhrp redirect, вводимой в режиме настройки туннельного интерфейса.
Получив сообщение redirect spoke-маршрутизатор отправляет сообщение NHRP request, с помощью которого пытается выяснить, NBMA адрес устройства, за которым расположен получатель. Сообщение NHRP request передаётся через hub в сторону второго spoke-устройство, которое и отвечает на запрос. Получив ответ на соответствующий запрос, spoke-маршрутизатор добавляет новую запись в таблицу маршрутизации и использует её для пересылки трафика. Для включения опции redirect на туннельных интерфейсах spoke-устройств должна быть введена команда ip nhrp shortcut.
dyn5#sho ip ro 10.0.0.0 255.0.0.0 lo Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is 10.10.10.1 to network 0.0.0.0 10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks C 10.1.5.0/24 is directly connected, FastEthernet1/0 L 10.1.5.5/32 is directly connected, FastEthernet1/0 C 10.10.10.0/24 is directly connected, Tunnel0 L 10.10.10.5/32 is directly connected, Tunnel0 dyn5#ping 10.1.3.3 so 10.1.5.5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.3.3, timeout is 2 seconds: Packet sent with a source address of 10.1.5.5 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 52/69/104 ms dyn5#sho ip ro 10.0.0.0 255.0.0.0 lo Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is 10.10.10.1 to network 0.0.0.0 10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks H 10.1.3.0/24 [250/1] via 10.10.10.3, 00:00:02, Tunnel0 C 10.1.5.0/24 is directly connected, FastEthernet1/0 L 10.1.5.5/32 is directly connected, FastEthernet1/0 C 10.10.10.0/24 is directly connected, Tunnel0 L 10.10.10.5/32 is directly connected, Tunnel0
Трафик между spoke-устройствами передаётся напрямую, то есть минуя hub-маршрутизатор.
dyn5#traceroute 10.1.3.3 Type escape sequence to abort. Tracing the route to 10.1.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 10.10.10.3 52 msec 40 msec 52 msec
В выводе debug-сообщений на spoke-маршрутизаторе получение пакета nhrp redirect называется «NHRP: Receive Traffic Indication», тогда как отправку сообщения nhrp request можно распознать по фразе «NHRP: Sending NHRP Resolution Request for dest».
[править] Настройка IPsec
[править] Первая фаза (настройка IKE)
Для тестовой сети в политике isakmp используются настройки по умолчанию:
- Алгоритм шифрования: DES - Data Encryption Standard (56 bit keys);
- Алгоритм хеширования: Secure Hash Standard;
- Метод аутентификации: Rivest-Shamir-Adleman Signature;
- Группа Diffie-Hellman: #1 (768 bit);
- Время жизни SA: 86400 seconds, no volume limit.
[править]
В политике с аутентификацией по pre-shared key, метод аутентификации изменен, так как по умолчанию используется аутентификация по сертификатам. Остальные параметры используют значения по умолчанию.
Создать политику isakmp:
dyn1(config)#crypto isakmp policy 20 dyn1(config-isakmp)#authentication pre-share
Так как адрес peer заранее не известен и может быть получен динамически, то при настройке pre-shared key необходимо указывать шаблонный адрес (wildcard address).
Настроить isakmp pre-shared key:
dyn1(config)#crypto isakmp key 0 isakmpkey address 0.0.0.0 0.0.0.0
[править] Аутентификация по сертификатам
Аутентификацию по pre-shared key не рекомендуется использовать для DMVPN, так как pre-shared key должен быть указан с шаблонным адресом, и нет привязки к адресу маршрутизатора с которым устанавливается туннель.
В тестовой сети hub-маршрутизатор будет выполнять роль центра сертификатов. Всем маршрутизаторам выданы сертификаты.
|
Более подробно о настройке центра сертификатов на маршрутизаторе Cisco и процедуре выдачи сертификатов маршрутизаторам на странице Центр сертификатов на маршрутизаторе Cisco. |
Создать политику isakmp (так как по умолчанию используется аутентификация по сертификатам, то в тестовых целях можно оставить все настройки политики по умолчанию):
dyn1(config)#crypto isakmp policy 10 dyn1(config-isakmp)#
[править] Вторая фаза (настройка IPsec-профиля)
Так как hub-маршрутизатор не знает заранее IP-адреса spoke-маршрутизаторов, то для второй фазы IPsec нужна динамическая crypto map (dynamic crypto map), но для туннельных интерфейсов эквивалентом dynamic crypto map является IPSec-profile:
- применяется на туннельном интерфейсе;
- после применения любой трафик исходящий из туннельного интерфейса инициирует создание IPsec-туннеля (нет необходимости использовать ACL, как в обычной crypto map);
- source и destination адреса туннельного интерфейса используются для создания IPsec-туннеля. Адреса могут быть прописаны в настройках интерфейса или получены динамически с помощью NHRP (не задаётся адрес peer, как в обычной crypto map);
Создаем transform set:
dyn1(config)#crypto ipsec transform-set DMVPN-TR esp-des
Так как mGRE-интерфейс обеспечивает создание туннеля, то IPsec можно перевести в транспортный режим (по умолчанию используется туннельный режим):
dyn1(cfg-crypto-trans)#mode transport
Создать IPSec-профиль:
dyn1(config)#crypto ipsec profile DMVPN dyn1(config-profile)#set transform-set DMVPN-TR
[править] Применение IPsec-профиля
Применение IPsec-профиля на mGRE-интерфейсе:
dyn1(config)#interface Tunnel0 dyn1(config-if)#tunnel protection ipsec profile DMVPN
[править] Проверка работы IPsec
[править]
Проверка isakmp SA на dyn1:
dyn1#show crypto isakmp sa dst src state conn-id slot status 192.168.1.1 192.168.5.5 QM_IDLE 2 0 ACTIVE 192.168.1.1 192.168.3.3 QM_IDLE 1 0 ACTIVE
Проверка isakmp SA на dyn3 до установки туннеля spoke-to-spoke:
dyn3#show crypto isakmp sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status 192.168.1.1 192.168.3.3 QM_IDLE 1004 0 ACTIVE IPv6 Crypto ISAKMP SA
Проверка isakmp SA на dyn3 после установки туннеля spoke-to-spoke. Для этого достаточно просто пропинговать туннельный интерфейс соседнего spoke-маршрутизатора (но пакетов icmp желательно послать штук 10):
dyn3#sh cry isa sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status 192.168.1.1 192.168.3.3 QM_IDLE 1004 0 ACTIVE 192.168.5.5 192.168.3.3 QM_IDLE 1005 0 ACTIVE IPv6 Crypto ISAKMP SA
Более подробная информация про isakmp SA (аутентификация по pre-shared key):
dyn1#show crypto isakmp sa detail Codes: C - IKE configuration mode, D - Dead Peer Detection K - Keepalives, N - NAT-traversal X - IKE Extended Authentication psk - Preshared key, rsig - RSA signature renc - RSA encryption C-id Local Remote I-VRF Status Encr Hash Auth DH Lifetime Cap. 2 192.168.1.1 192.168.5.5 ACTIVE des sha psk 1 23:56:14 Connection-id:Engine-id = 2:1(software) 1 192.168.1.1 192.168.3.3 ACTIVE des sha psk 1 23:56:12 Connection-id:Engine-id = 1:1(software)
[править] Проверка работы IKE с аутентификацией по сертификатам
Проверка isakmp SA на dyn1:
dyn1#sh cry isa sa dst src state conn-id slot status 192.168.1.1 192.168.5.5 QM_IDLE 2 0 ACTIVE 192.168.1.1 192.168.3.3 QM_IDLE 1 0 ACTIVE
Проверка isakmp SA на dyn3 до установки туннеля spoke-to-spoke:
dyn3#sh crypto isakmp sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status 192.168.1.1 192.168.3.3 QM_IDLE 1006 0 ACTIVE IPv6 Crypto ISAKMP SA
Проверка isakmp SA на dyn3 после установки туннеля spoke-to-spoke. Для этого достаточно просто пропинговать туннельный интерфейс соседнего spoke-маршрутизатора (но пакетов icmp желательно послать штук 10):
dyn3#sh crypto isakmp sa detail Codes: C - IKE configuration mode, D - Dead Peer Detection K - Keepalives, N - NAT-traversal X - IKE Extended Authentication psk - Preshared key, rsig - RSA signature renc - RSA encryption IPv4 Crypto ISAKMP SA C-id Local Remote I-VRF Status Encr Hash Auth DH Lifetime Cap. 1006 192.168.3.3 192.168.1.1 ACTIVE des sha rsig 1 23:57:00 Engine-id:Conn-id = SW:6 1007 192.168.3.3 192.168.5.5 ACTIVE des sha rsig 1 23:59:26 Engine-id:Conn-id = SW:7
Более подробная информация про isakmp SA (аутентификация по сертификатам):
dyn1#show crypto isakmp sa detail X - IKE Extended Authentication psk - Preshared key, rsig - RSA signature renc - RSA encryption C-id Local Remote I-VRF Status Encr Hash Auth DH Lifetime Cap. 2 192.168.1.1 192.168.5.5 ACTIVE des sha rsig 1 23:59:43 Connection-id:Engine-id = 2:1(software) 1 192.168.1.1 192.168.3.3 ACTIVE des sha rsig 1 23:59:34 Connection-id:Engine-id = 1:1(software)
[править] Проверка работы IPsec
Просмотр информации о crypto map на dyn1:
dyn1#sh crypto map Crypto Map "Tunnel0-head-0" 65536 ipsec-isakmp Profile name: DMVPN Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ DMVPN-TR, } Crypto Map "Tunnel0-head-0" 65537 ipsec-isakmp Map is a PROFILE INSTANCE. Peer = 192.168.3.3 Extended IP access list access-list permit gre host 192.168.1.1 host 192.168.3.3 Current peer: 192.168.3.3 Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ DMVPN-TR, } Crypto Map "Tunnel0-head-0" 65538 ipsec-isakmp Map is a PROFILE INSTANCE. Peer = 192.168.5.5 Extended IP access list access-list permit gre host 192.168.1.1 host 192.168.5.5 Current peer: 192.168.5.5 Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ DMVPN-TR, } Interfaces using crypto map Tunnel0-head-0: Tunnel0
Просмотр информации о crypto map на dyn3 до создания динамического туннеля с dyn5:
dyn3#sh crypto map Crypto Map "Tunnel0-head-0" 65536 ipsec-isakmp Profile name: DMVPN Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ DMVPN-TR, } Crypto Map "Tunnel0-head-0" 65537 ipsec-isakmp Map is a PROFILE INSTANCE. Peer = 192.168.1.1 Extended IP access list access-list permit gre host 192.168.3.3 host 192.168.1.1 Current peer: 192.168.1.1 Security association lifetime: 4608000 kilobytes/3600 seconds PFS (Y/N): N Transform sets={ DMVPN-TR, } Interfaces using crypto map Tunnel0-head-0: Tunnel0
Проверка IPsec SA на dyn1:
dyn1#show crypto ipsec sa interface: Tunnel0 Crypto map tag: Tunnel0-head-0, local addr 192.168.1.1 protected vrf: (none) local ident (addr/mask/prot/port): (192.168.1.1/255.255.255.255/47/0) remote ident (addr/mask/prot/port): (192.168.3.3/255.255.255.255/47/0) current_peer 192.168.3.3 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 144, #pkts encrypt: 144, #pkts digest: 144 #pkts decaps: 110, #pkts decrypt: 110, #pkts verify: 110 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 0, #recv errors 0 local crypto endpt.: 192.168.1.1, remote crypto endpt.: 192.168.3.3 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet1/0 current outbound spi: 0x76324587(1983006087) inbound esp sas: spi: 0x68D0FDFE(1758526974) transform: esp-des , in use settings ={Tunnel, } conn id: 2008, flow_id: SW:8, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4576176/3198) IV size: 8 bytes replay detection support: N Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0x76324587(1983006087) transform: esp-des , in use settings ={Tunnel, } conn id: 2005, flow_id: SW:5, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4576171/3184) IV size: 8 bytes replay detection support: N Status: ACTIVE outbound ah sas: outbound pcp sas: protected vrf: (none) local ident (addr/mask/prot/port): (192.168.1.1/255.255.255.255/47/0) remote ident (addr/mask/prot/port): (192.168.5.5/255.255.255.255/47/0) current_peer 192.168.5.5 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 144, #pkts encrypt: 144, #pkts digest: 144 #pkts decaps: 106, #pkts decrypt: 106, #pkts verify: 106 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 0, #recv errors 0 local crypto endpt.: 192.168.1.1, remote crypto endpt.: 192.168.5.5 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet1/0 current outbound spi: 0xF5CB7B75(4123753333) inbound esp sas: spi: 0x31209EB8(824221368) transform: esp-des , in use settings ={Tunnel, } conn id: 2006, flow_id: SW:6, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4604536/3177) IV size: 8 bytes replay detection support: N Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0xF5CB7B75(4123753333) transform: esp-des , in use settings ={Tunnel, } conn id: 2007, flow_id: SW:7, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4604530/3161) IV size: 8 bytes replay detection support: N Status: ACTIVE outbound ah sas: outbound pcp sas:
Проверка IPsec SA на dyn3 после установки туннеля spoke-to-spoke:
dyn3#sh crypto ipsec sa interface: Tunnel0 Crypto map tag: Tunnel0-head-0, local addr 192.168.3.3 protected vrf: (none) local ident (addr/mask/prot/port): (192.168.3.3/255.255.255.255/47/0) remote ident (addr/mask/prot/port): (192.168.1.1/255.255.255.255/47/0) current_peer 192.168.1.1 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 56, #pkts encrypt: 56, #pkts digest: 56 #pkts decaps: 69, #pkts decrypt: 69, #pkts verify: 69 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 10, #recv errors 0 local crypto endpt.: 192.168.3.3, remote crypto endpt.: 192.168.1.1 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0 current outbound spi: 0x68D0FDFE(1758526974) inbound esp sas: spi: 0x76324587(1983006087) transform: esp-des , in use settings ={Tunnel, } conn id: 47, flow_id: SW:47, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4598083/3535) IV size: 8 bytes replay detection support: N Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0x68D0FDFE(1758526974) transform: esp-des , in use settings ={Tunnel, } conn id: 48, flow_id: SW:48, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4598082/3475) IV size: 8 bytes replay detection support: N Status: ACTIVE outbound ah sas: outbound pcp sas: protected vrf: (none) local ident (addr/mask/prot/port): (192.168.3.3/255.255.255.255/47/0) remote ident (addr/mask/prot/port): (192.168.5.5/255.255.255.255/47/0) current_peer 192.168.5.5 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 6, #pkts encrypt: 6, #pkts digest: 6 #pkts decaps: 7, #pkts decrypt: 7, #pkts verify: 7 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts compr. failed: 0 #pkts not decompressed: 0, #pkts decompress failed: 0 #send errors 0, #recv errors 0 local crypto endpt.: 192.168.3.3, remote crypto endpt.: 192.168.5.5 path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0 current outbound spi: 0x76C6CEF8(1992740600) inbound esp sas: spi: 0x6DD29A5(115157413) transform: esp-des , in use settings ={Tunnel, } conn id: 53, flow_id: SW:53, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4518903/3505) IV size: 8 bytes replay detection support: N Status: ACTIVE inbound ah sas: inbound pcp sas: outbound esp sas: spi: 0x76C6CEF8(1992740600) transform: esp-des , in use settings ={Tunnel, } conn id: 54, flow_id: SW:54, crypto map: Tunnel0-head-0 sa timing: remaining key lifetime (k/sec): (4518903/3490) IV size: 8 bytes replay detection support: N Status: ACTIVE outbound ah sas: outbound pcp sas:
[править] Просмотр информации о DMVPN сети
Так как на маршрутизаторе dyn3 записи различных типов — динамическая и статическая, то вся информация проверяется на нем.
|
В некоторых версиях IOS может не быть команды show dmvpn. Она появилась в Cisco IOS 12.4(9)T. |
Просмотр информации о DMVPN:
dyn3#show dmvpn Legend: Attrb --> S - Static, D - Dynamic, I - Incompletea N - NATed, L - Local, X - No Socket # Ent --> Number of NHRP entries with same NBMA peer Tunnel0, Type:Spoke, NHRP Peers:2, # Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb ----- --------------- --------------- ----- -------- ----- 1 192.168.1.1 10.10.10.1 UP 00:14:47 S 1 192.168.5.5 10.10.10.5 UP 00:14:36 D
Более подробная информация о DMVPN до применения IPsec profile:
dyn3#show dmvpn detail Legend: Attrb --> S - Static, D - Dynamic, I - Incompletea N - NATed, L - Local, X - No Socket # Ent --> Number of NHRP entries with same NBMA peer -------------- Interface Tunnel0 info: -------------- Intf. is up, Line Protocol is up, Addr. is 10.10.10.3 Source addr: 192.168.3.3, Dest addr: MGRE Protocol/Transport: "multi-GRE/IP", Protect "", Tunnel VRF "", ip vrf forwarding "" NHRP Details: NHS: 10.10.10.1 RE Type:Spoke, NBMA Peers:2 # Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network ----- --------------- --------------- ----- -------- ----- ----------------- 1 192.168.1.1 10.10.10.1 UP 00:01:06 S 10.10.10.1/32 # Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network ----- --------------- --------------- ----- -------- ----- ----------------- 1 192.168.5.5 10.10.10.5 UP 00:00:52 D 10.10.10.5/32 Pending DMVPN Sessions:
Более подробная информация о DMVPN после применения IPsec profile:
dyn3#show dmvpn detail Legend: Attrb --> S - Static, D - Dynamic, I - Incompletea N - NATed, L - Local, X - No Socket # Ent --> Number of NHRP entries with same NBMA peer -------------- Interface Tunnel0 info: -------------- Intf. is up, Line Protocol is up, Addr. is 10.10.10.3 Source addr: 192.168.3.3, Dest addr: MGRE Protocol/Transport: "multi-GRE/IP", Protect "DMVPN", Tunnel VRF "", ip vrf forwarding "" NHRP Details: NHS: 10.10.10.1 RE Type:Spoke, NBMA Peers:2 # Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network ----- --------------- --------------- ----- -------- ----- ----------------- 1 192.168.1.1 10.10.10.1 UP 00:20:47 S 10.10.10.1/32 IKE SA: local 192.168.3.3/500 remote 192.168.1.1/500 Active Crypto Session Status: UP-ACTIVE fvrf: (none) IPSEC FLOW: permit 47 host 192.168.3.3 host 192.168.1.1 Active SAs: 2, origin: crypto map Outbound SPI : 0x68D0FDFE, transform : esp-des Socket State: Open # Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb Target Network ----- --------------- --------------- ----- -------- ----- ----------------- 1 192.168.5.5 10.10.10.5 UP 00:20:47 D 10.10.10.5/32 IKE SA: local 192.168.3.3/500 remote 192.168.5.5/500 Active IKE SA: local 192.168.3.3/500 remote 192.168.5.5/500 Active Crypto Session Status: UP-ACTIVE fvrf: (none) IPSEC FLOW: permit 47 host 192.168.3.3 host 192.168.5.5 Active SAs: 2, origin: crypto map Outbound SPI : 0x76C6CEF8, transform : esp-des Socket State: Open Pending DMVPN Sessions:
[править] Конфигурации маршрутизаторов
В конфигурационных файлах сохранены все настройки:
- Различные протоколы динамической маршрутизации:
- OSPF;
- EIGRP;
- Различные методы аутентификации:
- по pre-shared key;
- по сертификатам.
Для реального использования достаточно выбрать один из протоколов маршрутизации и метод аутентификации.
|
Так как у EIGRP AD (administrative distance) меньше, чем у OSPF, то при использовании обоих протоколов, в таблице маршрутизации будут маршруты EIGRP. |
|
Так как у политики isakmp, которая использует аутентификацию по сертификатам, на всех маршрутизаторах номер меньше чем у политики с pre-shared key, то при использовании обеих политик, аутентификация будет проводиться по сертификатам. |
[править] Конфигурация hub-маршрутизатора (dyn1)
dyn1#sh run Building configuration... Current configuration : 5618 bytes ! ! Last configuration change at 23:01:18 UTC Fri Feb 27 2009 ! NVRAM config last updated at 23:07:10 UTC Fri Feb 27 2009 ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname dyn1 ! boot-start-marker boot-end-marker ! ! no aaa new-model memory-size iomem 5 ip cef ! ! ip domain name xgu.ru ip host dyn1 192.168.1.1 ! ! ! crypto pki server dyn1 ! crypto pki trustpoint dyn1 enrollment url http://dyn1:80 revocation-check crl rsakeypair dyn1 ! crypto pki trustpoint dyn enrollment url http://dyn1:80 revocation-check crl ! ! crypto pki certificate chain dyn1 certificate ca 01 308201F7 30820160 A0030201 02020101 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 34353534 5A170D31 32303232 37323234 3535345A 300F310D 300B0603 55040313 0464796E 3130819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100C2F6 FAC39C79 1F083E69 F2952D2E 9B0B439E 9970825F 2B8B69E5 104264F9 B6712BE1 DBDBDC5D 38D13DF3 9B9ADE18 53EDA6D5 F50F5958 B5BC485E 03B4A958 F53C1B2F 64149E25 4552E596 BC87D9C2 04F9B0F2 5158ED70 6A8E9600 9D99716B 991D9DE5 65C7CAEF B48FEE1B E37B0E48 A4784731 D7B70BE9 1E264E66 A1AF6EDE 433F0203 010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01 01FF0404 03020186 301F0603 551D2304 18301680 14316E92 9C655E50 81B8C728 E0967B27 1B2D34DA 9E301D06 03551D0E 04160414 316E929C 655E5081 B8C728E0 967B271B 2D34DA9E 300D0609 2A864886 F70D0101 04050003 8181005E 77BD000F 8AF70F5E 5B1BF974 754BBCD8 548494FE AC7EE542 A1F60A15 2FD74C84 01EC7C5D 1F4361B9 109A154F 208CE0A7 B53F6BAC D8D35C71 F5319EA1 60083F1C 60E65441 9D752A26 BB90F676 7E9F0F2A 9B0FE3C8 C254AFD5 7A055242 E856D93E 5CE9D5E4 0E2722D3 46540D03 F69688C6 FDC4EDE2 F138818F 5D0076F2 BF5CA2 quit crypto pki certificate chain dyn certificate 04 308201AC 30820115 A0030201 02020104 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 35363231 5A170D31 30303232 37323235 3632315A 301C311A 30180609 2A864886 F70D0109 02160B64 796E312E 7867752E 7275305C 300D0609 2A864886 F70D0101 01050003 4B003048 024100A6 B5406A29 6DC12463 BF3204E9 00DF0F76 28157CEE 30FE7086 95CF3C17 06680971 23FFB531 7E52632A A779EA0C 54C54304 63D20B6D 4065408D F1532CDA CC3B3902 03010001 A34F304D 300B0603 551D0F04 04030205 A0301F06 03551D23 04183016 8014316E 929C655E 5081B8C7 28E0967B 271B2D34 DA9E301D 0603551D 0E041604 1452D06E 52DA5CB4 F90D2966 31A4D112 3E2FC81F 32300D06 092A8648 86F70D01 01040500 03818100 A4E9A982 2E293A24 1B89C9FE F8A03BE1 024AF029 417B3A23 D7EABBAB 8E83664A 7821BFDC 65CD0280 1C7BAE0F 41053A45 0E8FB6FA 83A6FFA2 11075443 4AB6658E 0F17A141 FAC2E7A9 D093890B 8DA9E90C 8C5A7C82 0B4D261D 452690DE 894D9BF4 14EE9FF5 F9632C3A F5F34115 F42AA444 954ACE4F 32A47FD0 AF588B7F 299027DA quit certificate ca 01 308201F7 30820160 A0030201 02020101 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 34353534 5A170D31 32303232 37323234 3535345A 300F310D 300B0603 55040313 0464796E 3130819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100C2F6 FAC39C79 1F083E69 F2952D2E 9B0B439E 9970825F 2B8B69E5 104264F9 B6712BE1 DBDBDC5D 38D13DF3 9B9ADE18 53EDA6D5 F50F5958 B5BC485E 03B4A958 F53C1B2F 64149E25 4552E596 BC87D9C2 04F9B0F2 5158ED70 6A8E9600 9D99716B 991D9DE5 65C7CAEF B48FEE1B E37B0E48 A4784731 D7B70BE9 1E264E66 A1AF6EDE 433F0203 010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01 01FF0404 03020186 301F0603 551D2304 18301680 14316E92 9C655E50 81B8C728 E0967B27 1B2D34DA 9E301D06 03551D0E 04160414 316E929C 655E5081 B8C728E0 967B271B 2D34DA9E 300D0609 2A864886 F70D0101 04050003 8181005E 77BD000F 8AF70F5E 5B1BF974 754BBCD8 548494FE AC7EE542 A1F60A15 2FD74C84 01EC7C5D 1F4361B9 109A154F 208CE0A7 B53F6BAC D8D35C71 F5319EA1 60083F1C 60E65441 9D752A26 BB90F676 7E9F0F2A 9B0FE3C8 C254AFD5 7A055242 E856D93E 5CE9D5E4 0E2722D3 46540D03 F69688C6 FDC4EDE2 F138818F 5D0076F2 BF5CA2 quit ! ! ! ! crypto isakmp policy 10 ! crypto isakmp policy 20 authentication pre-share crypto isakmp key isakmpkey address 0.0.0.0 0.0.0.0 ! ! crypto ipsec transform-set DMVPN-TR esp-des mode transport ! ! crypto ipsec profile DMVPN set transform-set DMVPN-TR ! ! interface Tunnel0 ip address 10.10.10.1 255.255.255.0 no ip redirects ip mtu 1416 no ip next-hop-self eigrp 1 ip nhrp authentication nhrppass ip nhrp map multicast dynamic ip nhrp network-id 999 no ip split-horizon eigrp 1 ip ospf network broadcast ip ospf hello-interval 30 ip ospf priority 10 tunnel source FastEthernet1/0 tunnel mode gre multipoint tunnel key 999 tunnel protection ipsec profile DMVPN ! interface FastEthernet0/0 ip address 10.1.1.1 255.255.255.0 duplex auto speed auto ! interface FastEthernet0/1 no ip address shutdown duplex auto speed auto ! interface FastEthernet1/0 ip address 192.168.1.1 255.255.255.0 duplex auto speed auto ! router eigrp 1 network 10.1.1.0 0.0.0.255 network 10.10.10.0 0.0.0.255 no auto-summary ! router ospf 1 log-adjacency-changes network 10.1.1.0 0.0.0.255 area 1 network 10.10.10.0 0.0.0.255 area 0 ! ip forward-protocol nd ip route 192.168.3.0 255.255.255.0 192.168.1.2 ip route 192.168.5.0 255.255.255.0 192.168.1.2 ! ! ip http server no ip http secure-server ! ! control-plane ! ! line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 ! ! end
[править] Конфигурация spoke1 (dyn3)
dyn3#sh run Building configuration... Current configuration : 4466 bytes ! ! Last configuration change at 22:57:58 UTC Fri Feb 27 2009 ! NVRAM config last updated at 23:00:31 UTC Fri Feb 27 2009 ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname dyn3 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip cef ! ! ! ip domain name xgu.ru ip host dyn1 192.168.1.1 ! multilink bundle-name authenticated ! ! ! ! crypto pki trustpoint dyn1 enrollment url http://dyn1:80 revocation-check crl ! ! crypto pki certificate chain dyn1 certificate 02 308201F0 30820159 A0030201 02020102 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 35323031 5A170D31 30303232 37323235 3230315A 301C311A 30180609 2A864886 F70D0109 02160B64 796E332E 7867752E 72753081 9F300D06 092A8648 86F70D01 01010500 03818D00 30818902 818100B5 3C4F3F80 1AF47759 9707CF2D FF5A62CF 8409EA97 CC9940C1 4DAB0907 DAB67FEC AB6CEFB5 23B2102A C715F0C6 E928AD13 9C46EFE7 0A1088D9 64B143E0 60E0846B 4E309FE3 34A956DE 8BBAE8B5 24482691 33E33E6F DA4D5D71 2ED3000C 17091FFB 8330F259 DB29EE82 F791251B C856222E 50E7E2D4 DC7834BD 9CA9DD90 9B3A4902 03010001 A34F304D 300B0603 551D0F04 04030205 A0301F06 03551D23 04183016 8014316E 929C655E 5081B8C7 28E0967B 271B2D34 DA9E301D 0603551D 0E041604 142D0CE0 43342D6A 6E707455 9546A505 8AA3389B BD300D06 092A8648 86F70D01 01040500 03818100 5BA5FF5C B9CE9D85 D5FAECBA 1CC46FFA C380C2BC 0CD47900 AB18C0DC 2785DE8C B60C0066 EBFD009C A77C8D77 02E57E58 C569D21F 1ED99D77 FB48EF54 33CCAE81 DEDCAC47 F95DCB79 0969BA3F 1BF21012 682C0E6C 736343BB 11E2AFA2 0782B200 FDE760D4 6D052C0D 7006AF57 EEFFDF10 BC51F753 A0210C0D 2E39CCD3 EF5A7652 quit certificate ca 01 308201F7 30820160 A0030201 02020101 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 34353534 5A170D31 32303232 37323234 3535345A 300F310D 300B0603 55040313 0464796E 3130819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100C2F6 FAC39C79 1F083E69 F2952D2E 9B0B439E 9970825F 2B8B69E5 104264F9 B6712BE1 DBDBDC5D 38D13DF3 9B9ADE18 53EDA6D5 F50F5958 B5BC485E 03B4A958 F53C1B2F 64149E25 4552E596 BC87D9C2 04F9B0F2 5158ED70 6A8E9600 9D99716B 991D9DE5 65C7CAEF B48FEE1B E37B0E48 A4784731 D7B70BE9 1E264E66 A1AF6EDE 433F0203 010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01 01FF0404 03020186 301F0603 551D2304 18301680 14316E92 9C655E50 81B8C728 E0967B27 1B2D34DA 9E301D06 03551D0E 04160414 316E929C 655E5081 B8C728E0 967B271B 2D34DA9E 300D0609 2A864886 F70D0101 04050003 8181005E 77BD000F 8AF70F5E 5B1BF974 754BBCD8 548494FE AC7EE542 A1F60A15 2FD74C84 01EC7C5D 1F4361B9 109A154F 208CE0A7 B53F6BAC D8D35C71 F5319EA1 60083F1C 60E65441 9D752A26 BB90F676 7E9F0F2A 9B0FE3C8 C254AFD5 7A055242 E856D93E 5CE9D5E4 0E2722D3 46540D03 F69688C6 FDC4EDE2 F138818F 5D0076F2 BF5CA2 quit ! ! ! crypto isakmp policy 10 ! crypto isakmp policy 20 authentication pre-share crypto isakmp key isakmpkey address 0.0.0.0 0.0.0.0 ! ! crypto ipsec transform-set DMVPN-TR esp-des mode transport ! ! crypto ipsec profile DMVPN set transform-set DMVPN-TR ! ! ! interface Tunnel0 ip address 10.10.10.3 255.255.255.0 no ip redirects ip mtu 1416 ip nhrp authentication nhrppass ip nhrp map 10.10.10.1 192.168.1.1 ip nhrp map multicast 192.168.1.1 ip nhrp network-id 999 ip nhrp nhs 10.10.10.1 ip nhrp cache non-authoritative ip ospf network broadcast ip ospf hello-interval 30 ip ospf priority 0 tunnel source FastEthernet0/0 tunnel mode gre multipoint tunnel key 999 tunnel protection ipsec profile DMVPN ! interface FastEthernet0/0 ip address 192.168.3.3 255.255.255.0 duplex full ! interface FastEthernet1/0 ip address 10.1.3.3 255.255.255.0 duplex full ! router eigrp 1 network 10.1.3.0 0.0.0.255 network 10.10.10.0 0.0.0.255 no auto-summary ! router ospf 1 log-adjacency-changes network 10.1.3.0 0.0.0.255 area 3 network 10.10.10.0 0.0.0.255 area 0 ! ip route 192.168.1.0 255.255.255.0 192.168.3.2 ip route 192.168.5.0 255.255.255.0 192.168.3.2 no ip http server no ip http secure-server ! ! ! logging alarm informational ! ! ! control-plane ! ! line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 ! ! end
[править] Конфигурация spoke2 (dyn5)
dyn5#sh run Building configuration... Current configuration : 4486 bytes ! ! Last configuration change at 23:01:02 UTC Fri Feb 27 2009 ! NVRAM config last updated at 23:01:03 UTC Fri Feb 27 2009 ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname dyn5 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip cef ! ! no ip domain lookup ip domain name xgu.ru ip host dyn1 192.168.1.1 ! multilink bundle-name authenticated ! ! ! ! ! crypto pki trustpoint dyn1 enrollment url http://dyn1:80 revocation-check crl ! ! ! ! crypto pki certificate chain dyn1 certificate 03 308201F0 30820159 A0030201 02020103 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 35323032 5A170D31 30303232 37323235 3230325A 301C311A 30180609 2A864886 F70D0109 02160B64 796E352E 7867752E 72753081 9F300D06 092A8648 86F70D01 01010500 03818D00 30818902 818100B2 5B009C5C 96CE1EC6 50277830 567B7A7E D2E708C9 08D76929 FEBBEF08 CAB21B0B 1608D6F4 E95E4289 B982C020 4CE04C0C 98D529D6 194B0E43 EA66C3D2 D4DA1C91 137F3E0D 0A82C6A1 C3E35FF7 5835F8C2 AB4F6041 1C795126 E5624959 14125BFD 5F8B0D23 86F89692 8665B1EA 155267DC 597E3BBD D09767B1 94DCA421 6604ED02 03010001 A34F304D 300B0603 551D0F04 04030205 A0301F06 03551D23 04183016 8014316E 929C655E 5081B8C7 28E0967B 271B2D34 DA9E301D 0603551D 0E041604 144898BD AAA7C3C3 7AF48494 F40A655A 7164F361 6E300D06 092A8648 86F70D01 01040500 03818100 91A1FD53 C06730AE D5265C09 C8B00F77 4F404E0A BA40FD59 1E337390 4597F3E8 3E9537B1 64030C48 4373EB95 EF0E7364 9E4E0DFE 9D9E40E7 B261C899 6A71EAD4 3C3478BA 6C7FC386 F80BE286 CF5A9013 E5CF37BC A3B228E1 D1C67B35 EAF9EF69 40E79C95 7DC25C3A E5C1E4A7 63CD2727 3820B8DF B5675215 D41BFD8C A34392C7 quit certificate ca 01 308201F7 30820160 A0030201 02020101 300D0609 2A864886 F70D0101 04050030 0F310D30 0B060355 04031304 64796E31 301E170D 30393032 32373232 34353534 5A170D31 32303232 37323234 3535345A 300F310D 300B0603 55040313 0464796E 3130819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100C2F6 FAC39C79 1F083E69 F2952D2E 9B0B439E 9970825F 2B8B69E5 104264F9 B6712BE1 DBDBDC5D 38D13DF3 9B9ADE18 53EDA6D5 F50F5958 B5BC485E 03B4A958 F53C1B2F 64149E25 4552E596 BC87D9C2 04F9B0F2 5158ED70 6A8E9600 9D99716B 991D9DE5 65C7CAEF B48FEE1B E37B0E48 A4784731 D7B70BE9 1E264E66 A1AF6EDE 433F0203 010001A3 63306130 0F060355 1D130101 FF040530 030101FF 300E0603 551D0F01 01FF0404 03020186 301F0603 551D2304 18301680 14316E92 9C655E50 81B8C728 E0967B27 1B2D34DA 9E301D06 03551D0E 04160414 316E929C 655E5081 B8C728E0 967B271B 2D34DA9E 300D0609 2A864886 F70D0101 04050003 8181005E 77BD000F 8AF70F5E 5B1BF974 754BBCD8 548494FE AC7EE542 A1F60A15 2FD74C84 01EC7C5D 1F4361B9 109A154F 208CE0A7 B53F6BAC D8D35C71 F5319EA1 60083F1C 60E65441 9D752A26 BB90F676 7E9F0F2A 9B0FE3C8 C254AFD5 7A055242 E856D93E 5CE9D5E4 0E2722D3 46540D03 F69688C6 FDC4EDE2 F138818F 5D0076F2 BF5CA2 quit ! ! ! crypto isakmp policy 10 ! crypto isakmp policy 20 authentication pre-share crypto isakmp key isakmpkey address 0.0.0.0 0.0.0.0 ! ! crypto ipsec transform-set DMVPN-TR esp-des mode transport ! ! crypto ipsec profile DMVPN set transform-set DMVPN-TR ! ! ! interface Tunnel0 ip address 10.10.10.5 255.255.255.0 no ip redirects ip mtu 1416 ip nhrp authentication nhrppass ip nhrp map 10.10.10.1 192.168.1.1 ip nhrp map multicast 192.168.1.1 ip nhrp network-id 999 ip nhrp nhs 10.10.10.1 ip nhrp cache non-authoritative ip ospf network broadcast ip ospf hello-interval 30 ip ospf priority 0 tunnel source FastEthernet0/0 tunnel mode gre multipoint tunnel key 999 tunnel protection ipsec profile DMVPN ! interface FastEthernet0/0 ip address 192.168.5.5 255.255.255.0 duplex full ! interface FastEthernet1/0 ip address 10.1.5.5 255.255.255.0 duplex full ! router eigrp 1 network 10.1.5.0 0.0.0.255 network 10.10.10.0 0.0.0.255 no auto-summary ! router ospf 1 log-adjacency-changes network 10.1.5.0 0.0.0.255 area 5 network 10.10.10.0 0.0.0.255 area 0 ! ip route 192.168.1.0 255.255.255.0 192.168.5.2 ip route 192.168.3.0 255.255.255.0 192.168.5.2 no ip http server no ip http secure-server ! ! logging alarm informational ! ! ! control-plane ! ! line con 0 exec-timeout 0 0 logging synchronous stopbits 1 line aux 0 stopbits 1 line vty 0 4 ! ! end
[править] DMVPN и crypto-map на одном интерфейсе
Удалось подружить DMVPN и crypto-map на одном интерфейсе используя ISAKMP Profile.
[править] Дополнительные настройки
Описываем ключи для каждого из пиров:
crypto keyring AAA pre-shared-key address 192.168.2.1 key isakmpkey
Формируем новый ISAKMP профиль
crypto isakmp profile MyISaPROF keyring AAA match identity address 192.168.2.1 255.255.255.255
Добавляем еще один transform-set
crypto ipsec transform-set MyTS esp-3des esp-md5-hmac
Формируем crypto map используем crypto isakmp profile MyISaPROF
crypto map MyCRM 10 ipsec-isakmp set peer 192.168.2.1 set security-association lifetime seconds 28800 set transform-set MyTS set pfs group2 set isakmp-profile MyISaPROF match address MAP_VPN
Заводим access-list с разрешением на каждую подсеть за каждым пиром
ip access-list extended MAP_VPN permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 deny ip any any
И самое простое подвешиваем crypto map на внешний интерфейс
interface FastEthernet0/1 description WAN Provader ip address 192.168.1.1 255.255.255.0 no ip redirects no ip unreachables no ip proxy-arp ip verify unicast reverse-path ip nbar protocol-discovery ip virtual-reassembly duplex auto speed auto no cdp enable crypto map MyCRM
Не забываем маршруты на сети за VPN
ip route 10.1.2.0 255.255.255.0 FastEthernet0/1
Вроде все. Громоздко, статично, если много пиров то и писать много. Но позволяет подключить к Cisco любую железку (dlink, tplink и пр. супербренды :) ).
Конфигурация hub-маршрутизатора
! version 15.0 service timestamps debug datetime msec service timestamps log datetime msec service password-encryption ! hostname R1ca ! boot-start-marker boot-end-marker ! no aaa new-model ! ! ! clock timezone UTC 3 dot11 syslog ip source-route ! ! ! ! ip cef ip domain name xgu.ru ip host R1ca 192.168.1.1 no ipv6 cef ! multilink bundle-name authenticated ! ! crypto pki server R1ca database level names lifetime crl 24 lifetime certificate 1095 lifetime ca-certificate 1825 ! crypto pki trustpoint R1ca enrollment url http://R1ca:80 revocation-check crl rsakeypair R1ca ! crypto pki trustpoint TEST1 enrollment url http://R1ca:80 serial-number revocation-check crl ! ! ! ! ! crypto keyring AAA pre-shared-key address 192.168.2.1 key isakmpkey ! crypto isakmp policy 10 ! crypto isakmp policy 20 encr 3des hash md5 authentication pre-share group 2 lifetime 28800 ! ! ! crypto isakmp profile MyISaPROF keyring AAA match identity address 192.168.2.1 255.255.255.255 ! ! crypto ipsec transform-set DMVPN-TR esp-3des esp-md5-hmac mode transport crypto ipsec transform-set MyTS esp-3des esp-md5-hmac ! crypto ipsec profile DMVPN set transform-set DMVPN-TR ! ! crypto map MyCRM 10 ipsec-isakmp set peer 192.168.2.1 set security-association lifetime seconds 28800 set transform-set MyTS set pfs group2 set isakmp-profile MyISaPROF match address MAP_VPN ! ! ! ! interface Tunnel0 ip address 10.10.10.1 255.255.255.0 no ip redirects ip mtu 1416 ip nhrp authentication nhrppass ip nhrp map multicast dynamic ip nhrp network-id 999 ip ospf network broadcast ip ospf hello-interval 30 ip ospf priority 10 tunnel source FastEthernet0/1 tunnel mode gre multipoint tunnel key 999 tunnel protection ipsec profile DMVPN ! ! interface FastEthernet0/0 description LAN ip address 10.1.1.1 255.255.255.0 no ip redirects no ip unreachables no ip proxy-arp ip virtual-reassembly duplex auto speed auto no cdp enable ! ! interface FastEthernet0/1 description WAN Provider ip address 192.168.1.1 255.255.255.0 no ip redirects no ip unreachables no ip proxy-arp ip verify unicast reverse-path ip nbar protocol-discovery ip virtual-reassembly duplex auto speed auto no cdp enable crypto map MyCRM ! ! router ospf 1 log-adjacency-changes network 10.10.10.0 0.0.0.255 area 0 network 10.1.1.0 0.0.0.255 area 1 ! ip forward-protocol nd ip http server no ip http secure-server ! ! ! ip route 10.1.2.0 255.255.255.0 FastEthernet0/1 ! ! ip route 212.109.44.0 255.255.255.0 192.168.3.1 ! ip access-list extended MAP_VPN permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255 deny ip any any ! ! ! ! control-plane ! ! ! line con 0 exec-timeout 5 0 stopbits 1 line aux 0 exec-timeout 5 0 line vty 0 4 exec-timeout 30 0 privilege level 15 transport input telnet ssh ! scheduler allocate 20000 1000 ntp server 80.91.187.10 ntp server 62.149.0.30 end
[править] Дополнительная информация
DMVPN dual ISP:
[править] Материалы по IPsec на xgu.ru
- IPsec
- IPsec в Linux
- IPsec в FreeBSD
- IPsec в OpenBSD
- IPsec в NetBSD
- IPsec в Cisco
- Настройка DMVPN