Акция для Казахстана
Скидка 50% на все услуги Servercore Подробнее
Продукты
Услуги
Цены Документация
Servercore
Блог
Вычисления
Хранение и обработка данных
Сетевые сервисы
Безопасность
Машинное обучение и искусственный интеллект
О компании
Кейсы
Клиентам
Юридическая информация
Для клиентских запросов
PR-служба
Техническая поддержка
Главная/Блог/IPsec VPN: архитектура, протоколы и настройка

IPsec VPN: архитектура, протоколы и настройка

7 мин. чтения   /  
1
Что такое IPSec
2
Как работает IPSec
3
Как IPSec помогает бизнесу
4
Архитектура и протоколы IPSec
5
Настройка IPSec VPN в Servercore
6
Заключение

С ростом числа кибератак и угроз утечки данных надёжное шифрование и безопасные соединения становятся необходимостью. Для обеспечения конфиденциальности и защиты от перехвата всё больше пользователей и компаний обращаются к 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 строится на двух основных механизмах: аутентификации и шифровании трафика. Процесс устанавливается в несколько этапов:

  1. Инициализация соединения – выполняется через протокол IKE, который включает создание защищенного канала и настройку параметров безопасности для данных IPSec SA (Security Association).
  2. Аутентификация сторон – используется цифровая подпись, сертификаты или предварительно обмененные ключи (Pre-Shared Keys, PSK) для подтверждения подлинности узлов.
  3. Шифрование и защита данных – весь сетевой трафик, проходящий через туннель, шифруется с помощью симметричных алгоритмов (AES, 3DES).
  4. Контроль целостности данных – реализуется через ESP (шифрование и аутентификация) или AH (только аутентификация и проверка целостности).
  5. Передача данных через туннель – пакеты передаются через зашифрованный канал, а на стороне получателя расшифровываются и проверяются на целостность.
  6. Закрытие соединения – после завершения передачи данных 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 с высокой производительностью и гибкостью настроек. Благодаря поддержке современных стандартов безопасности, такие решения обеспечивают надежное шифрование данных и защиту соединений даже в масштабируемых облачных средах.



Главная/Блог/IPsec VPN: архитектура, протоколы и настройка
Подпишитесь на нашу рассылку
Мы будем держать вас в курсе всего, что происходит в облаках и на серверах.
Протестируйте облачную платформу Servercore бесплатно
Оставьте заявку, и мы начислим вам до 230 USD на баланс панели управления.
Оставьте заявку, и мы начислим вам до 210 EUR на баланс панели управления.
Оставьте заявку, и мы начислим вам до 100 000 KZT на баланс панели управления.
Оставьте заявку, и мы начислим вам до 30 000 KES на баланс панели управления.
Оставьте заявку, и мы начислим вам до 1 500 000 UZS на баланс панели управления.
Спасибо за заявку!
Наш менеджер свяжется с вами в течение 1 рабочего дня. 
А пока вы можете зарегистрироваться в панели управления
и посмотреть демо от CTO Servercore.
После просмотра вы сможете: