Найти в Дзене

Ipsec linux настройка

IPsec (Internet Protocol Security) — набор протоколов для аутентификации и шифрования IP‑пакетов. В Linux чаще всего используют strongSwan или Libreswan в качестве IPsec‑реализации. Для Debian/Ubuntu (strongSwan): sudo apt update
sudo apt install strongswan Для CentOS/RHEL (Libreswan): sudo yum install libreswan Включите маршрутизацию (если нужен VPN‑туннель между сетями): echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p Настройте firewall (пример для ufw): sudo ufw allow 500/udp # IKE
sudo ufw allow 4500/udp # NAT‑T
sudo ufw reload Пример для туннеля между двумя узлами: config setup
charondebug="all"
uniqueids=yes
conn my-tunnel
authby=secret # аутентификация по PSK
left=192.168.1.100 # IP локального узла
leftsubnet=192.168.10.0/24 # локальная подсеть
right=203.0.113.50 # IP удалённого узла
rightsubnet=192.168.20.0/24 # удалённая подсеть
ike=aes256-sha1-modp1024! # фаза 1
Оглавление

Настройка IPsec в Linux: пошаговое руководство

IPsec (Internet Protocol Security) — набор протоколов для аутентификации и шифрования IP‑пакетов. В Linux чаще всего используют strongSwan или Libreswan в качестве IPsec‑реализации.

1. Выбор ПО и установка

Для Debian/Ubuntu (strongSwan):

sudo apt update
sudo apt install strongswan

Для CentOS/RHEL (Libreswan):

sudo yum install libreswan

2. Подготовка системы

Включите маршрутизацию (если нужен VPN‑туннель между сетями):

echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Настройте firewall (пример для ufw):

sudo ufw allow 500/udp # IKE
sudo ufw allow 4500/udp # NAT‑T
sudo ufw reload

3. Базовая конфигурация (strongSwan)

3.1. Файл /etc/ipsec.conf

Пример для туннеля между двумя узлами:

config setup
charondebug="all"
uniqueids=yes


conn my-tunnel
authby=secret # аутентификация по PSK
left=192.168.1.100 # IP локального узла
leftsubnet=192.168.10.0/24 # локальная подсеть
right=203.0.113.50 # IP удалённого узла
rightsubnet=192.168.20.0/24 # удалённая подсеть
ike=aes256-sha1-modp1024! # фаза 1 (IKE)
esp=aes256-sha1! # фаза 2 (ESP)
keyexchange=ikev1
auto=start # автозапуск при старте

Пояснения:

  • authby=secret — аутентификация по предварительному ключу (PSK).
  • ike — алгоритмы для фазы 1 (IKE).
  • esp — алгоритмы для фазы 2 (ESP).
  • auto=start — автоматически устанавливать соединение.

3.2. Файл /etc/ipsec.secrets

Добавьте PSK (предварительный ключ):

192.168.1.100 203.0.113.50 : PSK "ваш_секретный_ключ"

Важно: ключ должен быть сложным и одинаковым на обоих узлах.

4. Запуск и проверка

Запустите IPsec:

sudo systemctl restart strongswan # для strongSwan
sudo systemctl restart ipsec # для Libreswan

Проверьте статус:

sudo ipsec status
sudo ipsec statusall

Ожидаемый вывод:

Security Associations (1 up, 0 connecting):
my-tunnel[1]: ESTABLISHED ...

Тестирование соединения:

ping 192.168.20.1 # ping до удалённой подсети

5. Расширенные настройки

5.1. Использование сертификатов (вместо PSK)

  1. Сгенерируйте сертификаты (например, с помощью openssl).
  2. В /etc/ipsec.conf укажите:authby=rsasig
    leftcert=/etc/ipsec.d/certs/mycert.pem
    rightcert=/etc/ipsec.d/certs/remotecert.pem
  3. Разместите сертификаты в /etc/ipsec.d/certs/.

5.2. Настройка NAT‑Traversal (NAT‑T)

Добавьте в /etc/ipsec.conf:

nat-traversal=yes
forceencaps=yes

5.3. Логирование

Включите отладку в /etc/ipsec.conf:

charondebug="ike 2, knl 2, cfg 2"

Логи:

journalctl -u strongswan -f

6. Типичные ошибки и решения

  • «No response from IKE daemon» — проверьте, запущен ли strongswan/ipsec.
  • «Authentication failed» — убедитесь, что PSK совпадает на обоих узлах.
  • «No route to host» — проверьте маршрутизацию и firewall.
  • «IKE negotiation failed» — сверьте алгоритмы шифрования в ike/esp.

7. Полезные команды

  • Просмотр активных SA (Security Associations):sudo ipsec status
  • Перезагрузка конфигурации:sudo ipsec reload
  • Тестирование IKE‑соединения:sudo ipsec whack --ping <удаленный_IP>

8. Безопасность

  • Используйте IKEv2 вместо IKEv1 (более безопасный).
  • Применяйте длинные PSK (минимум 20 символов) или сертификаты.
  • Ограничьте доступ по IP в /etc/ipsec.conf (параметры left/right).
  • Регулярно обновляйте ПО (strongswan, libreswan).

9. Ресурсы