Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Настройка OpenVPN Site-to-Site: выбор режима маршрутизации TUN vs моста TAP

Обновлено: 25.08.2026  ·  Официальная база знаний

При планировании и развертывании межфилиальных туннелей OpenVPN администраторы сталкиваются с архитектурными проблемами:

  • Необходимость проброса L2-трафика (промышленные протоколы, обнаружение принтеров NetBIOS/mDNS, не-IP трафик) через туннель.
  • Падение пропускной способности из-за высокого оверхеда и широковещательного шторма в режиме Ethernet bridging (TAP).
  • Невозможность маршрутизации внутренних подсетей удаленного офиса через TUN без директив iroute.
  • Ошибки согласования топологии: topology subnet vs topology net30.

1. Архитектурный выбор: TUN против TAP

ПараметрTUN (Layer 3 Routing)TAP (Layer 2 Bridging)
Тип передачиIP-пакетыEthernet-фреймы (включая MAC, ARP, VLAN)
ОверхедНизкий (нет заголовка L2)Высокий (+14 байт Ethernet на пакет)
Широковещательный трафикБлокируетсяТранслируется во все стороны
Поддержка ОСВсе платформы (Linux, Windows, Android, iOS)Только Desktop (Linux, Windows, macOS)
Основное применениеSite-to-Site, Remote AccessSCADA, Legacy-софт, общий L2-сегмент

2. Конфигурация Site-to-Site в режиме TUN (Рекомендуемый)

# /etc/openvpn/server-s2s.conf (Сервер):
proto udp
port 1194
dev tun0
topology subnet
server 10.8.0.0 255.255.255.0
client-config-dir /etc/openvpn/ccd
route 192.168.20.0 255.255.255.0
persist-key
persist-tun
cipher AES-256-GCM
auth SHA256
keepalive 10 60

# Файл /etc/openvpn/ccd/client-branch (Имя сертификата филиала):
iroute 192.168.20.0 255.255.255.0

3. Конфигурация Site-to-Site в режиме TAP (Объединение L2 мостом)

# /etc/openvpn/server-tap.conf:
proto udp
port 1195
dev tap0
server-bridge 192.168.10.1 255.255.255.0 192.168.10.200 192.168.10.220
persist-tun
persist-key
cipher AES-256-GCM

# Скрипт интеграции с системным мостом Linux (/etc/openvpn/bridge-start):
#!/bin/bash
brctl addif br0 tap0
ip link set dev tap0 up

4. Тюнинг сетевого стека ядра для OpenVPN

# Включение IPv4 Forwarding и оптимизация очередей:
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216

# Добавление MSS Clamping для предотвращения фрагментации:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Практический опыт инженера: Используйте режим TAP только тогда, когда это абсолютно неизбежно (например, для протоколов BACnet, Profinet или старых кластеров без поддержки маршрутизации). Во всех остальных сценариях используйте TUN во избежание паразитного флуда ARP/Broadcast.

Частые вопросы (FAQ)

Зачем нужна директива iroute в режиме TUN?

Директива route сообщает ядру операционной системы, что пакеты нужно слать в tun-интерфейс, а внутренняя директива iroute указывает самому процессу OpenVPN, какому именно подключенному клиенту (TLS CN) принадлежит этот диапазон подсетей.

Почему режим TAP не поддерживается на мобильных платформах (iOS / Android)?

Сетевые стеки мобильных ОС Android и iOS аппаратно и архитектурно запрещают создание виртуальных L2 сетевых адаптеров в пользовательском пространстве из соображений безопасности и энергосбережения.

Как избежать проблем с фрагментацией UDP-пакетов в OpenVPN?

Используйте директивы tun-mtu 1500, mssfix 1360 и fragment 1300 (если используется режим UDP) для принудительного укладывания пакетов в стандартный MTU провайдера.

Какой протокол быстрее: TCP или UDP для OpenVPN?

UDP значительно производительнее. Использование TCP поверх TCP вызывает явление TCP Meltdown: повторные передачи на физическом уровне накладываются на ретрансмиссии внутри туннеля, вызывая экспоненциальное падение скорости.