Настройка собственного VPN-сервера

Настройка собственного VPN-сервера

Время нынче непростое, постоянно кто-то кого-то банит, часто это неприятно, пусть и не смертельно. Но некоторые ограничения доставляют заметные неудобства. Поначалу пользовался бесплатными 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 на первый месяц, потом докинете), потом переходите к созданию сервера.

Конфигурация VPS-сервера

Самое главное — не забудьте выбрать локацию сервера за пределами России. Иначе чуда не произойдёт.

После создания, в раздел «Поддержка — Тикеты» вам придёт сообщение с данными для доступа к вашему серверу. Для дальнейшей настройки нужны будут IP и пароль.

Установка необходимого ПО

Для дальнейшей настройки нам понадобится терминал. В Mac OS он встроен, в Windows, говорят, теперь тоже. Если же ничего такого нет, скачайте приложение Putty. Оно бесплатно.

Выглядит терминал вот так:

Окно терминала в MacOS

И ещё нам понадобится приложения 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 сделает сам.

После того, как сервер настроен, у вас будет создан первый ключ для приложения Outline. Скопируйте и вставьте в приложение, чтобы подключиться к вашему VPN-серверу. Всё, вы восхитительны!

Один ключ можно использовать для всех устройств — работать будет. Но если вы хотите понаблюдать за объёмами трафика на разных устройствах или у разных людей, делайте отдельные ключи.

В настройках ключей можете задать лимит трафика. Лимит обновляется каждые 30 дней.

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

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии