Как я создал собственный VPN за 30 минут: пошаговая инструкция

Как я создал собственный VPN за 30 минут: пошаговая инструкция

Недавно решил отказаться от сторонних VPN-сервисов и поднять свой VPN на VPS-сервере. Оказалось, что самое сложное — выбрать хороший сервер. Сама настройка заняла меньше получаса.

Для начала я арендовал VPS с Ubuntu. Для личного использования достаточно 1 ГБ оперативной памяти и одного виртуального процессора. Главное — выбирать провайдера с хорошим каналом и стабильной сетью. Я выбрал этого.

1. Подключение к серверу

ssh root@IP_СЕРВЕРА

2. Обновление системы

apt update && apt upgrade -y

3. Установка WireGuard

apt install wireguard -y

4. Создание ключей сервера

wg genkey | tee privatekey | wg pubkey > publickey

  • privatekey — приватный ключ сервера
  • publickey — публичный ключ сервера

5. Создание конфигурации VPN-сервера

Открываем файл:

nano /etc/wireguard/wg0.conf

Вставляем:

[Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = ВАШ_PRIVATE_KEY

PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

6. Включаем маршрутизацию

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

7. Запуск WireGuard

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

8. Проверка работы

wg show

Настройка VPN клиента (телефон / ПК)

1. Генерация ключей клиента

wg genkey | tee client.key | wg pubkey > client.pub

2. Конфигурация клиента

Создаём файл client.conf:

[Interface] PrivateKey = CLIENT_PRIVATE_KEY Address = 10.0.0.2/24

[Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = IP_СЕРВЕРА:51820 AllowedIPs = 0.0.0.0/0 PersistentKeepalive = 25

3. Добавление клиента на сервер

На сервере нужно добавить peer в /etc/wireguard/wg0.conf:

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

и перезапустить:

systemctl restart wg-quick@wg0

4. Подключение клиента

Дальше есть 2 варианта:

  • импортировать client.conf в WireGuard
  • или сделать QR-код:

apt install qrencode -y
qrencode -t ansiutf8 < client.conf

5. Подключение

В приложении WireGuard:

  • Import tunnel
  • выбрать файл или QR
  • включить VPN

Весь процесс занимает около 20–30 минут. Самое важное — не настройка, а выбор нормального VPS. От него напрямую зависит скорость и стабильность VPN.

Всю инструкцию я выполнял на сервере тут. Он нормально тянет WireGuard без лагов и подходит даже для нескольких устройств одновременно.

1