Как работает VPN: туннель, шифрование и протоколы

Обновлено: Автор: Редакция сайта

Кратко

VPN создаёт зашифрованный туннель между устройством и VPN-сервером. Клиент перехватывает трафик приложений через виртуальный сетевой интерфейс (TUN), шифрует его по выбранному протоколу и отправляет на сервер, а сервер передаёт запросы дальше в интернет. Провайдер видит только соединение с сервером, а сам сервер видит, к каким адресам вы обращаетесь.

Как работает VPN пошагово

Принцип работы VPN можно описать пятью шагами:

  1. Вы нажимаете «Подключиться» в клиенте. Клиент связывается с сервером и договаривается об общих ключах шифрования.
  2. Система создаёт виртуальный сетевой интерфейс, через который направляется трафик приложений.
  3. Каждый пакет данных шифруется и упаковывается в соединение с сервером. Это и есть туннель.
  4. Сервер расшифровывает данные и отправляет запрос в интернет от своего имени.
  5. Ответ идёт обратно: сервер шифрует его и передаёт клиенту, тот расшифровывает и отдаёт приложению.

О том, что такое VPN и зачем он нужен, читайте в статье «Что такое VPN».

Что такое туннель и шифрование

Туннель — это не отдельный кабель, а обычное интернет-соединение, внутри которого идут ваши данные в зашифрованном виде. Для посторонних он выглядит как обмен байтами с одним адресом. Шифрование строится на общих секретах, которые клиент и сервер согласуют при подключении. Основы защищённых соединений описывает стандарт TLS 1.3 (RFC 8446): его используют многие современные протоколы, в том числе транспорт в Xray.

Что такое TUN

TUN — виртуальный сетевой интерфейс. Для системы он выглядит как обычная сетевая карта, но пакеты, которые в него попадают, читает не драйвер, а программа, то есть VPN-клиент. Так клиент получает весь IP-трафик и может зашифровать его перед отправкой. Устройство TUN/TAP описано в документации ядра Linux, а на Android клиент создаёт такой интерфейс через системный VpnService после разрешения пользователя.

Какие бывают протоколы

Протокол — это набор правил: как упаковать данные, как обменяться ключами, как выглядит соединение. INCY работает на ядре Xray-core, его протоколы описаны в документации Xray. На сайте есть отдельные страницы про каждый:

ПротоколКратко
VLESSЛёгкий протокол Xray, шифрование даёт транспорт (например, TLS или Reality)
VMessПротокол с собственным шифрованием, более ранний
TrojanОпирается на TLS, соединение выглядит как обычный HTTPS
Hysteria2Работает поверх QUIC (UDP), рассчитан на сети с потерями
RealityСпособ защиты транспорта в Xray, используется вместе с VLESS

Сравнение всех протоколов — на странице «Протоколы». Какой выбрать, обычно определяет сервер: клиент должен поддерживать тот протокол, который настроил ваш сервис.

Что видит провайдер интернета и что видит VPN-сервер

КтоЧто видитЧто не видит
Интернет-провайдерАдрес VPN-сервера, время и объём данныхСодержимое и адреса сайтов внутри туннеля
VPN-серверАдреса, к которым вы обращаетесь, объём трафикаСодержимое HTTPS-страниц
СайтАдрес VPN-сервера вместо вашегоВаш реальный IP-адрес

Вывод: VPN не убирает наблюдателя, а переносит доверие с провайдера или владельца Wi-Fi на VPN-сервис. Поэтому сервис важен так же, как и приложение. Отличие клиента от VPN и прокси разобрано в статье «VPN или прокси».

Что в этой схеме делает INCY

INCY — клиент: он создаёт туннель на вашем устройстве и управляет им. Есть и защита на случай обрыва: Kill Switch блокирует трафик, если соединение с сервером упало. Сервер и ключ вы получаете у стороннего сервиса, поэтому начните со страницы про ключи и подписки, а установите клиент через страницу загрузки.

Частые вопросы

Как работает VPN простыми словами?

Клиент на вашем устройстве упаковывает трафик в зашифрованный поток и отправляет его на VPN-сервер. Сервер распаковывает поток и делает запросы к сайтам от своего имени, а ответы возвращает вам тем же путём. Снаружи виден только зашифрованный обмен с сервером.

Что видит интернет-провайдер, когда включён VPN?

Провайдер видит IP-адрес VPN-сервера, время и объём передачи данных. Содержимое трафика и адреса сайтов внутри туннеля он не видит. Исключение — запросы, которые приложение отправляет мимо туннеля, например DNS-запросы при неверной настройке маршрутизации.

Что видит VPN-сервер?

Сервер видит, к каким адресам вы обращаетесь, и объём трафика. Содержимое HTTPS-страниц ему недоступно, но незашифрованные соединения он прочитать может. Поэтому выбирайте сервис, которому доверяете, и читайте его политику хранения логов.

Чем отличаются протоколы VPN?

Протокол определяет, как упаковываются и шифруются данные и как клиент договаривается с сервером. Протоколы различаются скоростью, устойчивостью к потерям пакетов и способом обмена ключами. Клиент и сервер должны поддерживать один и тот же протокол.