
С ростом числа кибератак и угроз утечки данных надёжное шифрование и безопасные соединения становятся необходимостью. Для обеспечения конфиденциальности и защиты от перехвата всё больше пользователей и компаний обращаются к VPN. Среди множества решений IPSec (Internet Protocol Security) остается одним из наиболее надежных и распространенных стандартов.
IPSec обеспечивает сквозное шифрование, аутентификацию и целостность передаваемых данных, работая на сетевом уровне. Это делает его особенно полезным для защиты корпоративных сетей, облачных инфраструктур и мобильных соединений.
В этой статье мы подробно рассмотрим ключевые компоненты и принципы работы IPSec, его архитектуру и протоколы, а также настройку IPSec VPN с помощью инфраструктуры Servercore.
Что такое IPSec
IPSec (Internet Protocol Security) — это набор протоколов, обеспечивающих безопасную передачу данных в IP-сетях. Он работает на сетевом уровне модели OSI, обеспечивая аутентификацию, целостность и шифрование данных между узлами. В отличие от других методов защиты, IPSec может шифровать весь IP-трафик, что делает его популярным выбором для VPN-соединений.
Первый стандарт IPSec был опубликован в 1995 году, его разрабатывали параллельно IPv6. В 1998 году IETF утвердил его как универсальный протокол для защиты сетевых соединений. Сегодня IPSec широко используется в корпоративных сетях, дата-центрах и облачных средах для защиты трафика.
Основное назначение IPSec — обеспечение безопасности данных, передаваемых по сети. Набор протоколов выполняет шифрование, проверяет подлинность отправителей и обеспечивает целостность данных, защищая их от изменений во время передачи. Также IPSec защищает от повторного использования перехваченных пакетов благодаря механизму anti-replay.
Функции IPSec
IPSec обеспечивает защиту передаваемых данных с помощью механизмов аутентификации, шифрования и управления ключами.
Аутентификация помогает проверить источник данных с использованием PSK (Pre-Shared Key) и цифровых сертификатов. При использовании надежной аутентификации с сертификатами PKI (Public Key Infrastructure), оба участника обмениваются ключами и сертификатами для проверки подлинности. PSK обеспечивает базовый уровень безопасности, но цифровые сертификаты, основанные на инфраструктуре открытых ключей (PKI), предлагают более высокий уровень защиты. IPSec также реализует механизмы защиты от атак типа «человек посередине» (MITM), предотвращая возможность перехвата и подмены данных.
Аутентификация помогает проверить источника данных с помощью PSK (Pre-Shared Key) и цифровых сертификатов. В первом случае оба участника заранее обмениваются секретным ключом для проверки подлинности. Цифровые сертификаты предоставляют более высокий уровень безопасности, поскольку основаны на инфраструктуре открытых ключей (PKI). Также, при условии надежной аутентификации, IPSec реализует механизмы защиты от атак типа «человек посередине» (MITM), предотвращая возможность перехвата и подмены данных.
Шифрование в IPSec защищает передаваемую информацию от несанкционированного доступа. Симметричные алгоритмы, такие как AES, обеспечивают высокую скорость шифрования данных. Асимметричные алгоритмы (RSA) применяются в протоколе IKE (Internet Key Exchange) для аутентификации сторон и защиты процесса обмена симметричными ключами, которые используются для безопасной передачи информации.
Управление ключами в IPSec играет ключевую роль в поддержании безопасности соединения. Протокол IKE создает защищенный канал между участниками и настраивает параметры шифрования данных. Для повышения безопасности IKE использует PFS (Perfect Forward Secrecy), который гарантирует, что компрометация одного ключа не затронет другие сессии.
Что такое IPSec VPN и как он устроен
IPSec VPN — это технология, использующая IPSec для создания безопасных туннелей между устройствами. VPN на базе IPSec может работать в двух режимах:
- Транспортный режим — защищает только полезную нагрузку (данные внутри IP-пакетов), оставляя заголовки без изменений. Используется для шифрования соединений между двумя узлами.
- Туннельный режим — шифрует весь IP-пакет, инкапсулируя его в новый IP-заголовок. Этот режим применяют в корпоративных VPN и межсетевых соединениях.
При выборе технологии для защиты сетевых соединений важно понимать различия между IPSec VPN и SSL VPN. Оба решения обеспечивают безопасную передачу данных, но отличаются по принципу работы, уровню защиты и сценариям использования. IPSec VPN работает на сетевом уровне и обеспечивает полное шифрование всего трафика, тогда как SSL VPN защищает только соединения на уровне приложений. В таблице ниже представлены основные различия между этими протоколами.
Параметр | IPSec VPN | SSL VPN |
Уровень работы | Сетевой (L3) | Транспортный (L4) или прикладной (L7) |
Шифрование | ESP (Encapsulating Security Payload) | TLS (Transport Layer Security) |
Применение | Подключает всю сеть или устройство | Работает через браузер или клиент |
Гибкость | Требует настройки на стороне клиента и сервера | Прост в использовании, работает через веб-интерфейс |
IPSec VPN лучше подходит для защиты всего сетевого трафика, а SSL VPN чаще используется для удаленного доступа через браузер.
3 зоны доступности в Алматы и Ташкенте
Резервируйте инфраструктуру для повышения отказоустойчивости
Узнать большеКак работает IPSec
IPSec обеспечивает защищенную передачу данных на уровне сети (L3 модели OSI). В отличие от других VPN-протоколов, которые работают на транспортном уровне (L4), IPSec интегрирован в IP-протокол, что делает его более универсальным для построения безопасных туннелей между устройствами, серверами и корпоративными сетями.
Как работает IPSec VPN
Работа IPSec строится на двух основных механизмах: аутентификации и шифровании трафика. Процесс устанавливается в несколько этапов:
- Инициализация соединения – выполняется через протокол IKE, который включает создание защищенного канала и настройку параметров безопасности для данных IPSec SA (Security Association).
- Аутентификация сторон – используется цифровая подпись, сертификаты или предварительно обмененные ключи (Pre-Shared Keys, PSK) для подтверждения подлинности узлов.
- Шифрование и защита данных – весь сетевой трафик, проходящий через туннель, шифруется с помощью симметричных алгоритмов (AES, 3DES).
- Контроль целостности данных – реализуется через ESP (шифрование и аутентификация) или AH (только аутентификация и проверка целостности).
- Передача данных через туннель – пакеты передаются через зашифрованный канал, а на стороне получателя расшифровываются и проверяются на целостность.
- Закрытие соединения – после завершения передачи данных VPN-туннель закрывается по истечению времени жизни SA или после передачи определенного объема данных.
Как IPsec влияет на MSS и MTU
Использование IPSec влияет на параметры MSS (Maximum Segment Size) и MTU (Maximum Transmission Unit) из-за дополнительной нагрузки, связанной с шифрованием и аутентификацией данных. При инкапсуляции пакетов IPSec добавляет заголовки ESP или AH, что увеличивает общий размер пакета. Это может привести к превышению допустимого размера MTU, вызывая фрагментацию и потенциально снижая производительность сети.
Чтобы минимизировать влияние, MSS часто уменьшают на уровне TCP, позволяя учитывать накладные расходы IPSec и избегать фрагментации. Оптимальная настройка MTU и MSS помогает поддерживать стабильное соединение, снижая задержки и повышая эффективность передачи данных через IPSec-туннель.
Преимущества IPSec
IPSec остается одним из самых надежных протоколов для организации VPN благодаря нескольким ключевым преимуществам:
Высокий уровень безопасности – поддерживает современные алгоритмы шифрования (AES-256, ChaCha20), аутентификации (RSA, ECDSA) и защиты данных.
Гибкость и масштабируемость – работает на уровне IP, организовывает VPN-туннели между разными типами устройств и сетей, включая облачные решения.
Защита от атак MITM и перехвата данных – обеспечивает целостность трафика и защищает от изменений данных в процессе передачи.
Поддержка различных способов аутентификации – пароли, цифровые сертификаты или ключи повышают надежность подключения.
Интеграция с другими системами безопасности – IPSec можно использовать в сочетании с брандмауэрами, IDS/IPS и другими средствами защиты сети.
Совместимость с большинством ОС и устройств – поддерживается Windows, Linux, macOS, мобильными платформами и маршрутизаторами.
Как IPSec помогает бизнесу
IPSec защищает корпоративные сети, мобильные соединения и облачные сервисы. Для корпоративных сетей набор протоколов позволяет организовать защищенные соединения между офисами, удаленными филиалами и дата-центрами. Туннельный режим шифрует весь сетевой трафик, предотвращая утечки данных и атаки. Это особенно важно для организаций, работающих с конфиденциальной информацией, такой как финансовые данные, медицинские записи или интеллектуальная собственность.
В условиях удаленной работы IPSec обеспечивает безопасный доступ сотрудников к корпоративным ресурсам. При подключении к публичным Wi-Fi-сетям зашифрованное соединение защищает данные от перехвата.
Компании все чаще размещают свою IT-инфраструктуру в облаке, что требует надежных механизмов защиты данных при передаче между облачными сервисами и локальными сетями. IPSec часто используют для защиты трафика между корпоративными сетями и облаком (site-to-site), внутри облака преобладают прикладные протоколы (HTTPS, TLS). Это снижает риски утечек данных и повышает надежность взаимодействия между сервисами.
Архитектура и протоколы IPSec
Архитектура IPSec включает несколько уровней, каждый из которых выполняет свою роль в обеспечении безопасности передачи данных.
Первый уровень архитектуры IPSec составляют транспортные протоколы. Протокол ESP (Encapsulating Security Payload) отвечает за конфиденциальность, целостность и аутентификацию данных. Он использует шифрование для защиты передаваемой информации и поддерживает транспортный и туннельный режимы работы. Протокол AH (Authentication Header) выполняет аутентификацию отправителя и контроль целостности данных. В отличие от ESP, он не шифрует передаваемые данные, но защищает их от подмены.
Второй уровень обеспечивает механизмы аутентификации и шифрования. Для подтверждения подлинности применяется предварительный обмен ключами (Pre-Shared Key), цифровые сертификаты X.509 и система Kerberos. Шифрование выполняется с применением симметричных алгоритмов, таких как AES и 3DES.
Третий уровень определяет правила взаимодействия между различными реализациями IPSec через стандартизированные параметры безопасности. Этот компонент регламентирует использование алгоритмов шифрования, аутентификации и управления ключами, обеспечивая совместимость между разными IPSec-решениями.
Четвёртый уровень включает IKE (Internet Key Exchange), который играет ключевую роль в установке защищенных соединений между узлами. Он управляет процессом генерации и обмена ключами для шифрования трафика, а также поддерживает динамическое обновление параметров безопасности без прерывания активных соединений.
Настройка IPSec VPN в Servercore
В этой главе рассмотрим запуск виртуальной машины Servercore с VPN IPsec для маршрутизации трафика между облачной сетью и удаленной точкой подключения, используя демон strongSwan. А также разберем отказоустойчивую схему с двумя VPN IPsec-серверами.
Исходные данные
Для правильной работы IPsec необходимо убедиться, что виртуальная машина имеет доступ к обеим сетям и корректно маршрутизирует трафик. Для установления соединения потребуется:
- ВМ запущенная на образе Ubuntu 20.04 с двумя портами;
- первый порт виртуальной машины подключен к публичной сети и используется как default route;
- второй порт подключен к приватной сети, которую необходимо маршрутизировать.
Важно учитывать, что брандмауэр и правила маршрутизации должны быть настроены так, чтобы обеспечивать беспрепятственный обмен данными между интерфейсами.

