Создаём свой VPN-сервер за полчаса. Ч.1 Настройка сервера + OpenVPN

Создаём свой VPN-сервер за полчаса. Ч.1 Настройка сервера + OpenVPN

Григорич @JSDio

Вступление

Всем доброго! Сегодня вопрос о необходимости наличия VPN под рукой даже не стоит. Сфера применения слишком обширна, чтобы перечислять все плюсы. Вот лишь часть из них: сокрытие ip-адреса от следящих модулей, защита соединения в общественных Wi-Fi сетях, обход ограничения на скачивание torrent-ов у провайдеров мобильной связи, ну и, на худой конец, серфинг интернета без опаски, что ваш провайдер увидит посещённые вами сайты.

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

Ограничения, описанные выше, обходятся собственным VPN-сервером. Если вас пугают долгие настройки, то это не так. Здесь я подробно опишу все этапы. Итак, приступим.

Аренда сервера

Начнём с выбора сервера. Минимальные требования – от 1гб ОЗУ (зависит от количество подключаемых пользователей), виртуализация - KVM. Это очень важный пункт. Часто провайдеры предлагают внешне неплохие характеристики за небольшую цену, но OpenVZ.

В чём их отличие? Допустим, у нас есть 2 сервера 8 ГБ ОЗУ и 4 пользователя. При KVM сервер каждый пользователь получит 2 ГБ ОЗУ, но это будут честные 2 Гб + выделенный интернет-канал. При OpenVZ все пользователи получат  8 ГБ. Но если один решит его нагрузить – страдать будут все. Плюс провайдеры часто блокируют VPN-трафик. Поэтому наш выбор – KVM.

Если у вас есть свои требования к серверу – можете выбрать его на сайте poiskvps.ru. Опустим этот момент и сразу выберем тариф 10 GB SSD, 1 ГБ ОЗУ и гигабитный порт на 5 ТБ трафика за 184₽ (≈2.5$) в месяц у serv-tech.ru. Страна – Россия (выбрал для тес). Если есть необходимость оплаты криптой, то рекомендую bacloud.com.

Итак, заходим на сайт my.serv-tech.ru и создаём аккаунт (подходят сервисы временных email и приёма смс). После регистрации переходим по пути «Товары/Услуги - Виртуальные серверы» и заказываем наш сервер. Операционную систему по усмотрению, я выбираю CentOS-7.

Следующей задачей будет работа в терминале Linux. Не пугайтесь, ничего трудного в этом нет. Для начала, получаем данные авторизации. Они будут в меню управления виртуальным сервером в разделе «Инструкция». Нас интересуют: IP-адрес сервера, Пользователь и Пароль. 

Теперь нам необходимо установить клиент для работы по SSH. Я пользуюсь Termius, он есть на все популярные платформы.

Переходим в раздел «Hosts» и выбираем «+ NEW HOST». В открывшемся окне заполняем данные из инструкции к серверу. Порт оставляем 22.

Настройка OpenVPN

Итак, теперь мы готовы к настройке нашего VPN сервера.

Инструкция взята из репозитория GitHub. Нам необходимо лишь 3 команды:

  • curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
  • chmod +x openvpn-install.sh
  • ./openvpn-install.sh

При установке вам будут предлагаться варианты выбора параметров. Можете всё время выбирать варианты по умолчанию.

После установки конфигурация будет находиться в директории /root/client.ovpn. Вам нужен любой клиент, который работает по SFTP-протоколу с сервером. Можете скачать программу FileZilla и загрузить с помощью неё файл с сервера. Конфиг для программы прикладываю ниже.

Для подключения к серверу по VPN-каналу качаем любой OpenVPN-клиент и импортируем туда нашу конфигурацию. Обратите внимание, что с текущими настройками вы не сможете подключить сразу несколько устройств к одной конфигурации. Чтобы сделать это, выполните команду: 

  • echo "duplicate-cn" >> /etc/openvpn/server.conf && systemctl restart openvpn-server@server.service

Отключение логов

Тут всё просто. Скопируйте и вставьте все команды ниже

  • echo "log /dev/null" >> /etc/openvpn/server.conf
  • echo "log-append /dev/null" >> /etc/openvpn/server.conf
  • systemctl restart openvpn-server@server.service
  • sed -i -r 's/authpriv.\*/#authpriv.\*/' /etc/rsyslog.conf
  • systemctl restart rsyslog.service
  • rm -f /var/log/wtmp
  • rm -f /var/log/lastlog

Теперь наш OpenVPN сервер готов к использованию!

В следующей части мы разберём установку WireGuard с веб-интерфейсом управления пользователями.



Материал написан Григоричем @JSDio специально для @osint_club

Знаешь, что ещё разместить на персональном сервере? Поделись со мной и, возможно, мы поделимся этим на нашем канале!

Report Page