March 11, 2022

Как поднять свой личный VPN

Поднял сейчас себе свой VPN для семьи, через рабочую виртуалку, делюсь шагами как сделать так же. На самом деле пацаны вообще ребята, сделали скрипт который всё просто идеально поднимает и думать совсем не надо, а сложности могут возникнуть только если совсем нет опыта работы с линуксом.

Подробно расписывать не буду, чисто ссылками, итак:

1. Как-то добываем, покупаем (если придумаете как оплатить) или берем бесплатную (если кто даст) линукс машину, дедик, виртуалку, энивей. Подойдет любая убунту, дебиан, центос, практически не имеет значения. Важно только параметры сети и местоположение сервера (очевидно не в СНГ). Записываем адрес сервера, подключаемся по SSH.

2. Выдумываем PSK key, login, password:
PSK генерим по инструкции (https://cloud.google.com/network-connectivity/docs/vpn/how-to/generating-pre-shared-key)
Логин и пароль выбираем какой нам нравится, например test / test
Записываем эти данные куда-нибудь.

3. Устанавливаем по мануалу (https://github.com/hwdsl2/setup-ipsec-vpn#installation):
wget https://git.io/vpnsetup -nv -O vpn.sh
sudo VPN_IPSEC_PSK=‘Наш PSK' \
VPN_USER=‘логин’ \
VPN_PASSWORD=‘пароль’ \
sh vpn.sh

Если возникает вопрос почему не в докере, то вот (https://github.com/hwdsl2/docker-ipsec-vpn-server)

По окончанию процесса оно выдаст кучу данных, в т.ч параметры подключения и пути до файлов .sswan, .mobileconfig . Файлы скачиваем, данные копируем куда-нибудь (как скачать файлы с сервера гуглите по запросу “Download file from ssh” для вашей ОС. Можно использовать sftp или scp, но если винда то я хз, не видел винду с выхода 7-ки)

4. [Как ни странно самое сложное] Настраиваем клиенты (ваши роутеры, телефоны, маки и т.д), инструкции тут (https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md)
Простыми словами ищите:
Тип подключения: L2TP / IPSec
Вбиваем логин, пароль, PSK
Ищем галку по типу “Использовать для всех подключений” или “Подключаться по требованию”

4.1. Если вам не повезло и у вас Android 12 и выше или какая-то другая причина не использвать L2TP, то настраиваем IKEv2 тип подключения по мануалам отсюда (https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/ikev2-howto.md), т.е используя .sswan файл
Для этого понадобятся скачанные файлы в п.3

4.2. На самом деле на OSX / iOS может проще так же через .mobileconfig файл настроить, по крайней мере не надо будет ничего вводить руками

В целом всё, если устройство подключилось, то все должно работать и все ресурсы открыавться как положено 😉