У виртуальной машины для IPsec настроено два порта с адресами 188.68.206.154 и 192.168.10.10 для публичной и приватной сети соответственно.
Настройка VPN с одним инстансом
Подключаемся к ВМ по SSH и начинаем настройку. Сначала необходимо установить демон strongSwan и включить его в автозагрузку:
sudo apt update sudo apt install -y strongswan sudo systemctl enable strongswan-starter
Далее нужно включить маршрутизацию пакетов между интерфейсами, поскольку наша ВМ будет служить шлюзом для приватной сети и отправлять трафик через публичную сеть с шифрованием.
sudo cat << EOF > /etc/sysctl.d/99-vpn-ipsec.conf net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 EOF sudo sysctl -p /etc/sysctl.d/99-vpn-ipsec.conf
Эти команды создают конфигурационный файл sysctl и применяют его. Далее нам необходимо создать основной конфигурационный файл IPsec для strongSwan:
sudo cat << EOF > /etc/ipsec.conf config setup charondebug="all" uniqueids=yes strictcrlpolicy=no conn site-to-site-vpn type=tunnel authby=secret left=%defaultroute leftid=188.68.206.154 leftsubnet=192.168.10.0/24 right=51.250.46.166 rightsubnet=192.168.20.0/24 ike=aes256-sha2_256-modp1024! esp=aes256-sha2_256! keyingtries=0 ikelifetime=1h lifetime=8h dpddelay=30 dpdtimeout=120 dpdaction=restart auto=start EOF
Важные опции, которые требуют настройки в зависимости от вашего окружения и используемых адресов:
- leftid — публичный адрес самой ВМ IPsec;
- leftsubnet — приватная сеть, созданная в облаке Servercore для других ВМ. Из нее необходимо иметь доступ к ВМ в другом облаке;
- right — публичный адрес удаленной ВМ, то есть в нашем случае 51.250.46.166;
- rightsubnet — удаленная приватная сеть, которая была создана в другом облаке и используется там для ВМ.
После создания основного файла конфигурации нужно создать файл с секретом, который будет содержать пароль для подключения:
sudo cat << EOF > /etc/ipsec.secrets 188.68.206.154 51.250.46.166 : PSK "<SECRET>" EOF
Где <SECRET> — пароль, указанный с обеих сторон тоннеля, то есть на обеих виртуальных машинах VPN IPsec.
Перезагружаем IPsec демон и проверяем статус подключения:
sudo systemctl restart strongswan-starter ipsec status
Настройка отказоустойчивой схемы
В отличии от предыдущей схемы, в качестве IP-адреса шлюза в приватной сети и в качестве основного адреса для VPN-туннеля будут использоваться VIP-адреса. Они будут перемещаться между ВМ с помощью VRRP.
Чтобы настроить отказоустойчивую схему, необходимо запустить еще одну такую же ВМ для VPN. Будем ее называть vpn2, а первую ВМ — vpn1.

