В данной статье я поэтапно опишу весь процесс настройки Site-to-Site туннеля между облаком Microsoft Azure и межсетевым экраном D-Link DFL-210 (актуально для линейки устройств DFL: 210\260E\800\860E).
Внимание! Все этапы настройки сопровождаются большим количеством картинок!
Этап 1. Настройка Microsoft Azure
Для начала создадим новую виртуальную сеть Microsoft Azure, используя мастер
Увеличить
Имя: Habratest
Новая территориальная группа: Habragroup
Регион: Западная Европа
Увеличить
Затем вводим имя и адрес локального DNS (при необходимости). Иначе, используем DNS от Microsoft Azure, либо любой общедоступный. Ставим галку «Настроить подключение VPN типа «сеть-сеть»
Увеличить
На следующем шаге вводим настройки нашего DFL:
Имя: Mydfl
IP-адрес VPN-устройства: 78.153.146.110 — это выделенный статический IPv4-адрес нашего DFL (Это важно. Если DFL заNAT, то у нас ничего не получится)
Адресное пространство: 192.168.22.0/24 — локальная подсеть, которую мы будем соединять с Microsoft Azure
Увеличить
На последнем шаге вводим настройки подсети, к которой мы будем подключаться (будет использоваться для сервисов, созданных в Microsoft Azure). В нашем случае настройки будут следующими:
Общее адресное пространство виртуальной сети: 172.16.80.0/24
Подсеть:AzureSubnet 172.16.80.0/27
Шлюз 172.16.80.32/29
Увеличить
Виртуальная подсеть создана!
Переходим в "Настройки" вновь созданной виртуальной сети и проверяем, что мы все правильно сделали
Увеличить
На вкладке «Панель мониторинга» видим следующую картину
Увеличить
Жмем кнопку «Создать шлюз» внизу страницы и выбираем режим «Статической маршрутизации». Подтверждаем свои намерения кнопкой «Ок»
Увеличить
Ждем 10-15 минут пока Microsoft Azure создаст для нас шлюз.
…Прошло от 10 до 15 минут…
Итак, шлюз создан. Смотрим, что же нам предоставил Microsoft Azure:
IP-адрес шлюза: 23.97.132.122
Увеличить
Далее жмем кнопку «Управление ключами» внизу страницы и получаем наш персональный pre-shared key:
R9GrgLgZPosdZ7isMdt8MkrDQnfBwUbO
Этап 2. Настройка DFL
Общие требования к шлюзу можно посмотреть здесь:
http://msdn.microsoft.com/ru-ru/library/windowsazure/jj156075.aspx#BKMK_VPNGateway
Здесь надо сделать одно очень важное замечание. В российской прошивке DFL (установлена по умолчанию) не доступны такие замечательные методы шифрования как AES, которые использует Microsoft Azure (и не только) для своей работы. Обсуждения на эту тему оставим за рамками данной статьи и воспользуемся следующим приемом:
Идем по ссылке http://tsd.dlink.com.tw/.
Выбираем из списка свою модель DFL и загружаем самую последнюю WorldWide прошивку для нашего устройства (обозначается «For WW»).
Загружаем прошивку в наш DFL и ждем завершения операции.
Прошивка загружена и мы можем продолжать.
Теперь давайте добавим все IP-адреса облака в справочник («Objects->Address book->InterfaceAddresses):
Имя: Habratest_cloud_gateway
Значение: 23.97.132.122
Имя: Habratest_cloud_subnet
Значение: 172.16.80.0/24
Увеличить
Затем переходим «Objects->Authentication Objects» и добавляем новый объект типа «Pre-shared key»:
Имя: Habratest_cloud_key
Passphrase: R9GrgLgZPosdZ7isMdt8MkrDQnfBwUbO
Увеличить
Далее переходим в пункт «Objects->VPN Objects->IKE Algorithms» и создаем новый алгоритм IKE:
Имя: Habratest_cloud_stage1
Ставим галки: 3DES и AES(128 128 256), а так же галку SHA1
После создания IKE-алгоритма переходим к созданию IPsec-алгоритма («Objects->VPN Objects->IPsec Algorithms»):
Имя: Habratest_cloud_stage2
Галки: те же, что и у IKE
Теперь переходим непосредственно к созданию правила для IPsec-туннеля («Interfaces->IPsec»):
Вкладка «General»
Имя: Habratest_cloud_IPsec
Local Network: lannet
Remote Network: Habratest_cloud_subnet
Remote Endpoint: Habratest_cloud_gateway
Encapsulation mode: Tunnel (важная настройка!)
IKE Config Mode Pool: None
IKE Algorithms: Habratest_cloud_stage1
IKE Lifetime: 28800
IPsec Algorithms: Habratest_cloud_stage2
IPsec Lifetime: 3600 sec
IPsec Lifetime: 102400000 Kb
Вкладка «Authentication».
Ставим точку «Pre-shared key» и выбираем наш «Habratest_cloud_key»
Вкладка «IKE Settings»
IKE:
Main — DH Group 2
PFS — None
Security Association: Per Net
NAT Traversal: On if supported and NATed
Dead Peer Detection: Use
Затем создаем два IP-Правила («Rules->IP Rules»):
Правило 1:
Имя: lan_to_cloud
Action: Allow
Service: All_service
Schedule: None
Source interface: lan
Source Network: lannet
Destination Interface: Habratest_cloud_IPsec
Destination Network: Habratest_cloud_subnet
Увеличить
Правило 2:
Имя: cloud_to_lan
Action: Allow
Service: All_service
Schedule: None
Source interface: Habratest_cloud_IPsec
Source Network: Habratest_cloud_subnet
Destination Interface: lan
Destination Network: lannet
Увеличить
Вот мы и создали основные настройки для туннеля. Теперь сохраняем и применяем внесенные изменения на DFL.
Вот и все! Наблюдаем красивые картинки поднятого туннеля
Увеличить
Увеличить
Далее можно создавать необходимые сервисы в Microsoft Azure (виртуальные машины, базы данных, etc).
Немного о возможных ошибках в логах DFL:
1. statusmsg=«No proposal chosen» — неправильно выбраны методы шифрования
2. reason=«Invalid proposal» — то же, что и п.1
3. reason=«IKE_INVALID_COOKIE» — туннель уже был поднят, но после этого были внесены изменения в его настройки. Заходим на DFL «Status->IPsec->Habratest_cloud_IPsec->справа вверху страницы List all active IKE SAs» и удаляем устаревший IKE SA. Перезагружаем DFL.
Увеличить
На этом все. Не забудьте поменять тестовые данные из статьи (IP-адреса, подсети, регионы, ключи pre-shared key) на свои.