L2TP over IPSec VPN-сервер

Для этого также потребуется установленный Docker в системе и удобный для Вас текстовый редактор.

sudo apt update
sudo apt install docker.io
sudo systemctl start docker sudo systemctl enable docker

Мы будем использовать уже готовый репозиторий: https://github.com/fcojean/l2tp-ipsec-vpn-server

Для начала нам необходимо настроить env-файл который будет использовать контейнер: (название файла можно указать любое, я выбрал l2tp-ipsec.env)

sudo nano /etc/l2tp-ipsec.env

Далее необходимо вставить в него следующую информацию:

VPN_IPSEC_PSK=test_shared_secret_key
# Table of user object with login and password attribute in Json format
VPN_USER_CREDENTIAL_LIST=[{"login":"userTest1","password":"test1"},{"login":"userTest2","password":"test2"}]
VPN_NETWORK_INTERFACE=eth0
VPN_DNS1=1.1.1.1
VPN_DNS2=1.0.0.1

При вводе VPN_IPSEC_PSK, логина и пароля пользователя, пожалуйста воздержитесь от символов кавычек (одинарной и двойной), слешей (обычного, обратного и прямого), знака равенства, пробелов вокруг = и пробелов в принципе, во избежание ошибок.
Необходимо придумать VPN_IPSEC_PSK, это секретный ключ для подключения к серверу (НЕ ПАРОЛЬ).
Соответственно, в данном примере есть 2 пользователя для VPN, чтобы добавить еще, нужно добавить в конец, до закрывающей квадратной скобки ] через запятую вставить еще одного или нескольких людей по шаблону:

{"login":"userTest3","password":"test3"}

В итоге строка VPN_USER_CREDENTIAL_LIST будет выглядеть так:

VPN_USER_CREDENTIAL_LIST=[{"login":"userTest1","password":"test1"},{"login":"userTest2","password":"test2"},{"login":"userTest3","password":"test3"}]

Учтите, что каждая пара логин-пароль, только для одного человека. Если пользователь уже онлайн, второй пользователь с теми же данными подключиться НЕ СМОЖЕТ.

После чего уже можем запустить наш контейнер с использованием созданного env файла:

docker run \
    --name l2tp-ipsec-vpn-server \
    --env-file /etc/l2tp-ipsec.env \
    --restart=always \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -v /lib/modules:/lib/modules:ro \
    -d --privileged \
    fcojean/l2tp-ipsec-vpn-server