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?

Как изменить IP адрес роутера и раздаваемые IP адреса?