Страница 1 из 1

Настройка DMVPN туннелей

Добавлено: 13 дек 2014, 21:59
RomA
Дано:
1) Есть 3 офиса, которые надо обьединить меж собой шифрованными туннелями.
Ну туннелями понятно почему - дабы умные провайдеры что нить не порезали (вот только недавно провайдер без объявления войны закрыл ssh порт, оставив мои железки без возможности управления), а шифрованный - это на всякий случай - вы же дверь на ключ запираете зачем-то, причём не только когда из дома уходите, но и когда ночью спите... ну так вот, что бы ночью спалось хорошо - зашифруем :-)
2) Офисы примерно равнозначны, потому трафик будет ходить не из центра в филиал, а между филиалами тоже

Концепция:
В качестве решения будеv использовать IPSec VPN на Cisco, ну а что бы трафик ходил между филиалами - воспользуемся технологией DMVPN. Таким образом у нас будет Центр (hub) и два Филиала (spoke) - обе эти группы будут настраиваться по своему. Теории на эту тему написано уже много, потому я буду приводить ПОЛНУЮ РАБОЧУЮ конфигурацию

Для наглядности приведу общую схему
DMVPN.png
И отдельно разрисую центральный хаб
DMVPN-HUB.png
Решение:
Первые настройки одинаковые для всех 3х удалённых точек.

Настроим шифрование. У меня оно будет происходить по ключу

Код: Выделить всё

crypto isakmp policy 10
 authentication pre-share
crypto isakmp key Hml3qcL4 address 0.0.0.0 0.0.0.0
crypto isakmp keepalive 10 periodic
Hml3qcL4 - это пароль для установки соединения (про первую фазу или рукопожатие почитаете сами, если станет интересно)
0.0.0.0 0.0.0.0 - для DMVPN нужно писать так, но если вы устанавливаете просто тунель, с заранее известными IP адресами, то лучше люда прописать IP удалённого хоста - безопасней будет

Теперь создадим профиль шифрования - зададим алгоритмы шифрования (так как это IKEv1, то постарайтесь что бы они были одинаковые на всех трёх цисках)

Код: Выделить всё

crypto ipsec transform-set StNiva esp-3des esp-sha-hmac.
!
crypto ipsec profile StNivaProfil
 set security-association lifetime seconds 28800
 set transform-set StNiva.
А вот теперь пошли различия.
Центральный офис:

Код: Выделить всё

interface Tunnel0
 ip address 192.168.255.1 255.255.255.128
 no ip redirects
 ip mtu 1400
 no ip next-hop-self eigrp 90
 ip nhrp authentication Hml3qcL4
 ip nhrp map multicast dynamic
 ip nhrp network-id 7
 ip nhrp registration no-unique
 no ip split-horizon eigrp 90
 tunnel source Port-channel1.9
 tunnel mode gre multipoint
 tunnel key 6
 tunnel protection ipsec profile StNivaProfil
192.168.255.1 - адрес туннельного интерфейса - он будет разный на всех 3х цисках
o ip split-horizon eigrp 90 - я использую EIGRP для маршрутизации. Эта настройка делается только на хабе
ip nhrp map multicast dynamic - по сути вот он наш DMVPN - включаем протокол NHRP
ip nhrp authentication Hml3qcL4 - ставим на него пароль
ip nhrp network-id 7 - идентификатор туннеля
tunnel key 6 - уникальный ключ туннеля
tunnel source Port-channel1.9 - это внешний (интернетовский) интерфейс туннеля
tunnel protection ipsec profile StNivaProfil - профиль - мы выше его создавали

Теперь включим маршрутизацию (если не была ещё включена) в которой мы опишет все сети, которые есть у нас на устройстве и мы хотим что бы они маршрутизировались.

Код: Выделить всё

router eigrp 90
 network 192.168.0.0 0.0.1.255
 network 192.168.255.0 0.0.0.127
 no auto-summary
network 192.168.255.0 0.0.0.127 - наша туннельная сеть
network 192.168.0.0 0.0.1.255 - а это локальная сеть филиала
Заметили, да, маски обратные (wildcard)

Тут всё. Теперь филиалы. Конфигурация у них будет отличаться только IP адресом в туннеле и локальной сетью в маршрутизации

Код: Выделить всё

crypto isakmp policy 10
 authentication pre-share
crypto isakmp key Hml3qcL4 address 0.0.0.0 0.0.0.0
crypto isakmp keepalive 30 5
!
!
crypto ipsec transform-set StNiva esp-3des esp-sha-hmac.
!
crypto ipsec profile StNivaProfil
 set security-association lifetime seconds 28800
 set transform-set StNiva.
