Ниже — простое объяснение, сравнительная таблица, где эти адаптеры живут в Windows, Linux, на Android и в виртуальных машинах, как понять, какой адаптер использует ваш VPN, и как исправить типичные ошибки TAP-драйвера. Если вам нужен готовый VPN, где адаптер, протокол и MTU уже настроены, посмотрите возможности LiMP VPN и тарифы: приложения есть для Android, Windows и браузера Chrome.
Что такое TUN и TAP в VPN простыми словами
TUN и TAP — это виртуальные сетевые адаптеры, которые VPN-клиент создаёт поверх физического интерфейса (Wi-Fi-модуля или Ethernet-порта). Операционная система видит их как обычные сетевые карты: назначает им адрес, строит через них маршруты и отдаёт в них трафик. Физически таких устройств нет — это программные интерфейсы, которые перехватывают пакеты и передают их VPN-процессу для шифрования, а в обратную сторону принимают расшифрованные данные и «вкладывают» их обратно в сетевой стек.
Название говорит само за себя: TUN — от слова tunnel (туннель), TAP — от network tap (сетевой отвод). В ядре Linux оба режима реализованы одним драйвером: программа открывает устройство /dev/net/tun и при создании интерфейса указывает флаг IFF_TUN или IFF_TAP. Разница только в том, что программа получает из интерфейса: голые IP-пакеты или полные Ethernet-кадры с MAC-адресами.
Аналогия: представьте сеть как шоссе. VPN-клиент ставит на выезде «пропускной пункт» (TUN или TAP), через который проходит весь транспорт перед тем, как попасть в защищённый туннель. TUN пропускает только легковые машины с понятным адресом назначения (IP-пакеты). TAP пропускает весь транспорт, включая грузовики с нестандартным содержимым и рассылку «всем, кто слышит» (широковещательные кадры).
Чем TUN отличается от TAP: уровень 3 против уровня 2
Ключевое различие — уровень модели OSI: TUN работает на третьем (сетевом, IP), TAP — на втором (канальном, Ethernet). Отсюда следует всё остальное: что проходит через туннель, как устроена адресация и сколько служебных данных добавляется к каждому пакету.
| Параметр | TUN | TAP |
|---|---|---|
| Уровень OSI | 3 (сетевой, IP) | 2 (канальный, Ethernet) |
| Единица данных | IP-пакет (IPv4/IPv6) | Ethernet-кадр с MAC-адресами |
| Тип интерфейса | Точка–точка, без MAC-адреса | Виртуальная сетевая карта со своим MAC |
| Как связываются сети | Маршрутизация (разные подсети) | Мост (одна общая подсеть) |
| Широковещание, ARP, DHCP broadcast | Не передаются | Передаются |
| Не-IP протоколы | Не передаются | Передаются |
| Накладные расходы | Ниже | Выше: +14 байт Ethernet-заголовка на кадр и лишний широковещательный трафик |
| Android, iPhone | Поддерживается системой | Недоступен |
| WireGuard | Да (единственный режим) | Нет |
| Типичное применение | Обычный VPN, удалённый доступ, мобильные клиенты, связь офисов маршрутизацией | LAN-to-LAN мост, старые сетевые приложения, сетевые игры по локалке |
Почему TAP умеет бриджинг, а TUN — нет
TAP поддерживает сетевые мосты (bridging), потому что видит Ethernet-кадры — те же, что ходят в физической локальной сети. Виртуальный TAP-интерфейс можно включить в мост Linux или Windows вместе с физическим портом, и два географически разделённых сегмента LAN начнут вести себя как одна сеть: ARP-запросы, DHCP broadcast, протоколы обнаружения устройств проходят через туннель, а удалённые компьютеры получают адреса из той же подсети, что и локальные.
TUN этого не умеет: он работает только с IP-пакетами. Широковещательные кадры, ARP и не-IP трафик в TUN-туннель не попадают. Чтобы объединить сети через TUN, их делают разными подсетями и прописывают маршруты (статические или через протокол динамической маршрутизации). Это требует планирования адресов, зато сеть получается предсказуемой: широковещательный «шум» одного офиса не уходит в другой.
Маршрутизация или мост: что выбрать для связи двух офисов
Для большинства задач маршрутизация через TUN проще в сопровождении. Мост через TAP оправдан, когда приложения действительно опираются на широковещание и не умеют работать с адресом сервера напрямую.
- Маршрутизация (TUN): у каждого офиса своя подсеть, например 192.168.1.0/24 и 192.168.2.0/24; трафик между ними ходит по маршрутам; широковещательный трафик остаётся внутри офиса; проще фильтровать доступ правилами файрвола.
- Мост (TAP): одна подсеть на оба офиса; работает обнаружение принтеров и сетевых папок по широковещанию; но в туннель идёт весь «шум» сегмента, а ошибка в настройке DHCP может выдать адреса не тем устройствам.
Какой адаптер используют WireGuard, OpenVPN и другие протоколы
WireGuard использует исключительно TUN — это архитектурное решение протокола, а не пользовательская настройка. OpenVPN поддерживает оба режима, но TUN является режимом по умолчанию и рекомендован во всех случаях, кроме моста.
WireGuard работает только на третьем уровне на всех платформах. В Linux интерфейс wg0 создаёт модуль ядра (встроен начиная с версии 5.6). На Windows официальный клиент использует драйвер Wintun — высокопроизводительный TUN-драйвер от разработчиков WireGuard. На macOS и iOS — системный механизм utun, на Android — системный VPN-интерфейс.
OpenVPN позволяет выбрать режим директивой dev tun или dev tap в конфигурации. Режим должен совпадать на сервере и клиенте: если сервер работает в TAP, а клиент в TUN, соединение не поднимется. Режим TUN подходит для удалённого доступа и связи сетей маршрутизацией, TAP — для моста.
IKEv2/IPsec и L2TP/IPsec создают собственный виртуальный интерфейс или работают внутри сетевого стека ОС. Выбирать TUN или TAP здесь не нужно — тип туннеля задан самим протоколом.
Что меняет DCO в OpenVPN 2.6 и новее
В OpenVPN 2.6 появился режим DCO (Data Channel Offload): шифрование и пересылка пакетов переносятся из пользовательского процесса в драйвер ядра ovpn-dco, что снижает нагрузку на процессор и повышает скорость. По документации OpenVPN 2.6 на Windows доступны три драйвера — ovpn-dco (по умолчанию), tap-windows6 и wintun, причём ovpn-dco и wintun работают только с dev tun. Для DCO также нужны AEAD-шифры (AES-GCM или ChaCha20-Poly1305). Практический вывод: конфигурация с dev tap лишается самого быстрого режима и остаётся на классическом драйвере TAP-Windows.
Когда нужен TAP, а когда TUN
TUN — правильный выбор почти всегда: приватность, защита в публичном Wi-Fi, удалённый доступ к рабочим ресурсам, мобильные приложения и всё на WireGuard. TAP — специализированный инструмент для конкретных сетевых задач.
Выбирайте TUN, когда:
- нужна приватность и защита трафика — любой потребительский VPN-сценарий;
- нужен удалённый доступ к корпоративным серверам, веб-приложениям, API;
- вы используете WireGuard — он поддерживает только TUN;
- клиенты — смартфоны на Android или iPhone: TAP на них недоступен;
- важна скорость и хочется использовать DCO в OpenVPN 2.6+.
Выбирайте TAP, только когда:
- нужно объединить два сегмента LAN в один Ethernet-домен (мост между офисами);
- приложения используют широковещательные запросы (DHCP broadcast, NetBIOS, обнаружение устройств);
- старые сетевые игры требуют, чтобы игроки были в одной локальной сети;
- используются устаревшие протоколы второго уровня, не основанные на IP.
Быстрый алгоритм выбора
- Вы пользуетесь готовым VPN-приложением? Ничего выбирать не нужно — приложение уже использует TUN.
- Настраиваете свой сервер для доступа к ресурсам или защиты трафика? Ставьте
dev tunили WireGuard. - Среди клиентов есть телефоны? Только TUN.
- Приложение в удалённом офисе не работает без широковещания, и переделать его нельзя? Тогда TAP и мост — с фильтрацией лишнего трафика.
TUN и TAP в Windows, macOS, Linux и на телефоне
Реализация TUN/TAP различается на каждой платформе, но суть одинакова: VPN-клиент регистрирует виртуальный сетевой интерфейс, через который ОС отправляет трафик в зашифрованный туннель.
Windows: исторически OpenVPN использовал TAP-Windows Adapter V9 — NDIS-драйвер виртуальной сетевой карты второго уровня. Современные версии OpenVPN поддерживают также Wintun и ovpn-dco, а официальный клиент WireGuard использует Wintun. Посмотреть адаптеры: Win + R → ncpa.cpl; в списке ищите «TAP-Windows Adapter V9», «Wintun» или имя туннеля WireGuard.
macOS: использует встроенный механизм utun — системный TUN-интерфейс. Большинство VPN-клиентов работают через него без отдельных драйверов.
Linux: TUN/TAP реализован в ядре через /dev/net/tun. VPN-процесс открывает это устройство и создаёт интерфейс tunN или tapN. WireGuard в Linux 5.6+ встроен в ядро и создаёт интерфейс wg0 напрямую.
Android и iPhone: мобильные ОС дают VPN-приложениям системный API. На Android это класс VpnService: приложение описывает адреса и маршруты и получает от системы дескриптор TUN-интерфейса, через который читает и пишет IP-пакеты. Установить TAP-драйвер на смартфон невозможно — система не даёт такого доступа к ядру. Как включить VPN на телефоне, мы разобрали в инструкции как настроить VPN на Android.
Wintun против классического TAP-Windows Adapter V9
Wintun выигрывает у TAP-Windows Adapter V9 в производительности и простоте. TAP-Windows V9 — зрелый драйвер второго уровня, которому много лет; он работает, но его установка иногда требует ручного подтверждения в диалоге безопасности Windows, а при нескольких VPN-клиентах на одном ПК адаптеры начинают конфликтовать.
Wintun — минималистичный TUN-драйвер уровня ядра от команды WireGuard. Он используется в официальном клиенте WireGuard для Windows и поддерживается OpenVPN. Преимущества: выше пропускная способность за счёт меньшего числа переключений между ядром и пользовательским процессом, интерфейс создаётся динамически при подключении, кодовая база компактная. Ограничения из документации OpenVPN: Wintun работает только с dev tun и требует, чтобы OpenVPN был запущен с правами администратора или через Interactive Service. Выбрать драйвер вручную можно строкой windows-driver wintun в файле .ovpn.
Где ещё встречаются TUN и TAP: виртуальные машины и контейнеры
TUN и TAP — не только про VPN. Те же интерфейсы используют системы виртуализации и сетевые утилиты, поэтому адаптеры с такими названиями могут появиться на компьютере и без VPN-клиента.
- Виртуальные машины (KVM/QEMU): сетевая карта гостевой системы часто подключается к хосту через TAP-интерфейс, включённый в мост. Так виртуальная машина получает адрес в той же локальной сети, что и хост.
- Сетевые утилиты и прокси-клиенты: многие программы поднимают TUN-интерфейс, чтобы перехватывать трафик всех приложений, а не только браузера.
- Контейнеры: Docker по умолчанию использует пары виртуальных интерфейсов veth и мост, а не TUN/TAP; доступ к
/dev/net/tunконтейнеру выдают явно, когда внутри должен работать VPN-клиент.
Создать интерфейс вручную в Linux можно командой ip tuntap add dev tun0 mode tun (для TAP — mode tap), посмотреть список — ip tuntap show. Это нужно администраторам при отладке; обычному пользователю VPN-приложение делает всё само.
Как узнать, какой адаптер использует ваш VPN
Проверить тип адаптера можно за минуту штатными средствами системы, не устанавливая дополнительных программ.
- Windows: подключите VPN, откройте командную строку и выполните
ipconfig /all. В поле «Описание» у VPN-адаптера указан драйвер: «TAP-Windows Adapter V9» — это TAP, Wintun или WireGuard Tunnel — это TUN. - Linux: команда
ip -d link showпокажет интерфейсыtunN,tapNилиwg0; в подробном выводе указан тип — tun, tap или wireguard. - macOS:
ifconfigпокажет интерфейсыutunN— это TUN. - Android: значок ключа в строке состояния означает, что система подняла VPN-интерфейс; это всегда TUN.
Убедиться, что трафик действительно идёт через туннель, можно на странице «Мой IP-адрес»: при включённом VPN там должен отображаться адрес VPN-сервера, а не адрес вашего провайдера.
Влияет ли выбор адаптера на скорость и безопасность
На стойкость шифрования тип адаптера не влияет — защиту обеспечивает протокол и шифр, а не виртуальный интерфейс. Зато на пропускную способность и задержку влияет: TUN в большинстве сценариев быстрее TAP.
Почему TUN быстрее:
- Нет лишнего заголовка: TAP добавляет к каждому кадру Ethernet-заголовок (14 байт) и пропускает широковещательный трафик, который в обычном VPN не нужен;
- Меньше фрагментации: чем больше служебных байтов, тем меньше полезный MTU туннеля и тем чаще пакеты приходится дробить и собирать заново;
- Быстрые драйверы: Wintun и ovpn-dco работают только в режиме TUN, а именно они дают основной прирост скорости в современных клиентах.
На домашних каналах разница обычно незаметна, на гигабитных и корпоративных соединениях — ощутимее. Если после подключения медленно открываются сайты или рвутся загрузки, причина чаще в неверном MTU, чем в типе адаптера: подробнее в статье что такое фрагментация в VPN, а про задержку — в материале что такое пинг в VPN.
Есть и нюанс безопасности у TAP-моста: раз через туннель проходят широковещательные кадры, удалённые устройства оказываются в одном сегменте с локальными и «видят» их через обнаружение сети. Поэтому мост между офисами настраивают вместе с правилами фильтрации, а не «как есть».
Как исправить частые ошибки TAP-адаптера в Windows
Две самые частые ошибки TAP на Windows: «All TAP-Windows adapters on this system are currently in use» и сбой установки драйвера TAP при установке OpenVPN. Обе обычно решаются за пять шагов.
Шаг 1. Диагностика. Закройте VPN-клиент и откройте «Сетевые подключения» командой ncpa.cpl (Win + R). Посмотрите, сколько адаптеров TAP-Windows Adapter V9 в списке и не отключён ли нужный (серый значок — включите его через контекстное меню).
Шаг 2. «All TAP adapters are in use». Ошибка значит, что все TAP-адаптеры заняты другими подключениями — например, параллельно запущен второй VPN-клиент. Закройте лишние клиенты или добавьте ещё один адаптер утилитой из комплекта OpenVPN («Add a new TAP virtual ethernet adapter»); удалить лишние адаптеры можно в «Диспетчере устройств», раздел «Сетевые адаптеры».
Шаг 3. Ошибка установки драйвера. Запустите установщик OpenVPN от имени администратора (правой кнопкой → «Запуск от имени администратора») и разрешите установку драйвера в диалоге безопасности Windows. Если установку блокирует антивирус, временно добавьте установщик в исключения.
Шаг 4. Переключитесь на TUN-драйвер. Если сервер работает в режиме dev tun, в современных версиях OpenVPN можно вообще уйти от TAP: строка windows-driver wintun в файле .ovpn включает Wintun (нужны права администратора), а в OpenVPN 2.6 по умолчанию используется ovpn-dco.
Шаг 5. Перезагрузите ПК и подключитесь заново. Перезагрузка завершает зависшие процессы, которые удерживают адаптер.
Типичные ошибки при настройке TUN и TAP
- Разный режим на сервере и клиенте.
dev tunс одной стороны иdev tapс другой — туннель не поднимется или трафик не пойдёт. Режим должен совпадать. - TAP «на всякий случай». Мост выбирают «чтобы точно всё работало», а потом получают медленный туннель, широковещательный шум и несовместимость с телефонами.
- Пересечение подсетей. В режиме TUN подсеть туннеля и подсети офисов не должны совпадать с домашней сетью пользователя (частая проблема с 192.168.0.0/24 и 192.168.1.0/24).
- Забытый MTU. Сайты открываются частично, а большие загрузки зависают — признак того, что пакеты не помещаются в туннель. Это лечится настройкой MTU/MSS, а не сменой адаптера.
- Несколько VPN-клиентов одновременно. Они конкурируют за адаптеры и маршруты; оставьте один активный клиент. Если VPN перестал работать только в одной сети Wi-Fi, проверьте советы из статьи VPN не работает через Wi-Fi.
Нужно ли обычному пользователю выбирать TUN или TAP?
Нет. В LiMP VPN, как и в любом современном VPN-приложении, адаптер выбирается автоматически: на Android система сама создаёт TUN-интерфейс, на Windows приложение ставит нужный драйвер при установке. Ручной выбор между TUN и TAP нужен только тем, кто самостоятельно поднимает OpenVPN-сервер и связывает локальные сети мостом, — это задача сетевого администратора.
Если вы пользуетесь готовым приложением, об адаптерах можно не задумываться: тип интерфейса, протокол и MTU уже настроены. Что умеет приложение — на странице функции LiMP VPN, где скачать — в разделе приложения, тарифы — на странице цены и подписки.



