Гайд

Запустите свой VPN на оффшорном VPS

Коммерческие VPN просят доверять политике отсутствия логов, написанной их маркетинговым отделом. Ваш собственный VPS логирует только то, что вы настроили. Вот полная настройка WireGuard — и честный список компромиссов.

Почему self-hosted лучше коммерческого VPN

«Отсутствие логов» у коммерческого VPN — это политика. Отсутствие логов на вашем VPS — это архитектура. Эта разница важнее любого аудиторского значка:

  • VPN-провайдер видит всё по определению. Трафик тысяч пользователей завершается на серверах, которые компания полностью контролирует. Закрытое постановление плюс тихое изменение политики логирования невидимы для вас — и такое уже случалось, у провайдеров, о которых вы слышали.
  • На своём VPS вы контролируете весь стек. Ваш sshd, ваш диск, ваша конфигурация WireGuard. Мы не запускаем ничего внутри вашей гостевой системы и не храним журналов активности или подключений на сетевой стороне. Мы не видим внутрь вашего VPS; VPN-компания определяется тем, что видит внутрь своего туннеля.
  • Юрисдикция работает на вас. Ваша точка выхода находится там, где вы её развернули — вне разведывательных альянсов, если выберете такую локацию, и подчиняется судам юрисдикции хостинга, а не стране регистрации VPN-компании.

И честная обратная сторона: self-hosted VPN имеет выделенный IP, который принадлежит только вам. Сайты не пометят его как VPN (реальное улучшение качества жизни), но весь ваш трафик идёт с одного адреса — вы не растворяетесь в толпе из тысяч. Если нужно скрыться в толпе — используйте Tor. Если нужна надёжная инфраструктура — ничто не заменит сервер, который вы контролируете.

Что мы собираем

Телефон и ноутбук → туннель WireGuard → SV-Pro в выбранной локации → открытый интернет. IPv4 forwarding с NAT на сервере, full-tunnel маршрутизация на клиентах (0.0.0.0/0), DNS через 9.9.9.9. Пример IP сервера: 185.220.101.14 — подставьте свой. Базовая ОС — Debian 13; если вы ещё не укрепили сервер, сначала пройдите чек-лист на 30 минут , затем возвращайтесь.

Настройка сервера на Debian 13

Установка и генерация ключей

apt update && apt install -y wireguard qrencode

cd /etc/wireguard
umask 077

# server keypair
wg genkey | tee server.key | wg pubkey > server.pub

# one keypair per client device (laptop shown; repeat for phone)
wg genkey | tee laptop.key | wg pubkey > laptop.pub

Генерация клиентских ключей на сервере допустима для первой настройки, так как конфиги всё равно передаются по SSH. Для более строгой гигиены генерируйте ключи на каждом устройстве и вставляйте в конфиг сервера только публичные ключи.

Пишем wg0.conf

# /etc/wireguard/wg0.conf
[Interface]
Address    = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>
PostUp     = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown   = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# laptop
[Peer]
PublicKey  = <contents of laptop.pub>
AllowedIPs = 10.10.0.2/32

# phone — repeat the block with 10.10.0.3/32

Проверьте имя uplink-интерфейса командой ip route | grep default — на образах VPSRento это eth0, но если у вас другое, поправьте строки MASQUERADE.

Включаем forwarding и запускаем

# turn on IPv4 forwarding, persist across reboots
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-wireguard.conf
sysctl -p /etc/sysctl.d/99-wireguard.conf

# firewall: one UDP port, nothing else
ufw allow 51820/udp comment 'WireGuard'

# bring it up, now and on boot
systemctl enable --now wg-quick@wg0
wg show

wg show должен показать интерфейс, порт прослушивания и ваших пиров. Строк handshake пока нет — они появятся, когда клиент подключится.

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

На ноутбуке — laptop.conf:

[Interface]
PrivateKey = <contents of laptop.key>
Address    = 10.10.0.2/32
DNS        = 9.9.9.9

[Peer]
PublicKey           = <contents of server.pub>
AllowedIPs          = 0.0.0.0/0, ::/0
Endpoint            = 185.220.101.14:51820
PersistentKeepalive = 25

AllowedIPs = 0.0.0.0/0, ::/0 маршрутизирует весь трафик через туннель — позже можно переключить на split tunnel, если понадобится. PersistentKeepalive поддерживает соединение через домашний NAT. Для телефона ничего не вводите: сгенерируйте файл конфигурации телефона на сервере и отобразите его как QR-код в терминале:

# prints a scannable QR in the terminal — scan it with the WireGuard app
qrencode -t ansiutf8 < phone.conf

Активируйте, затем проверьте с любого клиента: curl ifconfig.me должен вернуть IP вашего VPS, а тест на утечку DNS должен показать оператора 9.9.9.9 — не вашего провайдера.

Замечания по производительности

WireGuard работает в ядре и использует ChaCha20 — на узлах AMD EPYC один туннель реально передаёт 600–900 Мбит/с через NAT, то есть насыщает порт задолго до того, как нагрузит процессор. Узким местом никогда не является шифр; это условия по пропускной способности в тарифе. VPN — это чистый трафик: каждый скачанный гигабайт считается один раз на входе и один раз на выходе. На тарифах с лимитом трафика эта арифметика важна. На SV-Pro — $19.99/мес, безлимит на 1 Гбит/с — не имеет, поэтому SV-Pro мы рекомендуем для сборки VPN. Один клиент держит всю семью на одном SV-Pro в Амстердаме и до сих пор не упёрся в потолок.

Мультихоп: вход в Амстердаме, выход в Рейкьявике

Для второго слоя соедините два VPS в разных юрисдикциях. Входной узел в Нидерландах (низкая задержка до вас), туннель WireGuard между серверами, выходной узел в Исландии (юрисдикция, из которой вы хотите, чтобы исходил трафик). Ваши устройства видят одну точку в Амстердаме; интернет видит IP в Рейкьявике; входной узел видит только шифротекст. Механически это те же конфиги, что вы уже написали, дважды — второй wg интерфейс на входном узле, чей маршрут по умолчанию указывает на выходной туннель. Цена — примерно 40–60 мс дополнительной задержки и ещё один $5.99–6.89 VPS. Это оправдано, когда у вашей модели угроз есть бюджет; декорация, когда нет.

Честные ограничения

  • Теперь вы оператор. Обновления, ротация ключей и аптайм — на вас. unattended-upgrades и чек-лист по усилению покрывают большую часть; остальное — редкий apt upgrade по воскресеньям.
  • Один IP — одна личность. Наблюдатели могут коррелировать всё, что выходит с вашего адреса. Когда это важно, переразверните в другом месте — через 55 секунд у вас свежий выход и свежий IP, проверенный по 40+ чёрным спискам.
  • VPS — это не Tor. Эта настройка защищает вас от провайдера, от враждебного Wi-Fi и от VPN-компаний. Против государственного противника, наблюдающего за обоими концами туннеля, существует корреляция по времени. Знайте, в каком бою вы участвуете.

Ваш туннель. Ваши логи: никаких.

SV-Pro — 4 vCPU, 8 ГБ RAM, безлимитный 1 Gbps — выбор создателей VPN за $19.99/мес. Root за 55 секунд.

Русский