Самостоятельный хостинг VPN на VPS

konstrukt

МИГАЛКИ КЛУБ
Проверенный продавец
Продавец
Подтвержденный
Регистрация
19.09.18
Сообщения
844
Реакции
37
Продаж
3
Telegram
Всем привет. Сегодня хочу разобрать тему самостоятельного хостинга VPN — почему это в ряде сценариев лучше коммерческого провайдера, как это делается технически и где у этого подхода реальные ограничения.

Почему свой VPN а не коммерческий

Коммерческий VPN решает конкретную задачу — переносит доверие с провайдера интернета на VPN-провайдера. Это полезно, но у этого подхода есть фундаментальное ограничение: вы всё равно доверяете третьей стороне. Провайдер может логировать трафик несмотря на заявления о no-log политике, может получить юридический запрос, может быть скомпрометирован.

Свой VPN на VPS решает другую задачу — вы контролируете сервер полностью. Нет третьей стороны которой нужно доверять на уровне логирования. Вы сами решаете что писать в логи и что нет.

Важная честная оговорка: свой VPN не даёт анонимности — VPS арендован на ваше имя или на карту привязанную к вам, и IP сервера уникален для вас. Это инструмент для шифрования трафика и обхода блокировок, а не для анонимности. Для анонимности — Tor.

Выбор протокола

WireGuard — современный выбор. Кодовая база в десятки раз меньше чем у OpenVPN (около 4000 строк против 400 000), что означает меньшую поверхность атаки и проще аудит. Значительно быстрее по производительности, встроен в ядро Linux начиная с версии 5.6. Единственный минус — UDP-only, что теоретически легче детектировать и заблокировать через DPI.

OpenVPN — старый проверенный вариант. Может работать поверх TCP на порту 443, что делает трафик практически неотличимым от обычного HTTPS — это важно в странах с активной блокировкой VPN. Медленнее WireGuard, сложнее в настройке.

Выбор VPS и юрисдикции

Юрисдикция важна потому что определяет под какие законы попадает сервер при юридическом запросе. Популярные варианты с точки зрения приватности — Швейцария, Исландия, Нидерланды, Панама. Провайдеры: Mullvad VPS, 1984 Hosting (Исландия), FlokiNET.

Оплата — идеально Monero или Bitcoin через обменник без KYC чтобы не связывать личность с сервером. Часть провайдеров принимает крипту напрямую.

Минимальные характеристики для личного VPN: 1 CPU, 512 МБ RAM, 10 ГБ диска — этого более чем достаточно.

Установка WireGuard — максимально быстрый путь

Самый простой способ развернуть WireGuard на чистом сервере Ubuntu/Debian — скрипт от Nyr который автоматизирует всю настройку:
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
./wireguard-install.sh


Скрипт задаст несколько вопросов — IP сервера, порт, DNS — и сгенерирует конфигурационный файл и QR-код для подключения клиента. Весь процесс занимает 5-10 минут.

Для ручной настройки без скрипта последовательность такая:

Установка пакета:

apt update && apt install wireguard -y


Генерация ключей сервера:

wg genkey | tee /etc/wireguard/server_private.key | wg pubkey > /etc/wireguard/server_public.key


Создание конфигурации сервера в /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = <приватный ключ сервера>
Address = 10.0.0.1/24
ListenPort = 51820
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

[Peer]
PublicKey = <публичный ключ клиента>
AllowedIPs = 10.0.0.2/32


Включение форвардинга пакетов:

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


Запуск и автозапуск:

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


Установка OpenVPN через скрипт

Для OpenVPN аналогично есть автоматизированный скрипт:

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


Генерирует .ovpn файл для клиента. Для маскировки под HTTPS — выбрать порт 443 и протокол TCP при настройке.

Усиление безопасности сервера

После базовой установки обязательно несколько шагов:

Отключить вход по паролю через SSH — только ключи:

sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh


Установить fail2ban против брутфорса:

apt install fail2ban -y
systemctl enable fail2ban


Настроить файрвол — разрешить только нужные порты:

ufw allow 22/tcp
ufw allow 51820/udp
ufw enable


Автоматические обновления безопасности:

apt install unattended-upgrades -y
dpkg-reconfigure unattended-upgrades


Минималистичная политика логов

По умолчанию система пишет логи. Для минимизации следов — отключить или ограничить системные логи:

# Ограничить размер и время хранения journald логов
sed -i 's/#SystemMaxUse=/SystemMaxUse=50M/' /etc/systemd/journald.conf
sed -i 's/#MaxRetentionSec=/MaxRetentionSec=1week/' /etc/systemd/journald.conf
systemctl restart systemd-journald


В самом WireGuard по умолчанию нет логирования соединений — это одно из его архитектурных преимуществ.

Где свой VPN проигрывает коммерческому

Один IP уникален для вас — коммерческий VPN даёт IP который делят тысячи пользователей, что само по себе даёт некоторую защиту через размытие в толпе. На своём VPS весь трафик с этого IP однозначно ваш.

Обслуживание — обновления, мониторинг, устранение неполадок лежат на вас.

Нет защиты от компрометации на уровне дата-центра — если дата-центр скомпрометирован или получил юридический запрос, ваш сервер в зоне риска.

Итоговый вывод

Свой VPN на VPS — правильный инструмент для шифрования трафика от провайдера и обхода блокировок с полным контролем над инфраструктурой. Неправильный инструмент для анонимности — для этого Tor. Комбинация своего VPN плюс Tor поверх него даёт и шифрование и анонимность, но это отдельная тема настройки.

Интересно услышать у кого свой VPS стоит на постоянной основе — какую юрисдикцию выбрали и почему, и был ли реальный опыт с запросами к провайдеру.
 
Сверху Снизу