Настройка собственного 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 дней.

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

Добавить комментарий

Ваш адрес email не будет опубликован.