Собственный VPN-сервер за 10 минут

  • Автор темы Автор темы Crocodile
  • Дата начала Дата начала

Crocodile

Активный пользователь
Регистрация
01.06.2025
Сообщения
2 106
Реакции
1 748
Баллы
113
Есть много причин использовать VPN: от классической задачи объединения нескольких удаленных сегментов локальной сети в одну виртуальную частную сеть или повышения собственной приватности в сети до получения доступа к заблокированным ресурсам.


Что нам понадобится​

Для создания VPN-сервера нам потребуется:

VPS в одном из европейских дата-центров. Из характеристик смотрим только на доступную ширину канала (желательно, чтобы она была не меньше скорости вашего домашнего интернета) и стоимость аренды в месяц. Количество ядер, объем оперативной памяти, емкость дискового хранилища и его производительность — все эти параметры VPS важны для веб-сервера, но совершенно не существенны для организации VPN-сервиса. Нам нужен только европейский IP-адрес, нормальная ширина интернет-канала и низкая стоимость аренды.

Минимальные навыки работы в консоли по SSH. Думаю, что для читателей моего блога это не составит проблемы, но если что — отсылаю к своей старой статье про удаленный доступ по SSH на примере Raspberry Pi, самые азы изложены в ней.

Наш приватный VPN-сервер будет поддерживать соединения по протоколам IPSec, L2TP over IPSec и IKEv2.

Почему не публичный VPN-сервис?​

У публичных VPN есть несколько недостатков:

  1. Роскомнадзор с переменным успехом ведет с ними борьбу. Например, популярный сервис Cloudflare WARP с некоторых пор перестал работать в России, а возможность использования Opera VPN в России и Беларуси год назад ограничили сами разработчики после получения предупреждений о блокировке сервиса со стороны сотрудников ведомства.
  2. Публичные VPN-сервисы собирают о вас информацию. Несмотря на то, что каждый VPN указывает приватность и конфиденциальность в качестве своих достоинств, было бы очень наивно предполагать, что они не ведут логи, не анализируют пользовательскую активность и не продают в дальнейшем эти данные третьим лицам.
  3. Публичные VPN-сервисы могут быть забанены на стороне отдельных сайтов. То же самое касается и exit-node сети Tor.
  4. Публичные VPN-сервисы могут резать скорость. А если речь идет о бесплатных тарифах, то скорость обязательно будет ограничиваться. Для веб-серфинга их использовать еще можно, но если, например, в будущем у нас заблокируют YouTube, то смотреть его через публичный VPN может оказаться уже проблематично.
Несмотря на все это, пользоваться публичными VPN вполне можно. Я и сам время от времени пользуюсь сервисом Windscribe. Но создание собственного приватного VPN обеспечит более высокий уровень удобства, позволит не зависеть от действий Роскомнадзора и даст дополнительные возможности в перспективе. Например, его можно использовать для удаленного доступа к Home Assistant или своему домашнему серверу.

Установка VPN-сервера​

После завершения процесса создания VPS подключаемся к серверу по SSH, используя доступы из админ-панели хостинга:

Посмотреть вложение 560706Сразу же обновляем все пакеты:

sudo apt update
sudo apt dist-upgrade

Скачиваем скрипт для развертывания VPN-сервера:

wget https://git.io/vpnsetup -O vpnsetup.sh

Открываем скачанный файл для редактирования:

sudo nano vpnsetup.sh

И вписываем в строку YOUR_IPSEC_PSK пароль из 20 символов, а в строки YOUR_USERNAME и YOUR_PASSWORD свой логин и пароль для VPN-соединения соответственно:

1666804264190.png



И запускаем процесс установки:

sudo sh vpnsetup.sh

Ждем окончания процесса и обращаем внимание на пути к файлам конфигурации:

1666804287323.png



Эти файлы потребуются для настройки VPN-туннеля по протоколу IKEv2, который мы и будем рассматривать далее в статье. Если же IKEv2 вам по какой-то причине не подходит, то в качестве альтернативы вы можете поднять VPN-соединение по протоколу IPSec, воспользовавшись теми данными для доступа, которые прописали ранее в скрипте vpnsetup.sh.

На этом процесс установки завершен, но поскольку наш VPS доступен извне всему интернету, в целях безопасности добавим в файрвол ufw правила, ограничивающие доступ ко всем портам кроме тех, которые планируем использовать:

sudo ufw allow ssh
sudo ufw allow OpenSSH
sudo ufw allow 500,4500/udp
sudo ufw allow 8181
sudo ufw enable

Это важно​

Не запускайте ufw до добавления правил, разрешающих доступ по SSH на 22 порт, иначе сразу после запуска файрвол разорвет действующее SSH-соединение и будет блокировать все последующие.
 
Продолжать не останавливаться
 
Назад
Верх