IPsec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP. Позволяет осуществлять подтверждение подлинности (аутентификацию), проверку целостности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для защищённого обмена ключами в сети Интернет. Ознакомиться более подробнее можно в статье IPSec.
Довольно часто данный протокол используют между шлюзами для защиты туннелей, организованных каким-нибудь другим способом. Например: L2TP, GRE.
В нашем примере, мы будем использовать туннель IPsec в "чистом" варианте.
Настройка IPsec на базе OpenWrt
Данный вид шифрования настраивается зеркально на обоих устройствах на базе операционной системы OpenWrt.
Cхема работы IPsec представлена на картинке:
Шифрование осуществляется поверх установившегося соединения. Перейдем к основным настройкам туннеля.
1.1 Основные настройки IPsec
В WEB-интерфейсе перейдем в меню "Сервисы (Services)" - "IPsec", после чего создадим новую конфигурацию.
Далее зададим основные параметры туннеля, нажимаем кнопку "Редактировать (Edit)"
В открывшемся окне ставим галочку "Включить (Enable)" и настраиваем параметры туннеля:
IKE version (Версия IKE) - протокол, связывающий компоненты IPsec, и заставляющий работать все как единое целое. Существует две версии протокола IKE: IKEv1 и IKEv2.
Mode (Режим) - данный параметр доступен только для протокола IKEv1. Рекомендуется использовать Main.
My identifier type (Тип локального идентификатора) - идентификаторы для локального устройства, в зависимости от типа идентификатора: FQDN (полностью квалифицированное доменное имя), User FQDN (пользовательское, по user@dns), а также по Address (адрес WAN-интерфейса).
My identifier (Локальный идентификатор)- IP-адрес устройства, используемый для установки соединения
Remote identifier type (Удаленный идентификатор) - идентификатор для удаленного устройства.
Dead Peer Detection - обнаружение "Мертвого" узла. Более подробно можно ознакомиться по ссылке:https://www.ietf.org/rfc/rfc3706.txt
Pre shared key (Общий ключ) - ключ для аутентификации, задается произвольным.
Remote VPN endpoint (удаленная точка туннеля) - адрес сервера, с которым будет поднят туннель.
Local IP addres/Subnet mask (Локальная подсеть/маска подсети) - локальный IP-адрес устройства.
Remote IP addres/Subnet mask (Удаленная подсеть/маска подсети) - локальный удаленный адрес сервера, локальные сети должны различаться.
Enable keepalive (Включить поддержку активности) - рекомендовано включить, повышает отказоустойчивость.
Host - IP-адрес, на который будут направляться ICMP-запросы (ping).
Ping period (sec) - устанавливаем частоту ICMP-запросов.
1.2 Настройка фазы аутентификации и шифрования
Далее необходимо настроить фазы аутентификации и шифрования, при этом аналогичные настройки должны быть и на удаленном оборудовании.
Phase 1:
Phase 2:
Encryption algorithm - необходимо выбрать алгоритм шифрования
Authentication - метод аутентификации
DH group - Группа Диффи-Хеллмана
Lifetime - Продолжительность фазы
Основные настройки применены! Осталось нажать на кнопку "Save & Apply" (Сохранить и применить).
1.3 Проверяем статус туннеля
Чтобы просмотреть статус работы туннеля IPsec, подадим в консоль роутера команду:
logread -f
Отследить статус состояния протокола IPsec можно путем подачи команды:
ipsec status
На этом настройка IPsec завершена!
Сопутствующие статьи:
GRE туннель в роутере RTU
Как подключиться к роутеру RTU?