img

Настройка DMVPN на оборудовании Cisco

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

В сегодняшней статье покажем пример настройки DMVPN – Dynamic Multipoint VPN, что является VPN решением компании Cisco. Данное решение используется, когда требуется высокая масштабируемость и легкость настройки при подключении филиалов к головному офису.

DMPVN одно из самых масштабируемых и эффективных решений VPN поддерживаемых компанией Cisco. В основном оно используется при топологии Hub-and-Spoke, где вы хотели бы видеть прямые VPN туннели Spoke-to-Spoke в дополнение к обычным Spoke-to-Hub туннелям. Это означает, что филиалы смогут общаться с друг другом напрямую, без необходимости прохождение трафика через HQ. Как уже упоминали, эта технология является проприетарной технологией Cisco.

Если вам необходимо подключить более десяти сайтов к головному офису, то DMPVN будет идеальным выбором. Кроме того, DMPVN поддерживает не только Hub-and-Spoke, но и Full-Mesh топологию, так как все сайты имеют между собой связность без необходимости настройки статических VPN туннелей между сайтами.


Некоторые характеристики DMVPN

Для начала перечислим важные характеристики данного способа организации Site-to-Site VPN для лучшего понимания:

  • Центральный маршрутизатор (HUB) - данный роутер работает как DMVPN сервер, и Spoke маршрутизаторы работают как DMVPN клиенты;
  • У данного маршрутизатора есть публичный статический IP-адрес на WAN интерфейсе;
  • У Spoke маршрутизаторов на WAN интерфейсах может как статический, так и динамический публичный IP-адрес;
  • У каждого филиала (Spoke) есть IPSEC туннель к головному офису (Hub);
  • Spoke-to-Spoke - туннели устанавливаются при возникновении необходимости, когда есть движение трафика между филиалами. Таким образом, трафик может не ходить через головной офис, а использовать прямые туннели между филиалами;
  • Все туннели используют Multipoint GRE c IPSEC;
  • NHRP (Next Hop Resolution Protocol) - данный протокол используется для установления соответствий между приватными IP туннельных интерфейсов с публичными WAN адресами
  • Описанные выше NHRP соответствия будут храниться на NHRP сервере, чем в нашем случае является HUB роутер. Каждый филиал устанавливает соединение с головным офисом и регистрирует свой публичный IP-адрес и его приватный IP-адрес тунеля;
  • Когда филиалу необходимо отправить пакеты в подсеть другого филиала, он запрашивает NHRP сервер для получения информации о внешнем публичном адресе целевого филиала;
  • Для лучшей масштабируемости советуем использовать один из протоколов динамический маршрутизации между всеми роутерами – например, EIGRP;

Еще раз кратко о технологиях, которые использует DMVPN:

  • Multipoint GRE;
  • IPSEC;
  • NHRP – Next Hop Resolution Protocol;
  • Статическая или динамическая маршрутизация;

Настройка маршрутизатора

Конкретно в нашем примере у нас будет HUB маршрутизатор и два филиала. И, как было описано ранее, HUB – это DMVPN cервер, а филиалы – DMPVN клиенты.

В нашем примере в качестве маршрутизатора используется CISCO1921/K9
Настройка DMVPN на оборудовании Cisco

Сначала настраиваем HUB маршрутизатор – ему необходимо присвоить статический IP – адрес на внешнем WAN-интерфейсе:

! Настраиваем интерфейсы
interface GigabitEthernet0/0
 description to Internet-WAN
 ip address 10.10.10.1 255.255.255.252
 !
interface GigabitEthernet0/1
 description to LAN
 ip address 192.168.160.1 255.255.255.0 
 duplex auto
! Настраиваем туннельный интерфейс, который является улучшенным GRE (Multipoint GRE) 
interface Tunnel1
 description DMVPN Tunnel
 ip address 172.16.1.1 255.255.255.0 // выбираем приватную подсеть для туннелей
 no ip redirects
 ip nhrp authentication nhrp1234 // аутентификация между маршрутизаторами 
 ip nhrp network-id 1 // сетевой идентификатор, который должен быть одинаковым на всех маршрутизаторах
 load-interval 30
 keepalive 5 10
 tunnel source GigabitEthernet0/0 // назначаем источником туннеля WAN интерфейс
 tunnel mode gre multipoint // определяем туннель как  mGRE 
 tunnel protection ipsec profile protect-gre // шифруем трафик в туннеле с помощью IPSEC
ip mtu 1440 // уменьшаем MTU для того, чтобы разрешить оверхед на mGRE и IPSEC
ip nhrp map multicast dynamic // разрешаем форвардить мультикаст трафик между туннелями.
! Настраиваем IPSEC на главном роутере
crypto isakmp policy 1
 encr 3des
 hash md5
 authentication pre-share
 group 2
crypto isakmp key isakmp1234 address 0.0.0.0 0.0.0.0 // принимать соединения от любого источника при наличии динамических филиалов
!
crypto ipsec transform-set TS esp-3des esp-md5-hmac 
mode tunnel
!
!
crypto ipsec profile protect-gre // профиль добавленный к mGRE туннелю для шифрования
set security-association lifetime seconds 86400
set transform-set TS
! Настраиваем статическую маршрутизацию на HUB маршрутизаторе 
ip route 192.168.164.0 255.255.255.0 172.16.1.2 // удаленные подсети доступны через IP удаленного туннеля 
ip route 192.168.161.0 255.255.255.0 172.16.1.3 // удаленные подсети доступны через IP удаленного туннеля

