VPN
VPN
VPN (Virtual Private Network, виртуальная частная сеть) — это техника, которая поверх обычного, недоверенного интернета строит «частный» канал между двумя точками: трафик внутри канала зашифрован и выглядит так, будто оба конца сидят в одной локальной сети.
История
VPN — это не одна технология, а семья. Идея старая, и развивалась она волнами.
- 1996 год, Microsoft, Гурдип Сингх-Полл и команда. Появляется PPTP (Point-to-Point Tunneling Protocol). Цель — дать корпоративным сотрудникам возможность подключиться к офисной сети из дома по обычному dial-up через интернет. Шифрование там было слабое (MPPE), но это первый массовый «офисный» VPN.
- 1999 год, IETF, RFC 2401–2412. Стандартизирован IPsec (IP Security) — набор протоколов на уровне IP. Тяжёлый, корпоративный, до сих пор живёт во всех железных VPN-концентраторах Cisco/Juniper/Mikrotik. Часто работает в связке L2TP/IPsec.
- 2001 год, Джеймс Йонан. Выпускает OpenVPN — open source проект, который запустил VPN в массы. Работал через SSL/TLS (тот же стек, что и HTTPS), а значит проходил через большинство файрволлов и не требовал поддержки в ядре ОС.
- 2014 год. Эдвард Сноуден сливает документы АНБ. Слово «VPN» из корпоративного жаргона за один год становится потребительским: NordVPN, ExpressVPN, ProtonVPN растут на десятки миллионов пользователей.
- 2016 год, Джейсон Доненфельд. Публикует WireGuard — около 4000 строк кода (для сравнения у OpenVPN их сотни тысяч). Использует современную криптографию (Curve25519, ChaCha20, Poly1305, BLAKE2s), работает в ядре Linux с версии 5.6 (2020), быстрее и проще всех предшественников. Сейчас де-факто стандарт для нового деплоя.
- 2018–2024. Появляются гибридные продукты — Tailscale, Cloudflare WARP, Twingate, ZeroTier — которые поверх WireGuard (или своего движка) добавляют автоматическое управление ключами, NAT-обход, MFA, ACL. Это уже не «VPN», а mesh-сети и Zero Trust Network Access (ZTNA).
- 2023+. Регуляторное давление: в России Роскомнадзор системно блокирует протоколы коммерческих VPN, провайдеры отвечают обфускацией (V2Ray, Shadowsocks, AmneziaWG, XRay) — формально это уже не классический VPN, но решают ту же задачу.
Что это такое
VPN решает три задачи сразу, и поэтому слово стало размытым:
- Туннелирование. Один протокол едет внутри другого. Например, твой IP-пакет к серверу 192.168.0.1 (частный адрес офисной сети) упаковывается в обычный UDP-пакет к публичному VPN-серверу, который дальше его распаковывает и кладёт в свою локальную сеть. Снаружи никто не видит, что внутри был приватный адрес.
- Шифрование. Содержимое туннеля зашифровано так, что провайдер, кафе с Wi-Fi или АНБ видят только «какой-то поток байт между двумя IP». Они не узнают, на какой именно сайт ты ходишь и что ты там пишешь.
- Подмена видимой точки выхода. Сайты, к которым ты обращаешься через VPN, видят IP-адрес VPN-сервера, а не твой. Это даёт два эффекта: обход блокировок (если сервер в другой стране) и анонимность относительно конечного сайта (но не относительно VPN-провайдера).
Важная пара: VPN vs прокси. Прокси работает на уровне приложения (обычно HTTP/SOCKS): браузер знает, что ходит через прокси, остальной трафик идёт мимо. VPN перехватывает весь трафик ОС на уровне сетевого интерфейса (создаётся виртуальная сетевая карта utun0/wg0/tun0), поэтому через него идёт всё — браузер, мессенджеры, обновления macOS, фоновые сервисы.
Ещё одна пара: VPN vs Tor. У Tor три случайных промежуточных узла, ни один из которых не знает одновременно отправителя и получателя. У VPN один узел, который знает оба конца. Tor сильнее в анонимности, медленнее в скорости. VPN быстрее, но требует доверия к одному поставщику.
Аналогии из жизни
Бронированный фургон инкассации. Город — это публичный интернет. Везде едут обычные машины, любой может в окно подсмотреть. Фургон с деньгами едет тем же дорогам, но внутри стенки бронированные, окон нет, ключи только у банка — снаружи не видно, что везёт. VPN — это фургон.
Где ломается: аналогия молчит о том, что любой видит, что едет именно бронированный фургон. То есть факт использования VPN скрыть нельзя (без обфускации) — только содержимое. Провайдер видит, что ты подключился к IP такого-то VPN-сервиса, даже если не видит трафик внутри.
Дипломатическая почта. Письмо едет обычной почтой, но в дипломатическом мешке, который по конвенции нельзя вскрывать. Отправитель и получатель — конкретные посольства, но почтовая служба не знает содержимого.
Где ломается: аналогия предполагает, что есть международная конвенция, которую никто не нарушит. В случае VPN никакой конвенции нет — крупный игрок (государство, провайдер уровня страны) может физически перехватывать поток. Стойкость — только в криптографии, а не в правилах.
Туннель под рекой. Чтобы попасть с одного берега на другой, не нужно плыть среди лодок и волн — есть подземный туннель, в котором тихо, прямо и видеокамеры обоих концов знают, кто едет. VPN буквально называется «туннель».
Где ломается: настоящий туннель физически отделён от реки. В VPN «туннель» — это просто метафора: твои пакеты всё равно едут по тем же кабелям, что и весь интернет. Защита криптографическая, а не физическая. Если завтра математики сломают AES, «туннель» станет прозрачным задним числом для всего, что когда-либо через него прошло (если ключи скомпрометированы — это называется forward secrecy, и WireGuard её обеспечивает, а старые протоколы — не всегда).
Как это работает
Разберём на примере WireGuard, потому что он самый чистый и понятный.
Подготовка (один раз). На двух концах генерируются пары ключей: приватный и публичный (асимметричная криптография, как у SSH). Приватный не покидает устройство, публичный обменивают между сторонами. Конфиг сервера и клиента содержит публичный ключ другой стороны и список «разрешённых IP-адресов» (AllowedIPs).
Запуск (каждый раз).
- Клиент создаёт виртуальный сетевой интерфейс — на macOS это
utun5или похожий, в линуксеwg0. Операционная система видит его как обычную сетевую карту. - В таблице маршрутизации появляется правило: «всё, что идёт на сеть 10.0.0.0/24 (или 0.0.0.0/0 если full-tunnel), отдавай в wg0».
- Когда приложение отправляет пакет на адрес внутри VPN, ядро по таблице маршрутизации заворачивает его в драйвер WireGuard.
- WireGuard упаковывает оригинальный пакет: добавляет заголовок с номером сессии, шифрует тело алгоритмом ChaCha20-Poly1305, заворачивает всё в UDP-датаграмму к публичному IP сервера.
- По обычному интернету эта UDP-датаграмма уходит к серверу.
- Сервер расшифровывает, видит исходный пакет, отдаёт в свой локальный интерфейс. Дальше пакет идёт по правилам сервера — либо в офисную сеть, либо в интернет с подменой src-адреса (это уже NAT, а не сам VPN).
- Ответ приходит обратно: сервер заворачивает, шифрует, UDP, твой клиент распаковывает.
Handshake. Раз в 2 минуты (или при простое) клиент и сервер делают Noise IK handshake — двусторонняя процедура, которая обновляет сессионные ключи. Если кто-то записал сегодняшний трафик и завтра украл приватный ключ — старые сессии всё равно не расшифруются (это и есть forward secrecy).
Куда едут DNS-запросы. Тонкий момент: если ты ввёл в браузере mail.ru, нужно сначала превратить имя в IP. Если DNS-сервер прописан в системе твой обычный (8.8.8.8 или провайдерский), DNS-запрос пойдёт мимо туннеля, и провайдер увидит, какие домены ты резолвишь, даже если HTTPS-трафик скрыт. Хороший VPN-конфиг указывает свой DNS внутри туннеля — например, DNS = 10.0.0.1 в WireGuard-профиле. Это называется DNS leak protection.
Kill switch. Если туннель упал (Wi-Fi мигнул, сервер недоступен), без kill switch операционная система спокойно начнёт слать трафик в обход — через обычный интерфейс, без шифрования. Kill switch — это правило файрвола, которое блокирует весь трафик, кроме идущего через VPN-интерфейс. Без него VPN дырявый.
[твоё приложение]
│ исходный пакет: src=10.0.0.5 dst=192.168.0.1
▼
[виртуальная сетка wg0]
│ ядро видит маршрут «эту сеть — в wg0»
▼
[драйвер WireGuard]
│ шифрует тело, заворачивает в UDP
▼
[твоя физическая сетка eth0]
│ обычный UDP-пакет: src=твой_публичный_IP dst=IP_сервера:51820
▼
─────── интернет ───────
│
▼
[физическая сетка сервера]
[драйвер WireGuard на сервере]
│ расшифровывает, восстанавливает оригинальный пакет
▼
[локальная сеть на той стороне]
Где встречается в обычной жизни
- Корпоративные удалёнка и доступ к 1С. Бухгалтер из дома подключается к офисной 1С — это VPN. На той стороне его компьютер виден офисной сети как «свой».
- Просмотр заблокированных сайтов. YouTube, LinkedIn, Twitter, ChatGPT в РФ — массовый случай 2022–2026. Подключаешься к VPN-серверу в другой стране, для сайта ты теперь «оттуда».
- Бесплатный Wi-Fi в аэропорту или кафе. Без VPN твой HTTP-трафик может перехватить любой в той же сети. С VPN — нет (даже если сайт без HTTPS).
- Игровые сервера в Китае или Бразилии. Geo-блокировки и пинг иногда лечатся VPN-сервером в нужном регионе.
- Локализация для тестов. Маркетолог проверяет, как выглядит сайт-конкурент в Германии или США — через VPN в нужной стране.
Где встречается в IT и бизнесе
- Site-to-site VPN. Связать два офиса в одну приватную сеть. Например, головной офис в Москве и склад в Подмосковье — через канал в интернет, но трафик между ними «как локальная сеть».
- Удалённый доступ к продакшен-серверам. SSH на сервер только из VPN, snimаемого с инженерных ноутбуков. Файрвол сервера блокирует всё кроме VPN-подсети. Без украденного ноутбука инженера — снаружи никак.
- Доступ к закрытым API партнёров. Иногда банк или маркетплейс не выставляет API в публичный интернет — выдают тебе VPN-конфиг, через который видна их внутренняя сеть.
- Анти-фрод и эмуляция геолокации. Платёжные системы и сервисы доставки тестируют поведение в разных странах через VPN/прокси (а параллельно борются с пользователями, которые делают то же самое для обхода динамической цены).
- Zero Trust Network Access. Современная замена корпоративного VPN: каждый запрос аутентифицируется отдельно, а не «один раз вошёл — внутри всё доступно». Примеры: Cloudflare Access, Tailscale, Twingate.
Кто пользуется
- Все большие компании. Cisco AnyConnect, Palo Alto GlobalProtect, FortiClient — корпоративные VPN-клиенты, через которые работают сотни тысяч сотрудников Сбера, Газпрома, Яндекса и любого крупного бизнеса в мире.
- NordVPN. Около 15 миллионов платящих пользователей (по их собственным заявлениям, 2024). Серверы в 60+ странах. Принадлежит литовской Nord Security.
- ExpressVPN. Около 4 миллионов пользователей, штаб-квартира на Британских Виргинских островах, продана Kape Technologies в 2021 за $936 млн.
- WireGuard как протокол. Используется в Cloudflare WARP (более 25 миллионов установок), Mullvad, ProtonVPN, AzireVPN, AmneziaVPN, NordLynx (это WireGuard от Nord).
- Tailscale. Стартап 2019 года, ~150 тысяч компаний по своим данным (2024). Превратил WireGuard в «mesh-сеть для гиков» с автонастройкой.
- AmneziaVPN. Российский open source проект, развивается с 2020 года. Позволяет поднять свой VPN на любом VPS за пару минут. Особенно популярен в РФ из-за обфускации, которая обходит DPI.
Альтернативы и конкуренты
- PPTP. Плюсы: встроен в любую ОС, прост. Минусы: сломан криптографически с 2012 года — не использовать.
- L2TP/IPsec. Плюсы: встроен везде, стабилен. Минусы: тяжёлая настройка, медленный из-за двойной инкапсуляции, плохо проходит через корпоративные файрволы.
- OpenVPN. Плюсы: проходит сквозь любые файрволы (умеет маскироваться под HTTPS на 443 порту), огромная экосистема. Минусы: тяжёлый код, медленнее WireGuard, конфиги сложные.
- WireGuard. Плюсы: быстрый, простой, современный криптос. Минусы: статический UDP-протокол легко детектируется и блокируется (поэтому в РФ нужны обфусцированные варианты вроде AmneziaWG).
- SSH-туннель. Плюсы: ничего ставить не надо, если есть SSH-доступ. Минусы: только TCP, медленный, для одного-двух портов, не «настоящий» VPN.
- Shadowsocks / V2Ray / Trojan / Xray. Плюсы: проектировались как «анти-цензурные» прокси, отлично маскируются. Минусы: не VPN в строгом смысле (прокси-сервер), без аккуратной настройки часть трафика идёт мимо.
- Tor. Плюсы: настоящая анонимность. Минусы: медленный, многие сайты блокируют exit-узлы.
- Zero Trust (Cloudflare Access, Tailscale). Плюсы: не нужно «открывать всё для всех своих», каждый запрос проверяется. Минусы: дороже, требует архитектурной перестройки.
Когда НЕ стоит использовать
- Когда нужна анонимность от государства. VPN-провайдер знает твой реальный IP и весь трафик. Если он в юрисдикции твоего государства или дружественной — он выдаст логи по запросу. Для анонимности используй Tor, а не VPN.
- Когда трафик уже зашифрован и тебе не нужно менять видимую страну. HTTPS к банку и так зашифрован TLS-ом. VPN сверху ничего не добавит — а может замедлить (лишний прыжок) и увеличить риск (доверяешь ещё одной стороне).
- Когда VPN обещает «полную анонимность за $3 в месяц». Реклама — это маркетинг. Реальный security сильно зависит от юрисдикции, политики логов, протокола, kill switch и DNS-настроек. Бесплатные VPN часто продают твои данные как раз тем, от кого ты прячешься.
- Когда нужна низкая задержка для трейдинга, видео или гейминга. Каждый VPN добавляет от 10 до 200 мс. Для торговых ботов или конкурентного гейминга это смерть.
Связанные понятия
- Туннелирование — упаковка одного сетевого протокола внутрь другого. VPN — частный случай.
- IPsec — набор протоколов IETF для шифрования IP-трафика; одна из основ корпоративных VPN.
- TLS (Transport Layer Security) — протокол шифрования, на котором построен HTTPS и OpenVPN.
- NAT (Network Address Translation) — подмена IP-адресов; VPN-сервер часто делает NAT, чтобы выпустить тебя в интернет от своего имени.
- DPI (Deep Packet Inspection) — глубокий анализ пакетов; то, чем государство блокирует «классические» VPN.
- Zero Trust — архитектура «не доверяй сети, проверяй каждый запрос»; современный наследник корпоративного VPN.
- mesh-сеть — сеть, где каждый узел может говорить с каждым напрямую через шифрованный канал (Tailscale, ZeroTier, Nebula).
- Forward secrecy — свойство протокола: компрометация ключа не раскрывает прошлые сессии.
Литература и источники
- Wikipedia, «Virtual private network» —
https://en.wikipedia.org/wiki/Virtual_private_network. Хорошая отправная точка с обзором всех протоколов. - Сайт WireGuard —
https://www.wireguard.com/. Особенно whitepaper Доненфельда (PDF) — это лучшее короткое введение в современный VPN. - Книга «Network Security Essentials» Уильяма Сталлингса (William Stallings), 6-е изд., 2017, en — глава про IPsec и VPN. Классика для инженеров.
- Книга «Practical Packet Analysis» Криса Сандерса (Chris Sanders), 3-е изд., 2017, en — научит видеть, как VPN-трафик выглядит снаружи через Wireshark.
- Документация AmneziaVPN —
https://docs.amnezia.org/. Для практики: поставить свой VPN на VPS за полчаса. - IETF RFC 4301 «Security Architecture for the Internet Protocol» — формальное описание IPsec. Тяжёлое чтение, но это первоисточник.
- Лекции Christian Grothoff на YouTube по сетевой безопасности — искать «Christian Grothoff Network Security» (en, бесплатные курсы Берн).
Где встретилось у меня
Вчера в проекте recheck для CRM Авито был обвал: launchd-таймер запустил скрейп в 11:00 МСК, но Selenium не смог открыть Chrome — SessionNotCreatedException. Разбор показал две вещи. Во-первых, 25–26 июня скрипт даже до Chrome не доходил: при выключенном VPN он логировал «CRM недоступен — поднимаю VPN…» и падал. То есть VPN — это входная точка ко всей инфраструктуре CRM, без него последующая логика просто не имеет смысла. Во-вторых, когда сегодня VPN всё-таки поднялся, всплыла другая проблема — залоченный профиль Chrome (SingletonLock с pid 5185). Параллельно вылез ещё один VPN-сюжет: SSH на отдельный сервер neiro тоже срезался на стадии handshake — fail2ban, видимо, забанил мой IP после серии попыток.
Краткое резюме
- VPN — это туннель: твой пакет упаковывается, шифруется и едет к VPN-серверу под видом обычного трафика, а уже сервер выпускает его в нужную сеть.
- Это семья из десятка протоколов: древний PPTP (сломан), корпоративный IPsec, гибкий OpenVPN, современный WireGuard. Сейчас новые проекты делают на WireGuard, корпоративные сети — на IPsec.
- Решает три задачи разом: туннелирование (доступ в закрытую сеть), шифрование (защита от перехвата) и подмена точки выхода (обход блокировок). Из-за этого слово стало размытым.
- Не решает анонимности от государства, не лечит низкую задержку, не заменяет HTTPS — он живёт уровнем ниже и пересекается с ним только частично.
- Современные альтернативы вроде Tailscale и Cloudflare Access уходят от модели «один раз вошёл — внутри всё разрешено» к Zero Trust, где каждый запрос аутентифицируется отдельно.