Cisco + S-terra NME RVPN иVPN Gate 1000. Защищенная DMVPN сеть с российскими алгоритмами шифрования.

Настало время это описать. Через силу, но надо.

Текст о том, как на оборудовании Cisco и S-Terra построить большую отказоустойчивую DMVPN сеть с шифрованием ГОСТ.

Чтобы содержание имело смысл нужно быть в курсе таких понятий как IPSec, GRE, GRE over IPSEC, DMVPN и других к ним относящихся. Какое-то понимание можно получить отсюда.

Итак, большая организация филиалами по всему городу. Филиалы работают с физическими лицами и получают от них персональные данные, которые летают между этими самыми филиалами и центральным офисом компании. По всем требованиям современного законодательства эти персональные данные должны быть защищены, да не просто защищены, а защищены с использованием отечественных средств шифрования.

Для большой и разветвленной сети VPN очень удобно использовать оборудование Cisco с их замечательной технологией DMVPN  со всеми ее преимуществами. Ограничение здесь в том, что Cisco, естественно, не поддерживает российских алгоритмов шифрования. Для исправления этого недостатка были придуманы модули NME RVPN, производимые компанией S-Terra. Модуль вставляется в маршрутизатор Cisco Серии 2900 и трафик, который нужно шифровать, пропускается через него. Вместо NME RVPN могут быть использованы отдельные устройства – криптошлюзы (VPN Gate 100, 1000, 3000), выполняющие ту же самую функцию и отличающиеся характеристиками производительности.

В нашем случае получился такой набор оборудования:

1. Два шлюза в центральном офисе. Каждый шлюз – это кластер из двух устройств – Cisco 2951 и S-Terra VPN Gate 1000. Сеть DMVPN (только динамические GRE туннели, без шифрования) реализуются средствами Cisco 2951, а шифрование трафика для этих туннелей выполняет VPN Gate 1000.

2. По одному шлюзу в каждом филиале. Каждый шлюз – это маршрутизатор Cisco 2911 с установленным модулем NME RVPN. Здесь так же  — маршрутизатор реализует DMVPN, а за шифрование отвечает модуль NME RVPN.S-terra_Cisco_Scheme

Сама по себе идея проста – нужно на маршрутизаторах Cisco построить облако DMVPN (одно или несколько) и сделать так, чтобы трафик этого облака проходил через криптошлюзы  и шифровался с использованием алгоритмов ГОСТ. Что до технической реализации – нужно подходить творчески. По возможности понятное объяснение далее по тексту.

В нашем случае ко всем этому добавляется избыточность – каждый филиал соединен с центральным офисом минимум по двум каналам. Это либо две L3 MPLS сети провайдеров (ISP) – самый распространенный вариант, либо одна сеть ISP и Интернет.  По этой причине строится не одно, а два DMVPN облака. Для наглядности, схема адресации до каких-либо настроек DMVP (и IPSec VPN на криптошлюзах) для типового филиала выглядит следующим образом:

DMVPN Cisco+S-terra

Для примера взят филиал с номером 75. Здесь есть две транзитные сети ISP, через которые будут организованы защищенные VPN туннели: 172.11.0.0/16 – ISP1 и 172.14.0.0/16 – ISP2.

В центральном офисе два маршрутизатора Cisco 2951, которые будут выполнять роль DMVPN хабов. У интерфейсов каждого Cisco 2951 следующее назначение:

Gig0/2 смотрит в сеть ISP2 и имеет IP 172.14.0.0/24 (172.14.0.251 и 172.14.0.252 соответственно).

Gig 0/0.6 (подынтерфейс) смотрит в сеть ISP1 и имеет IP в подсети 172.11.0.0/24 (172.11.0.251 и 172.11.0.252 соответственно).

Gig0/0 смотрит в LAN центрального офиса и у них IP 10.230.0.21 и 10.230.0.22 соответственно.

К Gig0/1 подключены криптошлюзы. Криптошлюзы и 2951 общаются между собой через изолированную подсеть 192.168.0.0/24. IP адрес 2951 – 192.168.0.2, криптошлюза  — 192.168.0.1

