vpn сервер на linux
vpn сервер на linux
Собери надёжный vpn сервер на linux за 20 минут
Настройка vpn сервер на linux — не магия и не привилегия хакеров из фильмов. Это техническая задача, которую можно решить за вечер, если знать, где подводные камни и как их обойти. В этой статье — не просто «скопируй-вставь», а понимание: почему именно так, что сломается при смене провайдера и как не утечь в логи Ростелекома или МТС.
Почему «просто поставить OpenVPN» — плохая идея
Многие гайды начинаются с команды apt install openvpn и заканчиваются настроенным клиентом. Но они умалчивают о трёх вещах:
- Утечки DNS через systemd-resolved — даже при правильном конфиге трафик может уходить напрямую к провайдеру.
- Отсутствие kill switch — при разрыве соединения весь трафик летит в открытом виде.
- Неправильная политика маршрутизации — split tunneling без контроля = частичная деанонимизация.
Если вы используете Ubuntu 22.04 или новее, скорее всего, у вас включён systemd-resolved, который игнорирует /etc/resolv.conf. Это значит, что даже если вы прописали Google DNS в конфиге OpenVPN, система будет использовать DNS провайдера. Проверить это можно так:
resolvectl status
Если в выводе указан DNS вашего провайдера (например, 192.168.1.1 или 77.88.8.8 от Яндекса), ваш VPN не блокирует DNS-утечки.
WireGuard vs OpenVPN: кто быстрее, кто надёжнее?
Выбор протокола — ключевой этап. Вот как они отличаются на практике, а не в теории:
| Критерий | WireGuard | OpenVPN |
|---|---|---|
| Шифрование | ChaCha20 + Poly1305 | AES-256-GCM / AES-128-CBC |
| Установка соединения | < 100 мс | 1–3 секунды |
| Нагрузка на CPU | Минимальная (ядерный модуль) | Выше (userspace + OpenSSL) |
| Поддержка NAT | Отличная | Требует дополнительных настроек |
| Обход DPI (Роскомнадзор) | Требует obfs4 или UDP-over-TCP | Легко маскируется под HTTPS |
| Аудит безопасности | Cure53 (2020), Quarkslab (2023) | Неоднократно, но с уязвимостями |
WireGuard добавляет в среднем 5–8 мс пинга и сохраняет 95–98% от исходной скорости канала. OpenVPN — 20–50 мс и 70–85% скорости, особенно при использовании TCP.
Однако в условиях активного DPI (глубокой инспекции пакетов), как в России с 2022 года, «голый» WireGuard может блокироваться. Решение — использовать obfs4proxy или запускать его поверх Shadowsocks. Это не делает его менее безопасным, но усложняет настройку.
Чего вам НЕ говорят в других гайдах
Большинство инструкций молчат о реальных рисках. Вот что скрывают:
- Бесплатные VPS — это ловушка
Сервисы вроде Oracle Cloud Free Tier или AWS Free Tier позволяют развернуть сервер бесплатно. Но: - Они требуют привязки банковской карты.
- При подозрении на торрент-трафик (даже легальный) — мгновенный бан.
-
Логируют IP-адреса подключений и могут передавать их по запросу.
-
«No logs» — не всегда правда
Даже если вы сами управляете сервером, ядро Linux по умолчанию логирует: - Время подключения (
/var/log/auth.log) - IP-адреса (
journalctl -u wg-quick@wg0) - Данные о сетевых интерфейсах
Чтобы минимизировать логи, нужно:
- Отключить rsyslog или настроить его на запись только в RAM (tmpfs).
- Использовать loglevel 0 в конфигах WireGuard.
- Регулярно очищать journalctl --vacuum-time=1h.
- Kill switch — не работает «из коробки»
В большинстве дистрибутивов нет автоматической блокировки трафика при отвале VPN. Без ручной настройкиiptablesилиnftablesвы останетесь без защиты.
Пример простого kill switch для WireGuard на Debian:
Блокируем весь исходящий трафик, кроме через wg0
iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o wg0 -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Но! При перезагрузке эти правила сбросятся, если не сохранить их через iptables-persistent.
-
WebRTC всё равно утечёт
Даже при идеальном VPN браузер может раскрыть ваш реальный IP через WebRTC. Это не проблема сервера, но пользователя. Решение — отключить WebRTC в Firefox (media.peerconnection.enabled = false) или использовать расширения в Chrome. -
Юрисдикция не важна… пока не станет важной
Если ваш VPS находится в Германии, а вы — в РФ, Роскомнадзор может потребовать данные у хостера. Немецкие компании обязаны сотрудничать с Europol. Нет «абсолютно безопасной» юрисдикции — есть степень риска.
Пошаговая настройка: WireGuard на Ubuntu 22.04
⚠️ Требуется VPS с публичным IPv4 и открытым UDP-портом (обычно 51820).
Шаг 1. Установка
sudo apt update && sudo apt install wireguard resolvconf -y
Шаг 2. Генерация ключей
cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 600 privatekey
Шаг 3. Конфиг сервера (/etc/wireguard/wg0.conf)
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = ваш_приватный_ключ
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
Замените
eth0на ваш внешний интерфейс (ip aпокажет его имя).
Шаг 4. Включение IP forwarding
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Шаг 5. Запуск и автозагрузка
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0
Шаг 6. Настройка клиента
Генерируйте клиентский ключ так же, как серверный. Конфиг клиента:
[Interface]
PrivateKey = ваш_клиентский_приватный_ключ
Address = 10.8.0.2/24
DNS = 1.1.1.1
[Peer]
PublicKey = публичный_ключ_сервера
AllowedIPs = 0.0.0.0/0
Endpoint = ваш_vps_ip:51820
PersistentKeepalive = 25
Как проверить, что всё работает
- Утечки IP: зайдите на ipleak.net — должен отображаться IP вашего VPS.
- DNS-утечки: на том же сайте проверьте DNS — должен быть тот, что вы указали (например,
1.1.1.1). - WebRTC: browserleaks.com/webrtc — реальный IP не должен светиться.
- Kill switch: отключите интерфейс
wg0(sudo wg-quick down wg0) и попробуйте открыть сайт. Должно быть «нет подключения».
Если всё прошло — поздравляю, ваш vpn сервер на linux действительно защищает.
Сравнение популярных решений (2026)
| Параметр | Самостоятельный сервер | ProtonVPN | Mullvad | Hola Free | Outline (Jigsaw) |
|---|---|---|---|---|---|
| Цена (в месяц) | от 250 ₽ (VPS) | от $10 | €5 | бесплатно | бесплатно |
| Юрисдикция | зависит от VPS | Швейцария | Швеция | Израиль | США |
| Политика логов | вы контролируете | no logs | no logs | продаёт трафик | частичные логи |
| Протоколы | WG, OpenVPN, IPsec | WG, OpenVPN | WG | собственный P2P | Shadowsocks |
| Скорость (на 100 Мбит/с) | 95–98 Мбит/с | 70–85 | 80–90 | 5–15 | 60–75 |
| Защита от DPI (РФ) | требуется доп. настройка | есть | есть | нет | частично |
💡 Hola Free в 2023 году был замечен в продаже пользовательского трафика рекламодателям. Outline — продукт Google, логирует метаданные.
Когда стоит использовать свой сервер, а когда — нет
✅ Свой vpn сервер на linux выгоден, если:
- Вы часто скачиваете торренты (и готовы нести риски хостера).
- Вам нужен статический IP для удалённой работы.
- Вы доверяете только своему коду.
- Хотите полный контроль над шифрованием и маршрутизацией.
❌ Лучше взять коммерческий VPN, если:
- Вы в РФ и боитесь блокировок (многие хостеры блокируют порты).
- Не хотите разбираться с iptables и логами.
- Нужна защита на мобильных устройствах «из коробки».
- Требуется обход DPI без ручной настройки obfs4.
VPN замедляет интернет на сколько реально?
Зависит от протокола и расстояния до сервера. WireGuard на локальном VPS (Москва) снижает скорость на 2–5%. OpenVPN на сервере в Амстердаме — на 20–30%. Пинг растёт пропорционально географическому расстоянию: Москва → Франкфурт ≈ +35 мс.
Меня найдёт спецслужба при использовании VPN?
Если вы используете свой сервер и не оставляете цифровых следов (логины, платежи, cookies), шанс минимальный. Но если вы входите в аккаунты, привязанные к реальному имени, VPN не спасёт. Также учтите: в РФ использование VPN для доступа к запрещённым ресурсам может повлечь административную ответственность по ст. 13.41 КоАП.
WireGuard или OpenVPN — что безопаснее?
Оба используют проверенные алгоритмы шифрования. WireGuard проще, меньше кода — меньше уязвимостей. OpenVPN гибче, но сложнее настраивать. С точки зрения криптографии — ничья. Но WireGuard поддерживает perfect forward secrecy «из коробки», а OpenVPN — только при правильной настройке TLS.
Можно ли запустить vpn сервер на linux на домашнем ПК?
Технически — да. Но большинство российских провайдеров (Ростелеком, МТС, Билайн) блокируют входящие подключения на порты 80, 443, 51820 и др. Кроме того, у вас динамический IP, и без DDNS сервер будет недоступен. Лучше использовать VPS.
Нужен ли мне IPv6 при настройке VPN?
Если вы не используете IPv6 в локальной сети — отключите его. Иначе возможны утечки: трафик может уйти через IPv6, минуя VPN. В WireGuard просто не указывайте IPv6-адреса в конфиге. В OpenVPN добавьте `pull-filter ignore "route-ipv6"`.
Что делать, если Роскомнадзор начал блокировать мой VPS-IP?
Смените IP у хостера (часто бесплатно раз в месяц). Или используйте обфускацию: запустите WireGuard поверх TLS (stunnel) или используйте Shadowsocks. Это усложнит обнаружение трафика как VPN.
Вывод
vpn сервер на linux — это не просто способ «разблокировать YouTube». Это инструмент цифрового суверенитета: вы решаете, кто видит ваш трафик, как он шифруется и куда направляется. Но свобода требует ответственности. Нельзя просто «поставить и забыть» — нужно тестировать утечки, настраивать kill switch, минимизировать логи и понимать ограничения протоколов.
Если вы готовы потратить пару часов на настройку и регулярную проверку — ваш собственный сервер будет надёжнее любого бесплатного сервиса и дешевле большинства коммерческих. Главное — не верить «волшебным» гайдам без объяснения принципов. Безопасность строится на понимании, а не на копипасте.
This is a useful reference; the section on max bet rules is practical. Nice focus on practical details and risk control. Good info for beginners.