Привет хабр! В этой статье хочу рассказать, как развернуть свой собственный vpn сервис.
Тут будет только базовая настройка, рассчитанная только на личное пользование, но, ее хватит чтобы спокойно полистать youtube и прочие ресурсы, которых вам возможно не хватает.
Стартовая точка
Отправной точкой будет аренда виртуального сервиса. В рамках данной статьи я не буду рассказывать о том, как и где его арендовать, а просто оставлю приглянувшуюся статью.
Для написания статьи я арендовал VPS со следующими характеристиками:
OS: Ubuntu 24.04 LTS
HDD: 10 Гб (место на диске)
RAM: 0.5 Гб (оперативная память)
CPU: 1x2.2 ГГц (процессор)
Предположим, что у вас уже имеется арендованный сервер и пойдем дальше.
Обычно в личном кабинете после создания новой машины вам будет доступна следующая информация
IP: XXX.XXX.XXX.XXX (IPv4 адрес вашего сервера)
LOGIN: Имя пользователя, созданного на сервере (чаще всего это будет root)
PASSWORD: Пароль для созданного пользователя
Имея вышеуказанную информацию, вы можете зайти на свой сервер по SSH
.
Для тех, у кого Windows
С помощью CMD (информация с сайта)
Откройте «Параметры» — «Приложения».
Выберите подпункт «Дополнительные компоненты».
Найдите в списке «Клиент OpenSSH» и нажмите «Установить». Если этой кнопки нет, значит, служба уже включена.
После установки перезагрузите компьютер.
После включения нажмите Win+R, введите в поле «cmd» и Enter
Далее вы
Способ подключения через PowerShell можно посмотреть тут
Для того, чтобы это сделать, вам нужно открыть консоль и в ней выполнить следующую команды.
ssh <LOGIN>@<IP>
# В первый раз вы получите следующее сообщение
# ...
# Are you sure you want to continue connecting (yes/no/[fingerprint])?
# Пишем в консоли yes
yes
# Далее вам предложат ввести пароль
# <LOGIN>@<IP>'s password:
# Вводим пароль
<PASSWORD>
Теперь мы зашли на сервер.
Первоначальная настройка сервера
Важно: пока не закончится этот блок или не будет сказано обратного, не выходите из консоли
Примечание: Для вставки скопированного текста обычно можно либо нажать на колесико мышки внутри окна консоли, либо использовать комбинацию клавиш CTRL + SHIFT + V
.
Для начала добавим пользователя (вы можете выбрать любое имя, я далее буду использовать имя vpn
).
После ввода нижеуказанной команды, сначала вам предложат ввести пароль, а затем информацию о пользователе, вторую часть можно пропустить, нажимая ENTER
.
adduser vpn
Далее нам необходимо наделить нового пользователя административными правами, добавив в группу sudo
.
usermod -aG sudo vpn
Теперь давайте обновим установленные пакеты и установим фаервол.
sudo apt update && sudo apt install ufw -y
И разрешим подключение по ssh
.
sudo ufw allow OpenSSH
# Вывод должен быть следующим
# Available applications:
# OpenSSH
Если вы получили аналогичное сообщение, то можно спокойно включать фаервол.
sudo ufw enable
# Проверить статус можно следующей командой sudo ufw status
Далее вам нужно открыть новую консоль и попробовать подключиться от имени созданного пользователя.
ssh vpn@<IP>
Когда вы зайдете на сервер, необходимо также проверить, что вам доступно выполнение команд от имени администратора. Для этого попробуем переключиться на пользователя root.
sudo su
# Тут вас попросят ввести пароль
Если все получилось, то имя пользователя в консоли изменится на root, чтобы вернуться обратно, нажмите CTRL + D
и убедитесь, что вы снова под своим пользователем. Теперь можно смело закрывать первую консоль.
Рекомендую вам настроить SSH ключи вместо аутентификации по паролю. В контексте данной статьи этот пункт мы не будем рассматривать, но я оставлю вам инструкцию о том, как это сделать
DigitalOcean (На английском и может не работать без VPN)
timeweb (На русском, есть раздел для Windows)
Установка OpenVPN
Источник с альтернативными вариантами установки
Скачиваем установочный скрипт
Старайтесь всегда проверять содержание bash скриптов из неизвестных вам источников, да и вообще любых источников
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
Разрешаем выполнение скаченного файла
chmod +x openvpn-install.sh
Начинаем установку (возможно вам потребуется добавить sudo
перед следующей командой)
./openvpn-install.sh
# Вам будет предложен ряд вопросов, вы можете выбрать то, что вам нужно, если
# вы знаете, что делать, в противном случае можете оставить по умолчанию
# просто прокликав Enter
# После установки вам будет предложенно ввести имя первого клиента, я укажу vpn
# На остальные вопросы можно также прокликать Enter
После окончания выполнения скрипта, в вашей директории создастся файл с конфигурацией. В моем случае он будет называться vpn.ovpn
так как именем клиента я указал именно vpn.
Примечание: чтобы посмотреть, какие файлы лежат в текущей директории, используйте одну из следующих команд ls
, ls -l
, ll
Примечание: для того, чтобы создать нового клиента, вам необходимо повторно выполнить скрипт openvpn-install.sh
. Вам предложат, 4 варианта, введите цифру, под которой указано Add a new user
и нажмите ENTER
, укажите новое имя и выберите интересующие вас опции
Скачивание файла конфигурации
Далее, нам необходимо скачать файл с сервера
Вот статья о том, как это сделать с примером в том числе на windows
Открываем новое окно консоли на вашем устройстве и вводим следующую команду
# Копируем файл vpn.ovpn из домашней директории пользователя vpn на сервере
# в домашнюю директорию на вашем устройстве
scp vpn@<IP>:~/vpn.ovpn ~/
Возможные проблемы:
Permission denied (publickey) - скорее всего возникнет, если вы настроили ключ ssh и его имя отлично от id_rsa, в данном случае вам необходимо использовать флаг -i после команд ssh и scp указав путь до вашего ключа.
ssh -i /path/to/key <LOGIN>@<IP>
Также вашему пользователю может не хватить прав для скачивания файла, тогда на сервере вы можете изменить права на файл или директорию (если не хотите париться, то можете написать
sudo chmod 777 vpn.ovpn
, что не рекомендуется) но лучше понять, что вы делаетеВы можете находиться не в домашней директории, чтобы понять откуда скачивать файл, можно прописать команду
pwd
она выведет текущую директорию и тогда ваша команда по скачиванию файла будет выглядеть следующим образомscp <LOGIN>@<IP>:/path/from/pwd/vpn.ovpn ~/
Подключение VPN
Для большинства устройств есть официальное приложение OpenVPN для подключения клиента, поэтому тут расскажу, что нужно делать на ubuntu
Я работаю на Kubuntu 25.04. Поэтому пример подключения будет на нем.
Для того, чтобы у вас заработало подключение вам необходимо установить несколько модулей в вашей системе
sudo apt-get install openvpn network-manager-openvpn
# также вам может понадобиться установка network-manager-openvpn-gnome
# и перезагрузка
Далее нам нужно открыть настройки wifi и сети и добавить новую сеть

Открывшееся окно пролистываем в самый низ и выбираем пункт "Импортировать VPN-соединение", ищем наш файл и нажимаем открыть. Новая конфигурация openvpn должна добавиться в список доступных.
Подключаем VPN и можем проверять, что наш IP изменился.