В филиале похожая ситуация: Интерфейсы Gig0/1 и Gig0/0 подключены к сетям ISP1 и ISP2 и имеют IP 172.11.75.2 и 172.14.75.2 соответственно. Интерфейс Gig0/2 смотрит в LAN филиала с IP 10.100.75.1/192. Так как криптошлюз в данном случае является модулем, который вставлен в маршрутизатор, они взаимодействуют между собой через внутренний интерфейс Special Service Engine 1/0. Адресация между криптошлюзом и 2911 та же, что и в центральном офисе: криптошлюз  — 192.168.0.1, 2911 – 192.168.0.2.

После того, как выполнены все подключения и настроена адресация согласно приведенной схеме, можно заняться построением защищенной VPN сети. Процесс настройки состоит из двух частей. Сначала настраивается DMVPN сеть на маршрутизаторах Cisco. Когда это сделано, настраивается IPSec VPN на криптошлюзе S-Terra. Правда на практике, все делается параллельно, т.к. GRE-туннели DMVPN-сети не построятся при неработающих криптошлюзах, а IPSec туннели не поднимутся, если не будет GRE-трафика, который должен инициировать IKE (ISAKMP) подключение.

Далее я приведу готовые конфигурации маршрутизаторов и криптошлюзов а потом постараюсь описать как, что и зачем.

Сначала конфигурация первого DMPVN хаба в центральном офисе (на схеме dmvpngw-co1):

DMVPNGW-CO-1

 

Теперь конфигурация криптошлюза, на котором dmvpngw-co-1 шифрует трафик (на схеме cppcryptogw-co-1):

CRYPTOGW-CO-1

Конфигурация второго хаба DMVPN и его криптошлюза аналогична и здесь я ее не привожу.

Теперь к настройкам DMVPN spoke филиала и его модуля шифрования NME RVPN.

Cisco 2911 (DMVPN Spoke, на схеме – dmvpngw-75):

DMVPNGW_75

Теперь конфигурация модуля NME RVPN, который инсталлирован в DMVPNGW_75

CRYPTOGW-75

 

 

Теперь о том, что происходит. Чтобы упростить описание, будем считать что туннели – GRE и IPSec уже установлены и посмотрим как проходит трафик между филиалом и центральным офисом.

Например, хост в филиале с адресом 10.100.75.10 отправляет пакет серверу центрального офиса с адресом 10.230.0.10. У хоста 10.100.75.10 шлюзом по умолчанию является адрес внутреннего интерфейса маршрутизатора DMVPNGW_75 10.100.75.1, соответственно он отправляет пакет ему.

Смотрим конфигурацию DMVPNGW_75 .

После того, как на DMVPNGW_75 настроен, например, интерфейс Tunnel 116 и в нем задан tunnel destination, указывающих на адрес одного из хабов внутри сети ISP1 (172.11.0.251), маршрутизатор пытается построить с этим хабом GRE туннель.

Соответственно, он создает GRE пакет и отправляет его на свой default gateway, который в данном случае указывает на адрес криптошлюза – 192.168.0.1.

ip route 0.0.0.0 0.0.0.0 192.168.0.1

GRE пакет прилетает на криптошлюз.

Теперь смотрим конфигурацию криптошлюза CRYPTOGW-75.

Он только что получил GRE пакет с Source IP = 172.11.75.2 (IP адрес интерфейса Gig0/1, который является tunnel source для туннельного интерфейса Tunnel116) и Destination IP = 172.11.0.251 (адрес хаба 1 в сети ISP1). Такой пакет попадает под правило crypto map SMAP 116. Соответственно, криптошлюз знает, что такой пакет нужно зашифровать. И он не может его отправить до того, пока не установит защищенное соединение (IPSec туннель) с пиром на той стороне. IP пира он знает из той же crypto map:

crypto map SMAP 116 ipsec-isakmp

match address COGW1_ISP1

set transform-set TS set peer 172.11.0.251

Зная все это, криптошлюз пытается инициировать ISAKMP соединение с пиром и посылает IKE пакет (udp порт 500) на адрес своего шлюза по умолчанию. Шлюзом по умолчанию для криптошлюза, является интерфейс маршрутизатора, который ранее прислал ему GRE пакет.

Снова смотрим конфигурацию DMVPNGW_75 .

К нему только что прилетел от криптошлюза UPD пакет, у которого destination IP = 172.11.0.251, а source IP = 192.168.0.1. Этот пакет попадает под access-list CRYPTO_TO_ISP1 и, соответственно, под правило

