Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

NET-MTU-MSS-010 Сетевое оборудование и VPN

Траблшутинг падения скорости в VPN: расчет TCP MSS Clamping и WireGuard MTU

Обновлено: 25.08.2026 · Официальная документация ↗

При некорректных настройках MTU/MSS внутри VPN-соединений возникают симптомы:

  • Тест скорости Speedtest показывает высокую скорость, но открытие тяжелых сайтов, передача файлов по SSH/SCP или загрузка страниц зависает на этапе TLS Handshake.
  • Высокий процент фрагментации пакетов и падение производительности туннеля на 70-90%.
  • Потеря пакетов с флагом DF (Don't Fragment) с возвратом ICMP ошибки Destination Unreachable, Fragmentation Needed (Type 3, Code 4).
  • Зависание сессий RDP и баз данных внутри туннеля.

1. Калькуляция оверхеда инкапсуляции туннелей

Тип протокола / ТуннеляЗаголовки и оверхед (байт)Рекомендуемый MTU (при WAN MTU 1500)Рекомендуемый TCP MSS
Базовый IPv4 (без VPN)20 (IP) + 20 (TCP) = 40 байт15001460
WireGuard (IPv4)20 (IP) + 8 (UDP) + 32 (WG) = 60 байт1420 (или 1440)1380
WireGuard (IPv6)40 (IP) + 8 (UDP) + 32 (WG) = 80 байт1420 (или 1360)1360
IPsec IKEv2 (AES-GCM + NAT-T)20 (IP) + 8 (UDP) + 8 (ESP) + 16 (IV) + 16 (ICV) + pad ≈ 72 байта14281388
GRE over IPsec20 (IP) + 56 (ESP) + 24 (GRE) = 100 байт14001360

2. Нахождение оптимального MTU с помощью Ping с флагом DF

# Windows:
ping 198.51.100.1 -f -l 1392

# Linux:
ping -M do -s 1392 198.51.100.1

# Формула: Реальный MTU = Размер буфера ping + 28 байт (20 байт IP + 8 байт ICMP)

3. Настройка TCP MSS Clamping в Linux (Iptables / Nftables)

# Автоматическая подгонка под PMTU:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Принудительная фиксация безопасного размера MSS (например, 1360):
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360

4. Настройка на Cisco IOS и MikroTik RouterOS

# Cisco IOS на интерфейсе туннеля:
interface Tunnel0
 ip mtu 1420
 ip tcp adjust-mss 1380

# MikroTik RouterOS:
/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn action=change-mss new-mss=clamp-to-pmtu passthrough=yes
💡 Практика специалистов: Если ваши пользователи работают через сотовые сети 4G/LTE/5G или PPPoE-подключения, их базовый физический MTU уже уменьшен до 1420-1480 байт. Для абсолютной стабильности таких клиентов выставляйте WireGuard MTU равным 1280 (минимальный гарантированный стандарт IPv6).

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

Что такое TCP MSS?

TCP Maximum Segment Size (MSS) — это максимальный размер полезной нагрузки (payload) данных TCP в одном пакете без учета IP и TCP заголовков. По умолчанию для сетей Ethernet он равен 1500 - 40 = 1460 байт.

Почему зависает именно TLS Handshake при проблемах с MTU?

Сертификаты безопасности X.509 и ключи шифрования при установке TLS соединения имеют большой размер (2-4 КБ) и генерируют полноразмерные TCP-сегменты (1500 байт). Если пакет больше допустимого MTU туннеля и имеет флаг DF, он молча сбрасывается промежуточным узлом.

Что такое PMTUD (Path MTU Discovery) и почему она ломается?

PMTUD — это механизм определения наименьшего MTU на всем пути следования пакета с помощью сообщений ICMP Type 3 Code 4. Механизм ломается, если пограничные брандмауэры параноидально блокируют весь входящий ICMP-трафик (Black Hole MTU).

Влияет ли TCP MSS Clamping на трафик UDP (DNS, VoIP, игры)?

Нет. TCP MSS модифицирует исключительно заголовки TCP SYN пакетов. Для UDP-трафика единственным решением является корректная установка MTU на сетевом интерфейсе операционной системы или в приложении.

Полезные материалы
Рекомендуем