Затем настраиваем маршрутизаторы в филиалах (Spoke роутеры) - у одного маршрутизатора статический айпишник на WAN интерфейсе, и у другого динамический, получаемый по DHCP. Первый маршрутизатор в филиале, с динамическим IP:

 
interface GigabitEthernet0/0
description WAN to Internet 
ip address dhcp
 duplex auto
 speed auto
interface GigabitEthernet0/1
 description To LAN 
ip address 192.168.164.1 255.255.255.0 
 duplex auto
 speed auto
interface Tunnel1
ip address 172.16.1.2 255.255.255.0 // помещаем в ту же подсеть что и другие туннели
 no ip redirects
ip nhrp map multicast dynamic // разрешаем форвардить мультикаст трафик между туннелями
tunnel source GigabitEthernet0/0 // “source”- WAN интерфейс
 tunnel mode gre multipoint
 tunnel protection ipsec profile protect-gre
 ip nhrp authentication nhrp1234
 ip nhrp map 172.16.1.1  10.10.10.1 // соответствие HUB адреса туннеля с HUB адресом WAN
 ip nhrp network-id 1
 ip nhrp nhs 172.16.1.1 // настройка NHRP
 ip nhrp registration no-unique // если NHRP процесс завершился (поиск соответствия) для определенного IP, то больше данный процесс не запустится 
ip nhrp map multicast 10.10.10.1 // Отправка milticast трафика только в Hub. Головной маршрутизатор будет получать весь мультикаст трафик (например, обновления протокола маршрутизации) и отправлять его всем Spoke маршрутизаторам
 ip mtu 1440
 load-interval 30
 keepalive 5 10
crypto isakmp policy 1
 encr 3des
 hash md5
 authentication pre-share
 group 2
crypto isakmp key isakmp1234 address 0.0.0.0 0.0.0.0 // Филиалы должны разрешать подклюения с любого адреса для формирования IPSEC VPN туннелей с другими филиалами
!
!
crypto ipsec transform-set TS esp-3des esp-md5-hmac 
 mode tunnel
!
crypto ipsec profile protect-gre
 set security-association lifetime seconds 86400
 set transform-set TS
ip route 192.168.160.0 255.255.255.0 172.16.1.1 // Маршрут для HUB
ip route 192.168.161.0 255.255.255.0 172.16.1.3 // Маршрут для другого филиала Spoke site

Второй филиальный маршрутизатор, со статическим IP:

  
interface GigabitEthernet0/0
description TO Internet 
ip address 10.10.10.9 255.255.255.252
 duplex auto
 speed auto
interface GigabitEthernet0/1
 description To: LAN 
ip address 192.168.161.1 255.255.255.0 
 duplex auto
 speed auto
interface Tunnel1
ip address 172.16.1.3  255.255.255.0 // должен быть в той же подсети что и другие туннели
 no ip redirects
ip nhrp map multicast dynamic // разрешаем форвард мульткастов между туннелями.
tunnel source GigabitEthernet0/0
 tunnel mode gre multipoint
 tunnel protection ipsec profile protect-gre
ip nhrp authentication nhrp1234
ip nhrp map 172.16.1.1  10.10.10.1 // мапируем адрес HUB тунеля к WAN адресу 
 ip nhrp network-id 1
 ip nhrp nhs 172.16.1.1 // настраиваем NHRP клиент с указанием адреса сервера 
 ip nhrp registration no-unique  
ip nhrp map multicast 10.10.10.1 
ip mtu 1440
 load-interval 30
 keepalive 5 10
crypto isakmp policy 1
 encr 3des
 hash md5
 authentication pre-share
 group 2
crypto isakmp key isakmp1234 address 0.0.0.0 0.0.0.0
!
crypto ipsec transform-set TS esp-3des esp-md5-hmac 
 mode tunnel
!
!crypto ipsec profile protect-gre
 set security-association lifetime seconds 86400
 set transform-set TS
ip route 192.168.160.0 255.255.255.0 172.16.1.1 // маршрут до головного маршрутизатор
ip route 192.168.164.0 255.255.255.0 172.16.1.2 // маршрут до другого филиала

Переходим к тестированию:

show dmvpn // проверяем статус DMVPN и NHRP
show crypto isakmp sa // проверяем IPSEC cвязность между маршрутизаторами
ping 192.168.164.1 // пингуем для проверки
ping 192.168.1.1 
В нашем примере использовалась статическая маршрутизация, но при большом количестве филиалов необходимо использовать протоколы динамический маршрутизации для уменьшения ручного труда и риска ошибки.
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Сети
Скидка 25%
Основы сетевых технологий
Стань сетевиком с нуля за 2 месяца. Веселая и дружелюбная подача информации с эмуляцией реальных задач.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В начале 2000-х, когда идея мессенджеров только формировалась, расширяемый протокол обмена сообщениями и информацией о присутств
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетев
img
Система доменных имен (DNS – Domain Name System) обеспечивает сетевую коммуникацию. DNS может показаться какой-то невидимой сило
img
Wi-Fi это технология, которая использует радиоволны для отправки и получения сигналов от находящихся поблизости устройств, чтобы
img
BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный для обмена информацией о маршрутизации и доступно
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до се
21 ноября
20:00
Бесплатный вебинар
Введение в Docker