route-map ENCRYPTED_TRAFFIC permit 9,

которое говорит, что для такого пакета нужно использовать next-hop 172.11.75.1 (адрес шлюза в сети провайдера ISP1). Соответственно, видя это, маршрутизатор DMVPNGW_75 уже не шлет пакет обратно на криптошлюз, как требует команда ip route 0.0.0.0 0.0.0.0 192.168.0.1, а отправляет его в сеть провайдера. Перед этим source IP этого пакета транслируется в соответствии с правилом NAT:

ip nat inside source static udp 192.168.0.1 500 172.11.75.2 500 route-map ISP1 extendable

Таким образом, в сеть провайдера попал ISAKMP пакет с src IP = 172.11.75.2 и dst IP = 172.11.0.251.

После маршрутизации через сеть ISP 1 этот пакет попадает на внешний интерфейс DMVPNGW-CO-1.

Теперь смотрим на конфигурации DMVPNGW-CO-1.

Он только что на интерфейсе Gig0/1 получил пакет с src IP = 172.11.75.2 и dst IP = 172.11.0.251. Всоответствиисправиломтрансляции

ip nat inside source static udp 192.168.0.1 500 172.11.0.251 500 route-map ISP1 extendable

DMVPNGW-CO-1 знает, что этот пакет предназначен не ему, а кому-то с адресом 192.168.0.1, т.е. криптошлюзу. Поэтому DMVPNGW-CO-1 выполняет обратную трансляцию и пакет с src IP = 172.11.75.2 и dst IP = 172.11.0.251 превращается в пакет с src IP = 172.11.75.2 и dst IP = 192.168.0.1 и попадает на криптошлюз CRYPTOGW-CO-1.

Т.е. на данный момент IKE пакет от криптошлюза в филиале долетел до криптошлюза в центральном офисе. Аналогичным образом криптошлюз в ЦО отвечает криптошлюзу в филиале и после обмена несколькими сообщениями между криптошлюзами устанавливается IPSec VPN туннель. У нас во всю используется NAT-T и поэтому ESP пакеты упаковываются в UDP 4500. Т.е. IPSec туннель работает через UDP 4500. Для этого на каждом маршрутизаторе ЦО и филиалов есть соответствующее правило NAT.

Теперь, когда IPSec туннель между криптошлюзами установлен, возвращаемя к криптошлюзу в филиале CRYPTOGW-75.

К нему ранее прилетел пакет от маршрутизатора DMVPNGW_75, который он не мог отправить на ту сторону, т.к. IPSec тунель не был установлен. Теперь ситуация поменялась и он берет этот GRE пакет и упаковывает его в ESP заголовок, добавляет заголовок UDP для реализации NAT-T (UDP 4500) и отправляет его DMVPNGW_75.

DMVPNGW_75 получает пакет с такими заголовками:

IPSec packet

Это вернувшийся к нему его же GRE пакет, который сейчас криптошлюзом упакован в ESP IPSec заголовок. Видя правила

route-map ENCRYPTED_TRAFFIC permit 9

и

ip nat inside source static udp 192.168.0.1 4500 172.11.75.2 4500 route-map ISP1 extendable,

DMVPNGW_75 транслирует Source IP 192.168.0.1 этого пакета в 172.11.75.2 и отправляет его в сеть ISP2, по которой он благополучно долетает до DMVPNGW-CO-1.

DMVPNGW-CO-1 получает этот пакет и смотрит на правило трансляции:

ip nat inside source static udp 192.168.0.1 500 172.11.0.251 500 route-map ISP1 extendable

И, ничего с этим пакетом не делая, перенаправляет его на свой криптошлюз. Криптошлюз CRYPTOGW-CO-1 расшифровывает полученный пакет, снимает с него заголовки, имеющие отношение к IPSec и от пакета остается вот что:

GRE Packet

Т.е. остается GRE заголовок и его IP заголовок. Этот пакет уже не предназначен самому криптошлюзу, т.к. Dst IP ему не принадлежит, поэтому он отправляет его используя маршрут по умолчанию на маршрутизатор DMVPNGW-CO-1. Маршрутизатор, видя что это пакет адресован ему, разбирает GRE заголовок, видит, что этот пакет пришел от оппонента на той стороне — DMVPNGW_75, и устанавливает с ним GRE соединение. После этого внутри сформированного GRE туннеля происходит обмен маршрутной информацией по OSPF и локальные сети ЦО и филиала становятся взаимодоступны.