Далее на второй ВМ воспроизводятся аналогичные первой базовые настройки:
sudo apt update sudo apt install -y strongswan sudo systemctl enable strongswan-starter sudo cat << EOF > /etc/sysctl.d/99-vpn-ipsec.conf net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0 EOF sudo sysctl -p /etc/sysctl.d/99-vpn-ipsec.conf
Перед IPsec необходимо настроить VRRP с помощью демона keepalived. Устанавливаем службу:
sudo apt install -y keepalived
Настраиваем VRRP-конфигурацию так, чтобы оба VIP перемещались одновременно и находились в одной группе. При смене статуса инстанса с MASTER на BACKUP и обратно необходимо, чтобы IPsec включался и выключался соответственно, так как туннель должен быть построен только от одной ВМ в один момент времени.
Настраиваем VRRP на виртуальной машине vpn2:
sudo cat << EOF > /usr/local/sbin/notify-ipsec.sh #!/bin/bash TYPE=\$1 NAME=\$2 STATE=\$3 case \$STATE in "MASTER") /usr/sbin/ipsec restart ;; "BACKUP") /usr/sbin/ipsec stop ;; "FAULT") /usr/sbin/ipsec stop exit 0 ;; *) /usr/bin/logger "ipsec unknown state" exit 1 ;; esac EOF sudo chmod a+x /usr/local/sbin/notify-ipsec.sh sudo cat << EOF > /etc/keepalived/keepalived.conf vrrp_sync_group G1 { group { EXT INT } notify "/usr/local/sbin/notify-ipsec.sh" } vrrp_instance INT { state BACKUP interface eth1 virtual_router_id 11 priority 25 advert_int 1 authentication { auth_type PASS auth_pass <SECRET> } virtual_ipaddress { 192.168.120.100/24 } garp_master_delay 1 } vrrp_instance EXT { state BACKUP interface eth0 virtual_router_id 22 priority 25 advert_int 1 authentication { auth_type PASS auth_pass <SECRET> } virtual_ipaddress { 188.68.206.158/29 } garp_master_delay 1 } EOF
Эти команды создают два файла:
- /usr/local/sbin/notify-ipsec.sh — скрипт, который будет вызываться при смене статуса VRRP и будет выключать/включать IPsec;
- /etc/keepalived/keepalived.conf — файл конфигурации keepalived для двух групп.
Далее необходимо перезагрузить keepalived и включить его в автозапуске:
sudo systemctl restart keepalived sudo systemctl enable keepalived
Затем можно приступать к настройке IPsec на vpn2. Конфигурационный файл теперь будет немного другим, так как туннель должен строиться с VIP-адреса, а не с адреса на интерфейсе.
sudo cat << EOF > /etc/ipsec.conf config setup charondebug="all" uniqueids=yes strictcrlpolicy=no conn site-to-site-vpn type=tunnel authby=secret left=%defaultroute leftid=188.68.206.158 leftsubnet=192.168.10.0/24 right=51.250.46.166 rightsubnet=192.168.20.0/24 ike=aes256-sha2_256-modp1024! esp=aes256-sha2_256! keyingtries=0 ikelifetime=1h lifetime=8h dpddelay=30 dpdtimeout=120 dpdaction=restart auto=start EOF
Файл с секретом создается тоже с VIP-адресом:
sudo cat << EOF > /etc/ipsec.secrets 188.68.206.158 51.250.46.166 : PSK "<SECRET>" EOF
Настройка vpn2 окончена. Приступаем к настройке vpn1, так как на первой ВМ тоже надо запустить VRRP и подправить конфигурацию IPsec.
Так как эта схема строится для отказоустойчивости, большинство конфигурационных файлов будут точно такими же как и на vpn2. Исключение — роль VRRP у этого инстанса будет MASTER. Устанавливаем keepalived, создаем конфигурацию и скрипт контроля IPsec:
sudo apt install -y keepalived sudo cat << EOF > /usr/local/sbin/notify-ipsec.sh #!/bin/bash TYPE=\$1 NAME=\$2 STATE=\$3 case \$STATE in "MASTER") /usr/sbin/ipsec restart ;; "BACKUP") /usr/sbin/ipsec stop ;; "FAULT") /usr/sbin/ipsec stop exit 0 ;; *) /usr/bin/logger "ipsec unknown state" exit 1 ;; esac EOF sudo chmod a+x /usr/local/sbin/notify-ipsec.sh sudo cat << EOF > /etc/keepalived/keepalived.conf vrrp_sync_group G1 { group { EXT INT } notify "/usr/local/sbin/notify-ipsec.sh" } vrrp_instance INT { state MASTER interface eth1 virtual_router_id 11 priority 50 advert_int 1 authentication { auth_type PASS auth_pass <SECRET> } virtual_ipaddress { 192.168.120.100/24 } garp_master_delay 1 } vrrp_instance EXT { state MASTER interface eth0 virtual_router_id 22 priority 50 advert_int 1 authentication { auth_type PASS auth_pass <SECRET> } virtual_ipaddress { 188.68.206.158/29 } garp_master_delay 1 } EOF sudo systemctl enable keepalived
Пароль <SECRET>, указанный в конфигурации, должен быть одинаковым на обеих ВМ VPN.
Далее нужно обновить конфигурацию секрета и IPsec так, чтобы вместо основного адреса был указан VIP. То есть конфигурации IPsec и секрета будут идентичны vpn1 и vpn2.
sudo cat << EOF > /etc/ipsec.conf config setup charondebug="all" uniqueids=yes strictcrlpolicy=no conn site-to-site-vpn type=tunnel authby=secret left=%defaultroute leftid=188.68.206.158 leftsubnet=192.168.10.0/24 right=51.250.46.166 rightsubnet=192.168.20.0/24 ike=aes256-sha2_256-modp1024! esp=aes256-sha2_256! keyingtries=0 ikelifetime=1h lifetime=8h dpddelay=30 dpdtimeout=120 dpdaction=restart auto=start EOF sudo cat << EOF > /etc/ipsec.secrets 188.68.206.158 51.250.46.166 : PSK "<SECRET>" EOF
Перезагружаем keepalived и проверяем статус IPsec:
sudo systemctl restart keepalived ipsec status
Заключение
IPsec давно зарекомендовал себя как один из самых надежных инструментов для защиты передаваемых данных. Он широко используется в корпоративных и облачных сетях, обеспечивая безопасное соединение между узлами. Современные реализации IPsec позволя.n адаптировать настройку под разные сценарии — от удаленного доступа сотрудников до защиты межсетевого взаимодействия.
Servercore предлагает оптимизированные серверные решения, которые позволяют развернуть IPsec VPN с высокой производительностью и гибкостью настроек. Благодаря поддержке современных стандартов безопасности, такие решения обеспечивают надежное шифрование данных и защиту соединений даже в масштабируемых облачных средах.