KOZH.org » Гайды » Хватит платить за VPN! Защищенный и быстрый: Как развернуть собственный VPN-сервер
Хватит платить за VPN! Защищенный и быстрый: Как развернуть собственный VPN-сервер

Хватит платить за VPN! Защищенный и быстрый: Как развернуть собственный VPN-сервер


Устали от ограничений публичных VPN-сервисов? Сомневаетесь в их политике \"без логов\"? Хотите получить максимальную скорость и полный контроль над своим интернет-трафиком? Тогда этот гайд для вас.

Сегодня мы с вами поднимем собственный VPN-сервер на VPS/VDS. Это звучит сложно, но на деле весь процесс займет не более 15 минут. Мы будем использовать современный и невероятно быстрый протокол WireGuard, который легко настраивается и обеспечивает отличную безопасность.

Почему свой VPN — это отличная идея?

  • Конфиденциальность: Вы доверяете трафик только своему серверу.
  • Скорость: Вам не приходится делить канал с тысячами других пользователей.
  • Обход блокировок: Доступ к нужным ресурсам из-за границы или с \"белого\" IP-адреса.
  • Без лимитов: Никаких ограничений по трафику, кроме тех, что предоставляет ваш VPS-провайдер.
  • Полный контроль: Вы сами решаете, какие логи вести (а лучше не вести их вовсе).

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

  1. VPS/VDS-сервер. Подойдет самый дешевый тариф от любого провайдера (например, DigitalOcean, Vultr, TimeWeb, Selectel). Достаточно 1 ядра, 1 ГБ оперативной памяти и 10-20 ГБ места на SSD. Важно: Выбирайте сервер в том регионе, который вам нужен (например, Нидерланды, Германия, США). Операционная система – Ubuntu 20.04 LTS или новее.
  2. SSH-клиент. Для подключения к серверу (встроен в Linux/macOS, для Windows используйте PuTTY или WSL).
  3. Любое устройство, на котором вы будете использовать VPN (смартфон, ноутбук).

Шаг 1: Подключаемся к серверу

Откройте терминал и подключитесь к вашему серверу по SSH. Замените your_server_ip на реальный IP-адрес вашего VPS.

 ssh root@your_server_ip

Шаг 2: Подготовка сервера

Первым делом обновляем список пакетов и устанавливаем все доступные обновления для безопасности.

 sudo apt update && sudo apt upgrade -y

После обновления может потребоваться перезагрузка. Сделайте ее командой sudo reboot.

Шаг 3: Установка WireGuard

WireGuard есть в официальных репозиториях Ubuntu. Установка очень проста:

 sudo apt install wireguard -y

Эта команда установит все необходимые компоненты.

Шаг 4: Генерация ключей

WireGuard использует пары криптографических ключей для обеспечения безопасности. Сгенерируем их для сервера.

  1. Переходим в нужную директорию:

     cd /etc/wireguard/
  2. Генерируем приватный ключ и задаем ему правильные права доступа (чтобы его никто не смог прочитать):

     umask 077
    wg genkey > server-private.key
  3. На основе приватного ключа генерируем публичный ключ:

     wg pubkey < server-private.key > server-public.key

Шаг 5: Настройка сервера WireGuard

Создадим конфигурационный файл для нашего VPN-сервера.

 sudo nano /etc/wireguard/wg0.conf

Вставьте в этот файл следующую конфигурацию. Вам нужно будет заменить два значения:

  • <contents-of-server-private.key> — содержимое файла server-private.key (посмотрите его командой cat server-private.key).
  • your_server_ip — реальный публичный IP-адрес вашего VPS-сервера.
 
PrivateKey = <contents-of-server-private.key>
Address = 10.0.0.1/24
SaveConfig = false
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# Клиент №1 (ваше устройство)
[Peer]
PublicKey = <СКОРО_МЫ_ЕГО_СГЕНЕРИРУЕМ>
AllowedIPs = 10.0.0.2/32
  • Address = 10.0.0.1/24 — это внутренний IP-адрес нашего VPN-сервера.
  • ListenPort = 51820 — порт, который будет слушать WireGuard.
  • Строки PostUp и PostDown настраивают проброс трафика (NAT), чтобы ваш устройство могло выходить в интернет через сервер.
  • В секции [Peer] мы позже добавим публичный ключ вашего устройства.

Включаем проброс пакетов в системе:

 echo \'net.ipv4.ip_forward=1\' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Шаг 6: Настройка фаервола

Нужно открыть порт для WireGuard. Если используете ufw (простой фаервол), выполните:

 sudo ufw allow 51820/udp
sudo ufw allow ssh
sudo ufw enable

Шаг 7: Запуск WireGuard

Запускаем наш VPN-интерфейс и включаем его автозапуск при загрузке системы.

 sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0

Проверить, что он работает, можно командой: sudo wg show.


Шаг 8: Настройка клиента (вашего устройства)

Теперь нужно подключить ваше устройство к серверу. Процесс похож на настройку сервера.

На клиенте (например, на вашем ноутбуке с Linux) генерируем свою пару ключей:

 umask 077
wg genkey > client-private.key
wg pubkey < client-private.key > client-public.key

Теперь возвращаемся на сервер. Нам нужно добавить клиент в конфигурацию сервера. Откройте файл wg0.conf снова.

 sudo nano /etc/wg0.conf

В секции [Peer] замените PublicKey на содержимое файла client-public.key (который вы только что создали на клиенте).

 [Peer]
PublicKey = <contents-of-client-public.key>
AllowedIPs = 10.0.0.2/32

Перезагрузите интерфейс WireGuard на сервере, чтобы применить изменения:

 sudo systemctl restart wg-quick@wg0

Создаем конфиг для клиента. Создайте файл client.conf на своем компьютере и заполните его по образцу. Замените:

  • <contents-of-client-private.key> на ваш client-private.key.
  • <contents-of-server-public.key> на содержимое файла server-public.key (лежит на сервере в /etc/wireguard/).
  • your_server_ip на IP вашего VPS.
 [Interface]
PrivateKey = <contents-of-client-private.key>
Address = 10.0.0.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = <contents-of-server-public.key>
Endpoint = your_server_ip:51820
AllowedIPs = 0.0.0.0/0

Шаг 9: Подключение

  • На Windows/macOS: Скачайте официальный клиент WireGuard, импортируйте в него файл client.conf и активируйте подключение.
  • На Linux (в терминале): sudo wg-quick up /path/to/client.conf
  • На Android/iOS: Установите приложение WireGuard из магазина, отсканируйте QR-код (если вы сгенерируете его из client.conf) или импортируйте файл.

Комментариев нет

Чтобы оставить комментарий, необходимо на сайте.
Кликните на изображение чтобы обновить код, если он неразборчив
Лента
Каналы
Видео
Общение
+