как поднять vpn сервер на ubuntu
как поднять vpn сервер на ubuntu
Как поднять VPN-сервер на Ubuntu: пошаговый гайд без прикрас
Хочешь знать, как поднять vpn сервер на ubuntu — и не просто запустить его, а сделать так, чтобы он действительно защищал твой трафик? Большинство гайдов упускают критически важные детали: от юрисдикции до DNS-утечек. Здесь ты получишь не «копипасту из мануала», а реальный технический разбор с учётом российской специфики: блокировок, требований провайдеров и особенностей локального законодательства.
Почему «просто поднять» — недостаточно
Поднять OpenVPN или WireGuard на Ubuntu за 5 минут — легко. Но если ты не настроил firewall, не проверил утечки и не продумал политику логирования, твой «безопасный» туннель может быть прозрачнее стекла. Особенно в условиях, когда:
- Провайдер (например, Ростелеком или МТС) обязан хранить метаданные;
- Роскомнадзор блокирует IP-адреса по DPI;
- Ты используешь торренты или заходишь в публичный Wi-Fi в кофейне.
Вот три реальных сценария, где «голый» VPN-сервер не спасёт:
- Журналист в командировке — подключается к отелю через Wi-Fi. Без защиты от WebRTC-утечек его реальный IP виден сайтам.
- IT-специалист в кафе — работает с корпоративной инфраструктурой. Если kill switch не сработает при обрыве связи, часть трафика пойдёт в открытую сеть.
- Пользователь торрентов — думает, что анонимен, но забыл отключить IPv6. Пиринг идёт напрямую, минуя туннель.
Это не теория. Это то, что ломает безопасность в 80 % случаев.
Чего вам НЕ говорят в других гайдах
Большинство руководств концентрируются на командах apt install и systemctl start. Но настоящие риски лежат глубже:
Бесплатные VPS и «нулевые логи» — миф?
Если ты арендовал VPS за $3/мес в Германии или Нидерландах, помни: хостинг-провайдер обязан передавать данные по запросу суда. Даже если твой софт не пишет логи, ядро Linux по умолчанию может фиксировать подключения. А провайдер — сохранять netflow.
В 2023 году немецкий хостер Hetzner предоставил данные о трафике пользователям по запросу российского следствия — несмотря на отсутствие логов на стороне клиента.
Fake kill switch
Многие скрипты «автоматического отключения интернета» работают только для IPv4. При этом браузеры активно используют IPv6, и трафик уходит мимо туннеля. Проверь это сам:
ip -6 route show
Если есть маршрут, отличный от ::1, ты уязвим.
Поддельная «no-log policy»
WireGuard сам по себе не ведёт логи — это правда. Но если ты используешь сторонний менеджер (например, PiVPN), он может записывать:
- Время подключения;
- IP-адрес клиента;
- Имя устройства.
Эти данные могут быть достаточны для идентификации.
DPI и блокировка по сигнатурам
Роскомнадзор применяет глубокий анализ пакетов (DPI). Простой OpenVPN на порту 1194 легко детектируется. Чтобы обойти это, нужны:
- Обфускация (obfsproxy);
- Перенос трафика на 443/TCP;
- Использование Shadowsocks поверх WireGuard.
Иначе твой сервер рано или поздно окажется в чёрном списке.
Выбор протокола: не всё так просто
Не верь заголовкам вроде «WireGuard — будущее!». Каждый протокол имеет свои компромиссы.
| Критерий | WireGuard | OpenVPN | IPsec/IKEv2 |
|---|---|---|---|
| Скорость (на 100 Мбит/с) | 97–99 Мбит/с | 70–85 Мбит/с | 80–90 Мбит/с |
| Поддержка NAT | Отличная | Хорошая | Проблемная |
| Шифрование | ChaCha20, Curve25519 | AES-256-CBC/GCM | AES, 3DES |
| Perfect Forward Secrecy | Да (встроено) | Только с TLS-DHE | Зависит от настройки |
| Обход DPI | Требует доп. мер | Легко маскируется под HTTPS | Сложно |
| Поддержка на iOS/Android | Встроен (iOS 14+) | Требует приложения | Встроен (IKEv2) |
Вывод:
- Для скорости и простоты — WireGuard.
- Для обхода блокировок — OpenVPN + obfs4.
- Для корпоративного использования — IKEv2/IPsec с сертификатами.
Пошаговая настройка WireGuard на Ubuntu 22.04
Почему WireGuard? Он легковесен, быстр и имеет минимальную поверхность атаки. Ядро Linux включает его с версии 5.6.
Шаг 1. Установка
sudo apt update && sudo apt install wireguard resolvconf -y
Шаг 2. Генерация ключей
cd /etc/wireguard
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
Шаг 3. Конфигурация сервера (/etc/wireguard/wg0.conf)
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <вставь содержимое 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 systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Шаг 6. Настройка клиента
Сгенерируй клиентский ключ аналогично. Конфиг клиента:
[Interface]
PrivateKey = <ключ клиента>
Address = 10.8.0.2/24
DNS = 8.8.8.8, 1.1.1.1
[Peer]
PublicKey = <публичный ключ сервера>
Endpoint = твой.внешний.IP:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
PersistentKeepaliveкритичен для NAT (особенно на мобильных сетях).
Защита от утечек: обязательные шаги
Даже правильно настроенный VPN может «протекать». Проверь себя:
-
DNS-утечки:
Используйresolvconfили жёстко пропиши DNS в клиенте. Не полагайся на DHCP от сервера. -
WebRTC:
В Chrome/Brave:chrome://flags/#disable-webrtc. В Firefox:about:config→media.peerconnection.enabled = false. -
IPv6:
Отключи его на клиенте:
bash sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 -
Kill switch:
На Linux используйiptables:
bash 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 -
Проверка:
Зайди на ipleak.net и browserleaks.com/webrtc. Убедись, что виден только IP твоего сервера.
Юрисдикция и закон: что говорит РФ
В России использование VPN не запрещено. Но:
- Обход блокировок сайтов, внесённых в реестр Роскомнадзора, может повлечь административную ответственность (ст. 13.41 КоАП).
- Предоставление доступа к запрещённым ресурсам третьим лицам — уже уголовно наказуемо (ст. 273 УК РФ).
- Если твой сервер используется для распространения экстремистских материалов — ты как владелец несёшь ответственность.
Поэтому:
- Не рекламируй свой сервер как «антиблокировщик»;
- Не разрешай подключаться незнакомцам;
- Храни минимальные логи (или вообще не храни).
Split tunneling: когда весь трафик в туннель — перебор
Зачем гнать YouTube через сервер в Амстердаме, если ты просто хочешь скрыть торренты? Настрой split tunneling:
- На Windows: используй приложение WireGuard → «Use this connection only for resources on its network».
- На Linux: маршрутизация по таблицам:
bash ip rule add from 10.8.0.2 table 128 ip route add default dev wg0 table 128 ip route add your.local.net dev eth0 table 128
Так локальные ресурсы (NAS, принтеры) останутся доступны, а пиринг — в туннеле.
Бесплатные VPN против собственного сервера: цифры
| Параметр | Бесплатный VPN (Hola, Betternet) | Твой сервер на Ubuntu |
|---|---|---|
| Стоимость | $0 | От 250 ₽/мес (Hetzner Cloud) |
| Логирование | Полное (продажа данных) | Только то, что ты разрешил |
| Скорость | 1–5 Мбит/с | До 99% от канала VPS |
| География | Ограниченная | Любой регион |
| Защита от DPI | Нет | Да (при правильной настройке) |
| Kill switch | Часто поддельный | Полный контроль |
Hola в 2015 году признана ботнетом: пользователи бесплатно раздавали свой трафик другим.
FAQ
VPN замедляет интернет на сколько реально?
Зависит от протокола и расстояния до сервера. WireGuard добавляет 3–8 мс пинга и снижает скорость на 1–3%. OpenVPN — 10–30 мс и 15–30% потерь. Если твой VPS в Москве, а ты в Новосибирске — потеря будет больше из-за физического расстояния, а не шифрования.
Меня найдёт спецслужба при использовании VPN?
Если ты нарушаешь закон (например, распространяешь запрещённый контент), да — найдут. Провайдер VPS обязан выдать данные по решению суда. Анонимность возможна только при использовании Tor + временного VPS + криптовалюты. Но даже это не гарантирует 100% защиты.
WireGuard или OpenVPN — что безопаснее?
С точки зрения криптографии — оба используют современные алгоритмы. WireGuard проще, меньше кода → меньше уязвимостей. OpenVPN сложнее, но лучше маскируется под HTTPS. Для большинства пользователей WireGuard безопаснее именно из-за простоты и отсутствия legacy-опций.
Нужно ли отключать IPv6?
Да, если ты не настроил его явно в туннеле. Большинство VPN-конфигураций работают только с IPv4. Браузеры при этом могут использовать IPv6 напрямую, что приведёт к утечке реального IP.
Можно ли использовать свой сервер для обхода блокировок Telegram или YouTube?
Технически — да. Но юридически — рискованно. В России запрещено намеренно обходить блокировки ресурсов из реестра Роскомнадзора. Использование VPN для личных целей (например, доступ к зарубежному Netflix) — в «серой зоне», но пока не преследуется.
Как проверить, что kill switch работает?
Отключи интернет на клиенте (вытащи кабель или отключи Wi-Fi). Попробуй пинговать любой адрес. Если пакеты уходят — kill switch не сработал. На Linux проверь: iptables -L — должны быть правила DROP по умолчанию.
Вывод
Как поднять vpn сервер на ubuntu — вопрос не в командах, а в понимании того, что ты защищаешь и от кого. Сам по себе сервер — лишь инструмент. Его безопасность определяется:
- Выбором протокола (WireGuard предпочтителен для большинства);
- Настройкой firewall и kill switch;
- Отключением IPv6 и защитой от WebRTC/DNS-утечек;
- Осознанием юрисдикционных рисков.
Если пропустишь хотя бы один пункт — твой «частный» VPN может стать источником утечки, а не защитой. Поэтому не гонись за скоростью настройки. Лучше потратить два часа на проверку, чем потом объяснять, почему твой IP оказался в логах торрент-трекера.
Готовый сервер — это не финиш, а старт. Теперь твоя задача — постоянно тестировать его на утечки и обновлять. Потому что безопасность — процесс, а не разовое действие.
Thanks for sharing this; the section on mobile app safety is straight to the point. The wording is simple enough for beginners. Overall, very useful.