Разница между TUN и TAP в OpenVPN: что выбрать для корпоративной сети
Главная дилемма при установке OpenVPN: TUN или TAP?
В самом начале файла конфигурации сервера и клиента всегда задается тип виртуального сетевого драйвера: dev tun или dev tap. Неправильный выбор режима может сделать невозможным подключение мобильных устройств (iOS/Android) или перегрузить VPN-туннель мусорным широковещательным трафиком.
| Характеристика | Режим TUN (L3 Маршрутизация) | Режим TAP (L2 Сетевой мост / Ethernet) |
|---|---|---|
| Уровень модели OSI | Сетевой уровень (L3 — только IP-пакеты) | Канальный уровень (L2 — полные Ethernet-фреймы с MAC-адресами) |
| Поддержка смартфонов | Да (iOS, Android, Windows, macOS, Linux) | НЕТ (Мобильные ОС iOS и Android не поддерживают TAP!) |
| Широковещательный трафик (Broadcast) | Блокируется (экономит трафик и заряд батарей) | Пропускается (работает сетевое обнаружение Network Discovery) |
| Сложные протоколы | Только чистый IP (IPv4, IPv6) | Любые не-IP протоколы (NetBIOS, старые игры по LAN, промышленные контроллеры) |
| Накладные расходы | Минимальные (быстрее работает) | Выше из-за передачи полных заголовков Ethernet |
Что выбрать в 99% случаев?
Вердикт: В 99% корпоративных и домашних задач выбирайте режим TUN (dev tun). Он быстрее, стабильнее и работает абсолютно на всех устройствах, включая iPhone и Android-смартфоны.
Когда жизненно необходим режим TUN:
- Подключение удаленных сотрудников с ноутбуков и смартфонов к офисной сети.
- Доступ к корпоративным сайтам, CRM, базам 1С и почте.
- Экономия интернет-трафика на медленных мобильных каналах.
# Пример настройки в server.conf для режима TUN:
dev tun
server 10.8.0.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"Когда приходится использовать режим TAP:
- Необходимо объединить два удаленных офиса так, чтобы они находились в одном общем адресном пространстве (например, все компьютеры строго в 192.168.1.X).
- Используются старые программы или промышленное оборудование, требующее прямой видимости MAC-адресов.
- Нужна работа старых сетевых игр или протоколов без поддержки маршрутизации.
# Пример настройки в server.conf для режима TAP:
dev tap
server-bridge 192.168.1.1 255.255.255.0 192.168.1.200 192.168.1.250 Частые вопросы (FAQ)
Почему OpenVPN Connect на iPhone не подключается к TAP-серверу?
Операционные системы Apple iOS и Google Android запрещают виртуальным сетевым драйверам работать на канальном уровне L2 в целях безопасности и энергосбережения. На смартфонах работает исключительно режим TUN.
Будет ли в режиме TUN работать сетевое окружение Windows (папка 'Сеть')?
Автоматический поиск компьютеров через NetBIOS/SSDP в проводнике работать не будет, так как broadcast не проходит через L3. Однако сетевые папки отлично открываются по прямому IP-адресу, например: \\192.168.1.50\share.
Можно ли одновременно запустить на одном сервере и TUN, и TAP?
Да, для этого на сервере запускают два независимых процесса OpenVPN на разных портах (например, TUN на UDP 1194 для телефонов и TAP на UDP 1195 для мостов).
Какой режим меньше нагружает процессор роутера?
Режим TUN создает меньшую нагрузку, так как ему не требуется упаковывать и распаковывать полные заголовки кадров Ethernet.