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

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

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

AWG_MTU_FRAGMENTATION_DROP Сетевое оборудование и VPN

AmneziaWG: Ошибка расчета MTU и сброс пакетов из-за фрагментации

Обновлено: 25.08.2026 · Официальная документация ↗
  • Туннель успешно поднимается, но веб-сайты открываются бесконечно долго или загружаются частично (картинки и скрипты зависают).
  • SSH-сессия через VPN зависает сразу после ввода команды и вывода большого объема текста (например, ls -la /usr/bin).
  • В dmesg или клиенте появляются сообщения packet too big, need to fragment.
  • Высокий процент потери пакетов только при передаче больших файлов.

1. Формула расчета MTU для AmneziaWG

AmneziaWG требует большего запаса оверхеда по сравнению с обычным WireGuard из-за дополнительных мусорных байт и смещений S1 / S2. Базовый расчет:

MTU = Base_Physical_MTU (1500) - IPv4_Header (20) - UDP_Header (8) - WireGuard_Header (32) - S1_Padding (до 128) - Safe_Margin (40)
Рекомендуемый MTU для Ethernet = 1360 - 1420 байт
Рекомендуемый MTU для PPPoE / LTE = 1280 байт (минимальный IPv6 MTU)

2. Определение Path MTU через ICMP трассировку

# Поиск максимального размера нефрагментированного пакета (Windows)
ping -f -l 1372 <Server_IP>

# Linux / macOS
ping -M do -s 1372 <Server_IP>

3. Установка скорректированного MTU в конфиге клиента и сервера

[Interface]
Address = 10.8.0.2/32
PrivateKey = <Key>
# Задайте строгое значение MTU
MTU = 1280

4. Включение TCP MSS Clamping на сервере

Для автоматической подстройки размера TCP-сессий добавьте правило в iptables на VPN-шлюзе:

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
💡 Практика специалистов: Если клиенты подключаются через мобильные сети (LTE/5G) или двойной NAT (CGNAT), всегда используйте MTU=1280. Это полностью исключает проблему 'черных дыр' Path MTU Discovery.

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

Почему стандартный MTU 1420 от WireGuard не работает в AmneziaWG?

Потому что параметры обфускации (S1/S2 и паддинг мусора) увеличивают размер UDP-датаграммы сверх лимита MTU, вызывая фрагментацию IP-пакетов, которые отбрасываются DPI или роутерами.

Снижает ли MTU = 1280 скорость интернет-соединения?

Снижение скорости на уровне оверхеда составляет менее 2-3%, однако это гарантирует стабильную доставку пакетов без фрагментации в любых сотовых и кабельных сетях.

Нужно ли менять MTU на сервере или достаточно изменить его на клиенте?

Рекомендуется выставить одинаковый безопасный MTU (например, 1280) и на интерфейсе сервера awg0, и во всех клиентских файлах конфигурации.

Что делает правило TCPMSS --clamp-mss-to-pmtu?

Оно автоматически переписывает значение MSS в TCP SYN-пакетах под текущий размер MTU туннеля, устраняя зависание веб-страниц без ручной настройки клиентов.

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