Ipsec туннель настройка linux

Быстрая настройка ipsec туннеля на Linux

Часто в работе необходимо быстро и качественно настроить защищенный туннель, например в ситуации когда необходимо соединить два филиала в одну сеть или соединить офисную сеть с VPS (Virtual Private Server) или VDS (Virtual Dedicated Server) — услуга, в рамках которой пользователю предоставляется так называемый Виртуальный выделенный сервер, при выборе хостера посмотрите в сторону https://adminvps.ru/vps/vps_russia.php — аренда виртуального VPS/VDS сервера в России.

Москва IP: 222.222.222.222/29 Москва VPN Network: 192.168.8.0/24

Вашингтон IP: 555.555.555.555/29 Вашингтон VPN Network: 192.168.22.0/24

Устанавливаем на обоих хостах:

apt-get install racoon ipsec-tools

Настраиваем racoon

path pre_shared_key «/etc/racoon/psk.txt»;

remote 555.555.555.555 exchange_mode main,aggressive;
proposal encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
>
>

sainfo address 192.168.8.0/24 any address 192.168.22.0/24 any pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
>

path pre_shared_key «/etc/racoon/psk.txt»;

remote 222.222.222.222 exchange_mode main,aggressive;
proposal encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
>
>

sainfo address 192.168.22.0/24 any address 192.168.8.0/24 any pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
>

222.222.222.222 Password423423
Security Policies

spdadd 192.168.8.0/24 192.168.22.0/24 any -P out ipsec
esp/tunnel/222.222.222.222-555.555.555.555/require;

spdadd 192.168.22.0/24 192.168.8.0/24 any -P in ipsec
esp/tunnel/555.555.555.555-222.222.222.222/require;

spdadd 192.168.22.0/24 192.168.8.0/24 any -P out ipsec
esp/tunnel/555.555.555.555-222.222.222.222/require;

spdadd 192.168.8.0/24 192.168.22.0/24 any -P in ipsec
esp/tunnel/222.222.222.222-555.555.555.555/require;

Делаем на обоих хостах

/etc/init.d/setkey restart
/etc/init.d/racoon restart

ip addr add 192.168.8.1/24 dev eth0
ip route add to 192.168.22.0/24 via 192.168.8.1 src 192.168.8.1

на сервере в Вашингтоне

ip addr add 192.168.22.1/24 dev eth0
ip route add to 192.168.8.0/24 via 192.168.22.1 src 192.168.22.1

Пингуем из Москвы

Если вместо шлюза (192.168.8.1) используется другой шлюз (например 192.168.8.50), то необходимо прописать дополнительный маршрут:

Читайте также:  Запуск скриптов linux от пользователя

route add -net 192.168.8.0/24 gw 192.168.8.50

Источник

12.9. Настройка IPsec VPN-туннеля между UserGate и Linux-сервером

image378

Далее будут рассмотрены настройки серверов Linux и UserGate для настройки IPsec-туннеля между сетями 172.16.0.0/24 и 10.0.5.0/24.

Настройка Linux-сервера