Дальше весь трафик между филиалами ходит по той же схеме:

Пакет попадает на маршрутизатор, маршрутизатор упаковывает его в GRE заголовок и пересылает на криптошлюз. Криптошлюз шифрует пакет, добавляет к нему ESP заголовок и возвращает эту упаковку маршрутизатору, который уже отправляет этот пакет на противоположную сторону. Маршрутизатор на противоположной стороне получает IPSec пакет, который тут же (с помощью NAT) пересылает его своему криптошлюзу. Криптошлюз расшифровыавает IPSec пакет, снимает с него ESP-заголовок и чистый GRE пакет возвращает маршрутизатору. Маршрутизатор снимает с пакета GRE заголовок и перенаправляет уже обычный IP пакет с данными адресату в своей сети.

Особенности приведенного решения:

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

2. При падении каналов одного из провайдеров все филиалы сохранят связь с ЦО, так как используется два облака DMVPN.

3. В криптошлюзах для аутентификации IKE используются сертификаты, выданные собственным центром сертификации, что также упрощает процесс добавления каждого новго филила и полезно с точки зрения безопасности.

Дополнение от января 2015 г — В конфигурации появились некоторые доработки, оптимизирующие решение с позиций отказоустойчивости и производительности. Добавлены беспроводные интерфейсы (3G и 4G), обеспечивающие резервные каналы доступа для удаленных площадок. Изменения в тексте пока не отражал, посему, если кому-то интересно — спрашивайте через форму обратной связи или в комментариях ниже.


Не забывайте оставлять комментарии, если пост был вам полезен!
Опубликовано в Сети Метки: , , , , ,
23 comments on “Cisco + S-terra NME RVPN иVPN Gate 1000. Защищенная DMVPN сеть с российскими алгоритмами шифрования.
  1. Андрей:

    Андрей, не совсем улавливаю, зачем в данном решении используется NAT?

    • Чтобы пробрасывать пакеты, прилетающие из Интернета, до криптошлюза. Потому что сначала нужно распаковать IPSec, а затем (именно в таком порядке) распакованное содержание (GRE) вернуть самому роутеру для дальнейшей обработки.

  2. buy levitra pills
    levitra
    buy 40 mg levitra

  3. Viagra Vente QuСЂВ bec Viagra Kaufen Preisvergleich cialis Se Vende Viagra En La Farmacia Caffergot For Sale Compra Levitra Originale

  4. Keflex Dose Uti Emedicine cheap accutane online Propecia Experiences viagra Lasix Online Cialis Ohne Rezept Forum

  5. bad credit cash advance
    christmas loans
    payday loan in california

  6. Sildenafil Citrate Cheapest Prices Macrobid 100mg Cystitis Direct Secure Overseas Amoxicillin Buy Rx cialis Discount Shipped Ups Free Shipping Isotretinoin Isotrex

  7. Cialis Generika Gefahrlich Cytotec Over The Counter Usa Boutique Levitra Generique viagra Viagra Kaufen Pfizer Viagra Accion Terapeutica

  8. L Thyroxine Dental Infection Keflex Erythromycin Kamagra Oferta online pharmacy Fluoxetine Online Quiniela De Propecia Progesterone 400mg Gesterol Middlesbrough

  9. Propecia Benefici generic levitra on line Viagra Deutsche Apotheke Side Effects Expired Cephalexin Where To Buy Ed Pills Online

  10. Acheter Cialis A Montreal Clomid Estima Prescription Viagra cheap cialis Acquisto Viagra In Francia Buying free shipping isotretinoin isotrex best website Kamagra 100 Mgs

  11. GeraldKix:

    Hello there! where buy cialis great web page.

  12. Ronaldcaw:

    Hi! buy valtrex pills excellent internet site.

  13. Ronaldcaw:

    Hello! valtrex online excellent internet site.

  14. Randallmex:

    Hello there! online pharmacy tramadol very good internet site.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Заодно посмотрите мои фоты в моем профиле вконтакте. Любые вопросы по существу статей можете задать там же.
Hostenko — лучший WordPress-хостинг