!
!
!
!
interface Tunnel0
 ip address 192.168.255.12 255.255.255.128
 no ip redirects
 ip mtu 1400
 ip nhrp authentication Hml3qcL4
 ip nhrp map multicast dynamic
 ip nhrp map 192.168.255.1 95.230.34.50
 ip nhrp map multicast 95.230.34.50
 ip nhrp network-id 7
 ip nhrp nhs 192.168.255.1
 tunnel source FastEthernet0/0
 tunnel mode gre multipoint
 tunnel key 6
 tunnel protection ipsec profile StNivaProfil

router eigrp 90
 network 192.168.54.0
 network 192.168.255.0 0.0.0.127
 no auto-summary
Видим, что IP адрес туннеля поменялся, а пароли и ключи туннеля остались теми же. Посмотрим третий хост

Код: Выделить всё

crypto isakmp policy 10
 authentication pre-share
crypto isakmp key Hml3qcL4 address 0.0.0.0 0.0.0.0
crypto isakmp keepalive 30 5
!
!
crypto ipsec transform-set StNiva esp-3des esp-sha-hmac.
!
crypto ipsec profile StNivaProfil
 set security-association lifetime seconds 28800
 set transform-set StNiva.

interface Tunnel0
 ip address 192.168.255.22 255.255.255.128
 no ip redirects
 ip mtu 1400
 ip nhrp authentication Hml3qcL4
 ip nhrp map multicast dynamic
 ip nhrp map 192.168.255.1 95.230.34.50
 ip nhrp map multicast 95.230.34.50
 ip nhrp network-id 7
 ip nhrp nhs 192.168.255.1
 tunnel source FastEthernet0/0
 tunnel mode gre multipoint
 tunnel key 6
 tunnel protection ipsec profile StNivaProfil

router eigrp 90
 network 192.168.46.0 0.0.1.255
 network 192.168.255.0 0.0.0.127
 no auto-summary
Ну вот и всё - Если вы просто введёте эти команды - у вас поднимутся туннели и всё будет работать - данная конфигурация полностью достаточная что бы всё начало пинговаться.

Траблешутинг:
1) Если не вводятся команды, значит у вас их не поддерживает версия IOS - меняйте. Делать такое умеют все роутеры, даже слабая 870 серия. А вот на свитках и АSA вы это не настроите.
2) Как же всё же проверить что всё работает? Просто:
2.1) пингануть удалённый хост ping 192.168.255.12 (пинг может пойти не сразу, но пойдёт. ещё попробуйте пикнуть с компьютера в локальной сети - если вы перемудрили с маршрутизацией то с самой цирки может и не пинговаться. ну или ping 192.168.255.12 sourse 192.168.255.1 )
2.2) посмотреть поднялись ли туннели sh cry is sa - хотя бы один должен весить постоянно - остальные поднимаются когда есть трафик (с хабом висят все всегда)
2.3) глянуть сработал ли EIGRP sh ip ei nei - если хоть что-то отобразилось - уже хорошо )))

Литература:
Очень хорошо всё это расписано в картинках тут:
http://linkmeup.ru/blog/50.html
и текстом тут:
http://xgu.ru/wiki/Настройка_DMVPN_на_м ... орах_Cisco

DMVPN: Добавляем отказоустойчивости

Добавлено: 17 июл 2015, 11:14
RomA
Введение:
Всё бы ничего, но когда умирает интернет на хабе, или сам хаб - вся наша сеть разваливается, а вот народ уже привык к локальной сети между филиалами.

Задача:
Повысить отказоустойчивость Корпоративной Сети Передачи Данных.

Решение:
Перестроить существующий DMVPN на схему работы Dual Hub. По сути это означает что каждая циска будет держать одновременно по 2 туннеля - то есть мы просто строим вторую DMVPN сеть рядом с существующей.
dmvpn.jpg
Реализация:
Так как в центре сети стоят все сервера и там критичность больше всего, - не буду нарушать существующую идеологию работы и поставлю вторую циску в рядом с первой. Так же проведу второй интернет.

Таким образом в центре сети у нас стоит 2 циски, каждая подключеная к одному своему провайдеру. На филиалах осталось стоять по одной циске, но на один из филиалов, где большая критичность к простоям, был подключен еще один интернет от другого провайдера. Итого, на 2х цисках в центре сети имеем две DMVPN сети, которые страхуют друг друга. На филиале, где два канала интернет, прописан статический маршрут на новый DMVPN хаб через нового провайдера. Сложнее всего пришлось филиалу, где остался один интернет, а ему надо держать две сети - что бы это заработало надо в настройках и нового и существующего тунеля заменить последнюю строку с

Код: Выделить всё

tunnel protection ipsec profile StNivaProfil
на

Код: Выделить всё

tunnel protection ipsec profile StNivaProfil shared
Литература:
http://netconfigure.net/index.php/ru/fo ... ec-tunneli