Оптимизация IPsec

17.06.2025 19:36
 

Отлично, теперь ясно: у тебя VPN на базе IPsec, сервер — Linux. Значит, ты используешь mlvpn поверх IPsec-туннелей (или параллельно им). Это вносит свои нюансы — давай разберём, как оптимизировать именно такую схему.

🔐 Особенности IPsec + MLVPN

Если трафик mlvpn идёт через IPsec, то нужно:


🧱 1. MTU и MSS Clamping

Почему важно:

IPsec добавляет ~60 байт накладных расходов, плюс mlvpn — ещё ~40. Без настройки ты получишь фрагментацию и падение производительности.

Решение:

Установи MTU в mlvpn.conf:


На сервере (если IPsec через eth0):


В iptables настрой MSS clamping:


🔐 2. Тюнинг IPsec (strongSwan/libreswan)

Для strongSwan, файл /etc/strongswan.d/charon.conf:


→ Это уменьшает задержки восстановления соединений и делает поведение туннеля более "живым".

🧠 3. Аппаратное ускорение шифрования (AES-NI)

Проверь:


Если поддерживается — strongSwan будет использовать его автоматически. Для Libreswan проверь, что собран с USE_AESCNI.

🧪 4. Проверка производительности IPsec

Используй iperf3 между двумя хостами через IPsec:


Можно замерить прирост/потери при включенном и выключенном mlvpn, сравнивая mlvpn0 и eth0.

⚙️ 5. Тюнинг Linux ядра под IPsec + VPN

/etc/sysctl.d/99-vpn.conf:


📊 6. Мониторинг и стабильность

Поставь:


Для автоматического перезапуска mlvpn + ipsec:


Можно обернуть в watchdog-скрипт, проверяющий доступность через ping и systemctl is-active.

Если хочешь — могу сгенерировать конкретные конфиги mlvpn + ipsec + systemd с автозапуском и самовосстановлением под твой кейс. Просто скажи, что именно тебе нужно: failover, балансировка, шифрование, или максимум скорости?