Время нынче непростое, постоянно кто-то кого-то банит, часто это неприятно, пусть и не смертельно. Но некоторые ограничения доставляют заметные неудобства. Поначалу пользовался бесплатными VPN-сервисами, в частности 1.1.1.1 от Cloudflare, но и он попал «под нож», что и сподвигло меня перестать искать, а настроить собственный VPN-сервер и больше не возвращаться к теме «а какой VPN ещё работает?»
Сразу оговорюсь, что в администрировании серверов на Linux я не шарю почти совсем, поэтому эта заметка не столько инструкция для вас, сколько для меня. Чтобы если что-то случится и придётся настраивать всё заново, не бродить по разным ресурсам и не собирать информацию заново. Я поделюсь теми шагами, которые предпринял сам, чтобы всё настроить и запустить. Не берусь гарантировать правильность и оптимальность этого решения, я исходил из соображений простоты и времязатрат.
Выбор VPS-сервера
Чтобы всё работало, важно, чтобы сервер располагался за пределами страны. Там, где нет тех ограничений, которые доставляют вам неудобства. У меня в итоге это получились Нидерланды. На самом деле выбор невелик. Из-за санкций приходится искать либо зарубежного хостинг-провайдера, который принимает межбанковские переводы, либо криптовалюту, либо WebMoney, либо ещё какие-то способы оплаты, которые ещё доступны россиянам. В этой статье на Хабре есть подборка таких хостеров. Посмотрите.
Я же остановился на VDSina. Хоть и начитался про этих ребят довольно нелестных отзывов, но решил, что даже если что-то пойдёт не так — не смертельно. Деньги они просят за сервер совсем небольшие, работает всё стабильно (по крайней мере пока). Если что, куплю сервер в другом месте. По этой ссылке можно получить скидку 10%.
Также я рассматривал вариант с Amazon, но там проблемы с оплатой. Если бы не они, остановился бы на нём.
Покупка сервера под наш VPN
Регистрируемся на сайте хостера. Я покажу на примере панели управления своего, но если у вас другой, принцип будет точно такой же.
Конфигурацию берите самую простую — вполне хватит одного ядра и 512 мегабайт ОЗУ. Диск тоже по минимуму.
У меня получилась вот такая конфигурация:
- ОЗУ 1 Гб (меньше просто нельзя было)
- 30 Гб диск (аналогично — меньше не дал)
- 1 ядро CPU
- 32 Тб трафика в месяц
- ОС Ubuntu 18
И всё это за 6,6 ₽ в сутки или около 200 ₽ в месяц.
Сначала пополните баланс (рублей 200 на первый месяц, потом докинете), потом переходите к созданию сервера.

Самое главное — не забудьте выбрать локацию сервера за пределами России. Иначе чуда не произойдёт.
После создания, в раздел «Поддержка — Тикеты» вам придёт сообщение с данными для доступа к вашему серверу. Для дальнейшей настройки нужны будут IP и пароль.
Установка необходимого ПО
Для дальнейшей настройки нам понадобится терминал. В Mac OS он встроен, в Windows, говорят, теперь тоже. Если же ничего такого нет, скачайте приложение Putty. Оно бесплатно.
Выглядит терминал вот так:

И ещё нам понадобится приложения Outline Manager для настройки VPN-сервера и Outline для работы VPN на устройстве.
Необходимость установки кучи дополнительных приложений поначалу меня опечалила и я поискал инструкции по настройке VPN без этих «допов». Но, проковырявшись часок-полтора с командами, настройками и перенастройками — плюнул, т. к. поставить Outline сильно проще и быстрее, чем вот это вот всё 🙂
Так что если вы не опытный сисадмин, знающий что и как, не мудрите себе голову, а сразу качайте Outline.
Настройка VPN
Ну всё, осталось настроить.
Подключаемся к серверу. Введите в окно терминала команду:
ssh root@(IP-адрес вашего сервера, без скобок)
Вас спросят, действительно ли вы хотите подключиться. Напишите yes
, нажмите enter.
Далее вас попросят ввести пароль (он в тикете, либо на почте). Введите пароль (можно скопировать и вставить) и нажимаем enter. Кстати, не знаю как в Putty, но в терминале MacOS введение пароля никак не отображается. Не удивляйтесь.
Если доступ к вашему серверу только по ключу, погуглите, как правильно подключиться.
Дальше обновляем сервер. Введите команду:
yum update
и нажмите enter. Далее соглашаемся с тем, что спросит терминал: вводим y
, нажимаем enter. Снова соглашаемся с изменениями: вводим y
, нажимаем enter.
Следующий шаг — установка Docker. В оригинальной инструкции на ixbt.com почему-то на этом шаге ничего не вышло — сервер ответил, что не понимает команды, поэтому я пошёл по более длинному пути с установкой этого самого Докера.
Дальше привожу инструкцию с DigitalOcean:
1. Обновляем существующий список пакетов:
sudo apt update
2. Затем устанавливаем несколько необходимых пакетов, которые позволяют apt использовать пакеты через HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
3. Добавляем ключ GPG для официального репозитория Docker в вашу систему:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. Добавляем репозиторий Docker в источники APT:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
5. Потом обновляем базу данных пакетов и добавьте в нее пакеты Docker из недавно добавленного репозитория:
sudo apt update
6. Убеждаемся, что установка будет выполняться из репозитория Docker, а не из репозитория Ubuntu по умолчанию:
apt-cache policy docker-ce
7. Устанавливаем Docker:
sudo apt install docker-ce
Docker должен быть установлен, демон-процесс запущен, а для процесса активирован запуск при загрузке. Проверяем, что он запущен:
sudo systemctl status docker
Вывод должен выглядеть примерно следующим образом, указывая, что служба активна и запущена:
Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 24321 (dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/docker.service
└─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Осталось совсем чуть-чуть. Запускаем приложение Outline Manager и выбираем «Настройте Outline где угодно»

Приложение выдаст вам команду, которую нужно ввести в терминал. Просто скопируйте, вставьте и выполните. Ответ вставьте в поле ниже и нажмите «Готово». Остальное Outline сделает сам.
После того, как сервер настроен, у вас будет создан первый ключ для приложения Outline. Скопируйте и вставьте в приложение, чтобы подключиться к вашему VPN-серверу. Всё, вы восхитительны!
Один ключ можно использовать для всех устройств — работать будет. Но если вы хотите понаблюдать за объёмами трафика на разных устройствах или у разных людей, делайте отдельные ключи.
В настройках ключей можете задать лимит трафика. Лимит обновляется каждые 30 дней.
На этом всё. Надеюсь, эта инструкция мне больше не пригодится, но будет полезной вам.