Для реализации IPsec на Linux-сервере использовалось ПО LibreSwan (ПО и подробная информация о нём доступны по следующей ссылке: https://libreswan.org/).

sudo apt update sudo apt install -y -q libreswan

После установки LibreSwan будет доступна команда ipsec.

Файлы конфигурации для настройки политики подключения:

  • создание политик подключения: / etc/ ipsec. conf и файлы / etc/ ipsec. d/* conf.
  • хранение PSK: / etc/ ipsec. secrets` и файлы / etc/ ipsec. d/*. secrets.
  1. Сгенерировать Pre-shared key.

Для генерации PSK была использована команда (в привилегированном режиме):

Был сгенерирован ключ: WXj72QDymXs1inggnYVSBuox

Сохраните общий ключ в файл / etc/ ipsec.secrets. Общий формат файлов *. secrets следующий:

  • для конкретного Peer-to-Peer соединения: : PSK
  • для любых подключений, которые не попадают в заданные правила: : PSK

Файл необходимо создать в каталоге / etc/ ipsec.d/ vpn.conf. Подробное описание конфигурационных параметров доступно по ссылке: https://libreswan.org/man/ipsec.conf.5.html.

Далее представлена базовая конфигурация:

config setup logfile=/var/log/pluto.log

Дайте название подключению, например vpn:

Укажите IP-адрес удалённого пира (UserGate):

или укажите «%any» для автоматического заполнения этого параметра в процессе установки сессии:

Укажите адрес подсети, подключённой к удалённому пиру:

Укажите адрес пира — Linux-сервера и подсети, подключённой к нему:

left=172.17.1.73 leftsubnet=10.0.5.0/24

Задайте способ аутентификации — Общий ключ:

В текущих версиях UserGate не поддерживается PFS (Perfect Forward Secrecy) и IKEv2:

pfs=no ikev2=no rekey=yes keyingtries=3

Тип подключения туннельный (значение по умолчанию)

Далее задайте алгоритмы, которые будут использоваться на первой и второй фазах согласования:

ike=aes256-sha1-modp1536,aes128-sha1-modp1536,3des-sha1-modp1536,aes128-sha1;modp1536,aes128-sha1;modp1536 esp=aes256-sha256,aes256-sha1,3des-sha1 nat-ikev1-method=none
  1. Создайте правило SNAT (Source Network Address Translation), для корректного прохождения трафика, предназначенного для сети, расположенной за удалённым пиром:
# iptables -t nat -A POSTROUTING -d 172.16.0.0/24 -j SNAT --to-source 10.0.5.1

Настройка UserGate.

Читайте также:  Linux kernel driver loading

Особенностью данной настройки является необходимость создания виртуального туннельного VPN интерфейса. Интерфейс необходим для инкапсуляции трафика в модуль VPN (при активации подключения создаётся маршрут в указанную сеть за удаленным пиром через туннельный VPN интерфейс).

Для добавления интерфейса перейдите в раздел Сеть —> Интерфейсы, нажмите Добавить и выберите Добавить VPN. Далее укажите:

  • отметьте чекбокс Включено;
  • порядковый номер, использующийся в названии интерфейса;
  • Описание (опционально);
  • Зона, которой принадлежит интерфейс;
  • IP-адрес туннельного интерфейса должен находиться в сети, которая будет согласована в рамках туннельного подключения (в данном примере: 172.16.0.0/24).
  1. Настроить профиль безопасности VPN.

Настройка профилей безопасности производится в разделе VPN —> Профили безопасности VPN веб-интерфейса UserGate. Настройка профиля безопасности необходима для согласования следующих параметров:

  • режим IKE;
  • общий ключ;
  • алгоритмы шифрования, проверки целостности и обмена ключами первой фазы;
  • алгоритмы шифрования, проверки целостности второй фазы.

Алгоритмы шифрования и авторизации, указанные на сервере Linux и UserGate, должны совпадать. Можно задать несколько комбинаций алгоритмов, из совпадающих вариантов хосты выберут наиболее защищённую комбинацию.

Для данного примера профиль безопасности VPN имеет следующие настройки:

image379

image380

image381

Чтобы добавить правило перейдите в раздел VPN —> Клиентские правила, нажмите Добавить и укажите:

  • отметьте чекбокс Включено;
  • Название правила;
  • Описание (опционально);
  • Профиль безопасности, настроенный ранее;
  • Интерфейс, созданный в пункте 1;
  • Адрес сервера: адрес интерфейса Linux-сервера, через который происходит подключение;
  • Протокол VPN: IPsec туннель;
  • согласовать сети с каждой стороны туннеля (rightsubnet и leftsubnet).

image382

В случае успешного подключения напротив правила отобразится зелёный индикатор.

image383

Новый маршрут отобразится в таблице маршрутизации системы (вкладка Диагностика и мониторинг раздел Мониторинг —> Маршруты):

image384

Источник

Оцените статью
Adblock
detector