VPN:IPsec (аутентификация с помощью сертификата)

Материал из MikroTik WiKi rus
Перейти к: навигация, поиск

Схема сети

Схема сети с VPN на базе IPSec на маршрутизаторах MikroTik.png


В головном офисе установлен маршрутизатор GW1. В филиале установлен маршрутизатор GW2. Маршрутизатор в филиале будет инициатором установления защищенного соединения. Маршрутизатор в головном офисе будет ожидать, когда инициатор запросит установление соединения.

Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24

IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.1/24

Филиал
IP-адрес внешней сети головного офиса: 10.1.200.1/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.200.1/24

IP-адрес внутренней сети головного офиса: 192.168.25.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.25.1/24

Научиться работать с MikroTik можно с помощью видеокурса "Настройка оборудования MikroTik". Помимо всех тем из официальной программы MikroTik MTCNA курс содержит много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Поддержку по курсу оказывает его автор Дмитрий Скоромнов, который является официальным тренером MikroTik (TR0680) и по совместительству автором этой Wiki.
Полезные материалы по теме MikroTik:
* Чек-лист по настройке MikroTik * Матрица продуктов MikroTik: модель, артикул, информация по процессору (архитектура, частота, количество ядер), уровень лицензии, объем ОЗУ и ПЗУ, наличие модулей Wi-Fi на разных частотах и коэффициенты усиления встроенных антенн и многое другое. Всего более 30-ти параметров для каждого из 151-го устройства в списке.

Настройка

Настройка первого маршрутизатора

Через графический интерфейс

Настройка IPsec-пира. На первом этапе надо указать адрес пира (маршрутизатора с которым будет устанавливаться соединение). В качестве алгоритма шифрования мы выбрали aes-128. Конечно можно использовать и более длинные ключи, но это не имеет практического смысла, т. к. даже для подбора такого ключа требуется очень-очень много лет. Поэтому мы считаем, что более длинные ключи нужны либо в маркетинговых целях либо, если вы очень заморочены на глобальной слежке правительства. Сертификат другого маршрутизатора (Remote Certificate) мы не указываем, т. к. авторизация сертификата будет производиться с помощью ключа удостоверяющего центра, который был импортирован ранее.

Настройка IPSec peer'а с аутентификацией с помощью пароля на маршрутизаторе MikroTik.png


Настройка политики IPsec. Следующим шагом надо настроить политику IPsec. Политика описывает в каких случаях должно использоваться шифрование. Т. е., если пакет совпадает с правилом описанным в политике, то выполняется заданное действие. В нашем случае это шифрование. Если пакет не совпадает с правилом, то он идет дальше без обработки политикой.

Настройка политики IPSec на маршрутизаторе MikroTik, 1


Настройка политики IPSec на маршрутизаторе MikroTik, 2


Настройка правила обхода NAT.Если теперь попробовать установить туннель IPsec он не заработает и пакеты будут отклонены. Это произойдет потому, что оба маршрутизатора используют правило NAT, которое изменяет адрес источника после того, как пакет шифруется. Удаленный маршрутизатор принимает шифрованный пакет, но не может расшифровать его потому, что адрес источника не совпадает с адресом, который указан в настройках политики. Для более подробную информацию о прохождении пакетов можно увидеть здесь: http://wiki.mikrotik.com/wiki/Manual:Packet_Flow#IPsec_encryption. Правило обхода NAT обязательно должно находиться выше правила "masquerade".

Icon-note.png

Примечание: Если правило обхода NAT было создано после того, как было установлено защищенное соединение, то оно не заработает. Для того, что бы оно начало работать надо либо удалить все соединения на вкладке "Connections" у файервола либо перезагрузить маршрутизатор.


Настройка правила NAT bypass на маршрутизаторе MikroTik, 1


Настройка правила NAT bypass на маршрутизаторе MikroTik, 2


И с помощью захвата и перетаскивания мышью перетянем правило так, что бы оно находилось выше правила "masquerade".

Настройка правила NAT bypass на маршрутизаторе MikroTik, 3

Через консоль

/ip ipsec peer
add address=10.1.100.2/32 enc-algorithm=aes-128 generate-policy=port-strict send-initial-contact=no nat-traversal=no auth-method=rsa-signature certificate=server comment=filial1


/ip ipsec policy
add action=encrypt src-address=192.168.15.0/24 dst-address=192.168.25.0/24 sa-src-address=10.1.100.1 sa-dst-address=10.1.200.1 ipsec-protocols=esp tunnel=yes comment=filial1


/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.15.0/24 dst-address=192.168.25.0/24

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

Через графический интерфейс

