Типичные заметки эникея

Обычная работа обычного системного администратора из города, хобби, интересы и программирование.

Поднимаем собственный IPSec VPN-сервер

В продолжении о личных серверах, для использования VPN и proxy-серверов в личных целях, я расскажу как быстро поднять L2TP over IPSec VPN-сервер.
Для этого также потребуется установленный Docker в системе и удобный для Вас текстовый редактор.

sudo apt install docker vim

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

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

sudo vim /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=8.8.8.8
VPN_DNS2=8.8.4.4

При вводе 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

Здесь могла быть Ваша реклама

Author image
Об авторе Дмитрий Кожанов
Россия, Самара Сайт
Сисадмин, погромист, муж и просто хороший человек