StrongSwan ikev1 в docker

docker_miniВ догонку к предыдущему материалу, еще один способ поднять strongswan, но в этот раз в контейнере. Я уже создал и выложил на dockerhub контейнер, который вы можете использовать для этой задачи, либо, вы можете сами собрать контейнер из Dockerfile — всё в открытом доступе.

 

Итак, запускаем контейнер:

docker run -t -d --privileged \
-e VPN_USER=user \
-e VPN_PASS=password \
-e VPN_PSK=secretkey \
-e VPN_SUBNET=192.168.14.0/24 \
--publish 4500:4500/udp \
--publish 500:500/udp \
--hostname strongswan \
--name strongswan andrey0001/strongswan:latest

Переменные означают:

VPN_USER = имя_пользолвателя (по умолчанию: user1 )
VPN_PASS = пароль (по умолчанию: Sup3rS3cr3t)
VPN_PSK = секретная фразаy (по умолчанию: s3cr3tk3y)
VPN_SUBNET = сеть для клиентов (по умолчанию: 192.168.95.0/24)

После этого можете подключаться с заданными вами параметрами практически с любых устройств, за исключением windows, в ней нет нативной поддержки ikev1, только ikev2 — но это уже будет в другой статье.

чтобы добавить пользователей, достаточно отредактировать файл /etc/strongswan/ipsec.secrets внутри контейнера и перечитать этот файл:

strongswan rereadsecrets

Docker image перешел на alpine — смотреть здесь.
Эта статья полностью актуальна, если использовать имидж andrey0001/strongswan:centos
То есть, вместо «latest» — «centos».
Но советую использовать имидж с alpine, он намного меньше по размеру.

Ну вот и всё.
Удачи в настройках.
© shadow_alone