Расписывать заново каждое действие мы не будем, т. к. они полностью аналогичны настройкам на первом маршрутизаторе. Настройка IPsec-пира.

Настройка IPSec peer'а с аутентификацией с помощью пароля на маршрутизаторе MikroTik.png


Настройка политики IPsec.

Настройка политики IPSec на маршрутизаторе MikroTik, 1


Настройка политики IPSec на маршрутизаторе MikroTik, 2


Правило обхода NAT.

Настройка правила NAT bypass на маршрутизаторе MikroTik, 1


Настройка правила NAT bypass на маршрутизаторе MikroTik, 2


Настройка правила NAT bypass на маршрутизаторе MikroTik, 3

Через консоль

/ip ipsec peer
add address=10.1.100.1/32 hash-algorithm=sha1 enc-algorithm=aes-128 send-initial-contact=yes nat-traversal=no auth-method=rsa-signature certificate=client1 comment=HQ


/ip ipsec policy
add action=encrypt src-address=192.168.25.0/24 dst-address=192.168.15.0/24 sa-src-address=10.1.100.2 sa-dst-address=10.1.100.1 ipsec-protocols=esp protocol=all tunnel=yes comment=HQ


/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.25.0/24 dst-address=192.168.15.0/24

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

Маршрутизация при использовании IPsec "в чистом виде" не может быть использована, т. к. IPsec не создает виртуальный интерфейс, которому может быть назначен IP-адрес и добавлена запись в таблицу маршрутизации.

Следует учесть

  • AES является единственным алгоритмом, который поддерживается модулем аппаратного шифрования, если такой установлен на маршрутизатор.
  • Максимальное значение MTU при котором не будет фрагментации с использованием IPsec с алгоритмами SHA1 для подписи и AES-128 для шифрования = 1418. При использовании других алгоритмов значение MTU будет другим. Если используется механизм обхода NAT IPsec, следует понизить MTU на 28.
  • AES является единственным алгоритмом, который поддерживается модулем аппаратного шифрования, если такой установлен на маршрутизатор.
  • IPSec очень нестабильно работает за NAT'ом. Поэтому желательно, что бы внешние интерфейсы маршрутизаторов имели "белые" IP-адреса.

Проверка

Через графический интерфейс

Если IPSec-соединение установлено успешно, то в графе Established должен появиться таймер времени (5), который показывает, как давно установлено соединение. Индикатором является именно наличие таймера, а не факт наличия соединения (4), которое в случае проблем будет отображаться, но таймер будет отсутствовать.

Проверка соединения IPSec через графический интерфейс на маршрутизаторе MikroTik.png

Через консоль

Выполнить команду /ip ipsec policy print stats, которая покажет актуальное состояние соединения IPSec. В случае удачи мы должны получить: ph2-state=established.
GW1:
Проверка соединения IPSec через консоль на маршрутизаторе MikroTik.png

GW2:
Проверка соединения IPSec через консоль на маршрутизаторе MikroTik.png

Icon-note.png

Примечание: Состояние established через консоль будет отображаться только после того, как между двумя сетями произойдет попытка соединения. Например будет запущен ping. До тех пор пока соединение не будет установлено будет отображаться статус no-phase2. При этом через графический интерфейс всегда будет отображаться актуальная информация.


Типичные проблемы

  • Если VPN-соединение между двумя маршрутизаторами MikroTik не устанавливается, то надо проверить:
  1. Не мешает ли файервол. Для уверенности лучше временно отключить все правила файерволов на обоих маршрутизаторах. Стандартные настройки файерволов можно посмотреть здесь.
  2. Ключи на обоих маршрутизаторах должны быть из одной "связки".
  3. Указан правильный адрес узла (peer) к которому должно происходить подключение.
  4. Совпадают ли способ аутентификации и алгоритм шифрования на обоих маршрутизаторах МикроТик. В приведенном примере использовался предопределенный proposal с настройками по умолчанию.
Научиться работать с MikroTik можно с помощью видеокурса "Настройка оборудования MikroTik". Помимо всех тем из официальной программы MikroTik MTCNA курс содержит много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Поддержку по курсу оказывает его автор Дмитрий Скоромнов, который является официальным тренером MikroTik (TR0680) и по совместительству автором этой Wiki.
Полезные материалы по теме MikroTik:
* Чек-лист по настройке MikroTik * Матрица продуктов MikroTik: модель, артикул, информация по процессору (архитектура, частота, количество ядер), уровень лицензии, объем ОЗУ и ПЗУ, наличие модулей Wi-Fi на разных частотах и коэффициенты усиления встроенных антенн и многое другое. Всего более 30-ти параметров для каждого из 151-го устройства в списке.

Полезные статьи