Настройка Linux в качестве клиента к PfSense (IPSEC)

HELP-ME-24.COM (Freelance Team), Черноусов Антон

Сегодня мы разберем один довольно специфичный практический кейс.

У одного из клиентов в качестве FireWall и VPN-шлюза используется PfSense и мне пришлось реализовывать подключение с тестового и продакшн-серверов IPSEC подключение к их шлюзу. Задачка оказалась довольно специфичная, но выполнимая и последовательностью настройки и подводными камнями возникшими в процессе я сейчас с вами поделюсь.

В качестве параметров подключения мне передали скриншоты настроек и pre-shared key, с моей стороны запросили адрес шлюза и внутреннюю подсеть. Подсеть я передал в виде ip-адреса сервера с которого будет осуществляться доступ с маской /32, а адрес шлюза в идеологии IPSEC это адрес интернет шлюза который вы можете узнать используя последовательность дествий описанную в моей заметке "Как узнать ip-адрес шлюза в Linux".

Для Ubuntu сервер необходимо установить клиент IPSEC командой:

# aptitude install strongswan

Конфигурация для подключения находится в файле /etc/ipsec.conf и после ряда экспериментов удалось добиться работоспособной конфигурации следующего вида:

version 2.0config setup
protostack=auto
nat_traversal=yes

conn SASRTDM
authby=psk
ike=3des-sha1-modp1024!
esp=3des-md5-modp768!

leftfirewall=yes
leftid=85.213.151.27
leftsubnet=10.0.0.5/32

right=81.224.14.150
rightid=81.224.14.150
rightsubnet=192.168.216.40/32

keyexchange=ikev1
auto=start

Файл с ключами авторизации /etc/ipsec.secrets содержит следующую запись:

10.0.0.5 81.224.14.150 : PSK "c7SECRETKEYG"

В разных вариантах конфигурации с использованием NAT или без вариации записи общего ключа могут быть самыми разными, но что именно требуется написать вы сможете узнать из логов, например в моем случае получилось так:

10[ENC] parsed ID_PROT response 0 [ KE No NAT-D NAT-D ]
10[IKE] no shared key found for '85.213.151.27'[10.0.0.5] - '81.224.14.150'[81.224.14.150]

Тестовый запуск в режиме отладки можно произвести выполнив команду:

# ipsec starter --nofork --debug-all --conf /etc/ipsec.conf

Так же возможно вам понадобится помощь админисрратора на их стороне в случае получения ошибки:

12[IKE] received INVALID_ID_INFORMATION error notify

Проверить текущий статус соенинения туннелей можно командой:

# ipsec statusall

 

Оставьте комментарий

Вы должны быть вошедший в чтобы отправить комментарий