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

Материал из MikroTik Wiki

Полезные материалы по MikroTik

Углубленный курс "Администрирование сетевых устройств MikroTik"
Онлайн-курс по MikroTik с дипломом государственного образца РФ. Много лабораторных работ с проверкой официальным тренером MikroTik. С нуля и до уровня MTCNA. 
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь

Введение

В статье разбирается настройка IPSec-туннеля с аутентификацией с помощью пароля на оборудовании MikroTik с целью объединения двух сетей (site-to-site VPN). После создания VPN-канала между сетями будет настроена маршрутизация и выполнена проверка работоспособности. Также будут разобраны типичные проблемы, которые могут возникнуть в процессе настройки и проверки.

Схема сети

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



В головном офисе установлен маршрутизатор 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.100.2/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24

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

Настройка

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

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

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

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


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

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


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


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

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


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


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

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


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

/ip ipsec peer
add address=10.1.200.1/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=no nat-traversal=no 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 peer'а с аутентификацией с помощью пароля на маршрутизаторе MikroTik.png


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

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


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


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

Настройка правила NAT bypass на маршрутизаторе MikroTik, 1
Настройка правила 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 secret=ipsec-password send-initial-contact=yes nat-traversal=no 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.200.1 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
Проверка соединения IPSec через графический интерфейс на маршрутизаторе MikroTik.png


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

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

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


GW2:

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


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

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

  • Если VPN-соединение между двумя маршрутизаторами MikroTik не устанавливается, то надо проверить:
  1. Не мешает ли файервол. Для уверенности лучше временно отключить все правила файерволов на обоих маршрутизаторах.
  2. Совпадают ли пароли (Secret) на обоих маршрутизаторах.
  3. Указан правильный адрес узла (peer) к которому должно происходить подключение.
  4. Совпадают ли способ аутентификации и алгоритм шифрования на обоих маршрутизаторах МикроТик. В приведенном примере использовался предопределенный proposal с настройками по умолчанию.

Полезные материалы по MikroTik

Углубленный курс "Администрирование сетевых устройств MikroTik"
Онлайн-курс по MikroTik с дипломом государственного образца РФ. Много лабораторных работ с проверкой официальным тренером MikroTik. С нуля и до уровня MTCNA. 
На Telegram-канале Mikrotik сэнсей можно получить доступ к закрытой информации от официального тренера MikroTik. Подписывайтесь

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