VPN-клиент: что это за программа и какие бывают
«Скачайте наш VPN» — под этой фразой почти всегда прячется не VPN, а клиент: программа на вашем устройстве, которая умеет построить туннель до чужого сервера. Сам VPN складывается из трёх частей — клиент, канал, сервер, — и клиент здесь единственный элемент, который находится в ваших руках. Его можно заменить, не меняя ни сервер, ни подписку, ни ключ доступа.
Разделять эти сущности стоит по вполне практической причине. Почти все жалобы вида «этот VPN не работает» относятся не к сервису и не к протоколу, а к клиенту: он не умеет нужный протокол, теряет соединение при переходе в мобильную сеть или не блокирует трафик в момент обрыва. Общая классификация самих VPN — по назначению, протоколу, способу развёртывания и устройству — разобрана отдельно в обзоре типов VPN; здесь речь только о программе на вашей стороне.
Что клиент делает технически
Со стороны это одна кнопка «Подключить». Внутри — четыре независимые задачи, и каждая может сломаться отдельно от остальных.
- Поднимает виртуальный сетевой интерфейс. В системе появляется ещё одна «сетевая карта», которой физически не существует: tun или utun на Unix-подобных системах, виртуальный адаптер в Windows. У неё свой адрес, выданный сервером, и всё, что в неё попадает, клиент шифрует и отправляет наружу уже как обычные пакеты.
- Правит таблицу маршрутизации. Сам по себе новый интерфейс ничего не меняет — трафик продолжит уходить через обычное подключение. Клиент дописывает в таблицу маршрут «весь трафик — сюда» и оставляет одно исключение: пакеты до самого VPN-сервера обязаны идти напрямую, иначе туннель замкнётся на себя. Заодно клиент обычно подменяет DNS-сервер, потому что имена, разрешённые через провайдера, выдают вас даже при поднятом туннеле.
- Проводит handshake и держит сессию. Перед передачей данных клиент и сервер договариваются о ключах шифрования: предъявляется ваш ключ доступа, согласуются параметры. Дальше соединение нужно поддерживать — пустой канал закрывают промежуточные NAT и файрволы, поэтому клиент периодически отправляет служебные пакеты keepalive.
- Следит за обрывом. Туннель падает регулярно: сменилась Wi-Fi-сеть, телефон вышел из спящего режима, узел ушёл на перезагрузку. Задача клиента — заметить это раньше вас, поднять соединение заново и решить, что делать с трафиком в промежутке.
Последний пункт самый недооценённый. Когда виртуальный интерфейс исчезает, маршрут «всё сюда» пропадает вместе с ним, и система честно возвращается к обычному подключению: приложения продолжают работать, а трафик идёт мимо туннеля. Ровно на этот промежуток и отвечает kill switch — аварийный выключатель разобран отдельно.
Три вида клиентов
Всё, что называют «VPN-приложением», сводится к трём схемам. Различаются они не интерфейсом, а тем, откуда клиент берёт параметры подключения.
Фирменный клиент сервиса
Параметры зашиты внутрь программы. Она знает список своих серверов, умеет один-два протокола своего провайдера и обращается к его серверу за актуальными адресами. Пользователь выбирает страну, а иногда не делает и этого. Плюс — минимум действий и обычно самый полный набор дополнительных функций. Минус — клиент бесполезен без своего сервиса: чужую конфигурацию в него не вставить, и при уходе от провайдера программа удаляется вместе с подпиской.
Универсальный клиент под чужие настройки
Ни серверов, ни подписки внутри нет — есть движок протокола и место, куда вставляют конфигурацию. Так устроены Hiddify, v2rayTun, официальные приложения WireGuard и OpenVPN. Один такой клиент обслуживает несколько провайдеров одновременно, профили переключаются в пару касаний. Цена — заметно более технический интерфейс и полная ответственность за источник настроек: клиент не проверяет, кто держит сервер по указанному адресу. Как это выглядит на практике — в разборе приложения Hiddify. Сервисы без своих приложений работают именно так: у LOKI VPN, например, готовая конфигурация приходит из Telegram-бота и добавляется в любой совместимый клиент.
Встроенный системный клиент
Отдельной программы нет вообще: Windows, macOS, Android и iOS умеют поднимать туннель штатными средствами, а роль «клиента» играет запись в настройках сети. Понимает такой клиент только семейство IPsec — IKEv2 и устаревшие варианты, — зато он не обновляется сам, не просит лишних разрешений и не меняет поведение после очередной версии приложения. Подробно про заполнение полей — в инструкции, как добавить VPN вручную.
Практический вывод: выбирают клиент не по вопросу «какой лучше», а по вопросу «какой протокол у сервиса». Если сервис работает по VLESS, системная запись не подойдёт в принципе. Если по IKEv2 — универсальный клиент из мира прокси-протоколов о нём, скорее всего, не знает.
Почему один и тот же ключ работает в разных клиентах
Вопрос звучит наивно, а ответ объясняет половину устройства этого рынка: протокол — это стандарт, а клиент — всего лишь его реализация. Сервер не знает и не спрашивает, какая программа к нему подключилась. Он получает пакеты в оговорённом формате, находит предъявленный ключ в своём списке и строит туннель. Название приложения в этом обмене не участвует вообще.
Отсюда следствия, которые экономят время:
- Конфигурацию от сервиса без своего приложения можно открыть в любом клиенте, поддерживающем её протокол: формат ссылки общий, а не собственность конкретной программы. Что зашито внутри такой строки — в разборе VPN-конфигов.
- Смена клиента не «переносит» подписку и не требует нового ключа: тот же ключ, другая оболочка.
- Скорость и стабильность при этом всё-таки меняются — разные реализации по-разному работают с MTU, keepalive и переключением сетей. Но это разница в качестве кода, а не в правах доступа.
- Один ключ, добавленный в три клиента на трёх устройствах, — это три одновременных подключения по одному доступу, и лимит подписки считает их отдельно.
Что клиент добавляет сверх протокола
Протокол отвечает на один вопрос: как устроен туннель. Всё остальное поведение придумывает клиент, и именно здесь фирменные приложения расходятся с системной записью и друг с другом.
- Kill switch. Блокирует трафик, пока туннель не поднят. В протоколе такого механизма нет — это правило файрвола, которое клиент ставит на своей стороне.
- Раздельное туннелирование. Часть приложений или адресов идёт через туннель, часть напрямую. Реализуется правками той же таблицы маршрутизации и списками процессов, а не протоколом.
- Автовыбор сервера. Клиент замеряет задержку до узлов, выбирает быстрейший и уходит на следующий при обрыве. Системный профиль так не умеет: в нём прописан один адрес.
- Обфускация транспорта. Упаковка того же туннеля в трафик, похожий на обычный HTTPS. Требует поддержки с обеих сторон, но включается именно в клиенте.
- Автоподключение по условию. «Включаться в незнакомых Wi-Fi-сетях», «не включаться в домашней» — целиком логика клиента.
- Диагностика. Логи, статус рукопожатия, задержка до узла. При проблеме это единственное, по чему можно понять, что именно не сложилось.
Отсюда неочевидное: два клиента на одном протоколе и одном сервере ведут себя заметно по-разному, и это нормально. Сравнивать их полезнее по этому списку, чем по цифрам скорости из рекламы.
Чем клиент отличается от расширения браузера
Различие принципиальное, хотя в магазинах расширений обе вещи лежат рядом и называются одинаково. Клиент работает на уровне операционной системы: виртуальный интерфейс и маршруты действуют сразу для всех процессов — мессенджера, почтовой программы, обновлений системы, игр. Расширение работает внутри одного браузера и меняет только его исходящие соединения; всё остальное на устройстве идёт напрямую.
Дальше идут менее очевидные различия. Расширению не нужны системные разрешения — потому и ставится оно в один клик, без диалога «разрешить создание VPN-профиля». Значительная часть таких расширений под капотом вообще не VPN, а прокси: внешний адрес меняется, полноценного шифрованного туннеля до сервера нет. И системный DNS расширение обычно не трогает, так что имена сайтов продолжает разрешать провайдер. Что расширение действительно умеет, а что нет — разобрано в отдельной статье.
Полезный вопрос при выборе клиента — не «какой быстрее», а «что он делает в момент обрыва». Скорость видна в рекламе, поведение при разрыве — только в реальной сети.
Чего VPN здесь не делает
Клиент — программа управления туннелем, и её возможности заканчиваются там же, где возможности самого туннеля.
- Клиент не меняет того, кому вы доверяете трафик. Сервер на другом конце остаётся тем же, независимо от того, фирменное это приложение, универсальное или системная запись.
- Смена клиента не лечит медленный сервер. Если узел перегружен или расположен далеко, другая программа заметного выигрыша не даст.
- Клиент не даёт анонимности. Аккаунты, cookie и отпечаток браузера опознают вас поверх любого туннеля и любого приложения.
- Он не антивирус. Вредоносный файл скачается через туннель так же успешно, а поддельная страница примет пароль независимо от клиента.
- Открытый код клиента не делает проверяемым сервер. Изучить можно только свою половину соединения.
- Наличие kill switch в списке функций не равно отсутствию утечек. Запросы DNS или трафик IPv6 мимо туннеля — вопрос настроек и проверки, а не галочки в интерфейсе.
Частые вопросы
Обязательно ли ставить фирменное приложение сервиса?
Нет, если сервис выдаёт конфигурацию в стандартном формате: та же строка открывается в универсальном клиенте с поддержкой нужного протокола. Фирменное приложение становится обязательным только тогда, когда сервис использует собственный закрытый протокол или вообще не выдаёт параметры подключения наружу.
Может ли клиент работать медленнее, чем позволяет протокол?
Да, и это частый случай. Неверно подобранный MTU приводит к фрагментации пакетов, редкие keepalive — к обрывам в мобильной сети, а неудачная обработка смены сети — к долгим паузам на переподключение. Тот же ключ в другом клиенте иногда даёт заметно более ровную скорость.
Можно ли держать два VPN-клиента на одном устройстве?
Установить можно, включить одновременно — обычно нет. Оба будут претендовать на маршрут «весь трафик сюда» и на роль DNS, и выиграет тот, кто настроился последним; со стороны это выглядит как «интернет пропал». А вот держать несколько установленных клиентов и переключаться между ними — нормальная практика.
Вывод
VPN-клиент — это программа, которая поднимает виртуальный интерфейс, переписывает таблицу маршрутизации, договаривается с сервером о ключах и следит за обрывом. Всё остальное — kill switch, раздельное туннелирование, автовыбор узла, обфускация — надстройки самого клиента, а не части протокола. Видов клиентов три: фирменный с зашитыми серверами, универсальный под чужую конфигурацию и встроенный в операционную систему. Ключ доступа работает в любом из них, потому что сервер сверяет протокол и строку, а не название приложения. Поэтому выбор клиента — это выбор поведения в неудобных ситуациях: при обрыве, при смене сети, при фильтрации. Сервер, подписка и политика логов от этого выбора не зависят вообще.
Похожие статьи
Попробуй LOKI VPN бесплатно
Быстрый и безопасный VPN для свободного интернета. 3 дня бесплатно, без привязки карты — подключение прямо в Telegram.
🎁 Забрать 3 дня бесплатно