Установка IPsec VPN сервера с поддержкой IPsec/L2TP и IPsec/XAuth (Cisco IPsec) через docker
Материал из Все о VPN, прокси и свободном интернете
Установка IPsec VPN сервера с поддержкой IPsec/L2TP и IPsec/XAuth (Cisco IPsec) через docker
Ссылка на образ l2tp-ipsec-vpn-server (собран на Debian 9 (Stretch) c Libreswan (IPsec VPN) и xl2tpd (L2TP).)
Установка на CentOS 7:
- отключаем фаервол, устанавливаем docker, добавляем его в автозагрузку: # systemctl disable firewalld && systemctl stop firewalld && wget -O - https://get.docker.com | bash # systemctl enable docker && systemctl start docker
Загружаем модуль ядра IPsec и добляем его в автозагрузку на CentOS 7:
# modprobe af_key # echo "af_key" > /etc/modules-load.d/modules.conf
Создаем файл с 3мя переменными - /root/vpn.env:
# vi /root/vpn.env VPN_IPSEC_PSK=sjf3hjhsdfshbgtYTg4VdsdshGytrDfff VPN_USER=user4565 VPN_PASSWORD=password4565 VPN_ADDL_USERS=user2 user3 user4 VPN_ADDL_PASSWORDS=pass1 pass2 pass3
где
VPN_IPSEC_PSK -секретная фраза IPsec, должна состоять из 20 или более символов. Мы ее потом пропишем в ipsec/l2tp клиент. VPN_USER и VPN_PASSWORD - логин и пароль от VPN сервера. VPN_ADDL_USERS и VPN_ADDL_PASSWORDS - дополнительные пользователи и их пароли
Запускаем наш докер контенер с нашим окружением:
# docker run --name ipsec-vpn-server --env-file /root/vpn.env --restart=always -p 500:500/udp -p 4500:4500/udp -d --privileged hwdsl2/ipsec-vpn-server
Проверка:
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f32ea96490f hwdsl2/ipsec-vpn-server "/opt/src/run.sh" 8 seconds ago Up 7 seconds 0.0.0.0:500->500/udp, 0.0.0.0:4500->4500/udp ipsec-vpn-server
Дополнительно логин и пароль можно посмотреть через команду:
# docker logs ipsec-vpn-server
Посмотреть статус IPsec VPN сервера можно командой:
# docker exec -it ipsec-vpn-server ipsec status
Посмотреть список активных подключений можно командой:
# docker exec -it ipsec-vpn-server ipsec whack --trafficstatus
Настройка l2tp клиента на Windows
Сразу добавить в реестр Windows 7, 8.x и 10 - два изменения без которых будет 809 ошибка при подключении к ipsec/l2tp серверу:
Запускаем CMD как Администратор и выполняем 2 команды: REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f
Links:
https://github.com/hwdsl2/setup-ipsec-vpn