Представьте: вы открываете браузер, вбиваете адрес, ждёте… и ничего. YouTube не грузится, Steam выдаёт ошибку подключения, а VPN падает каждые 5 минут. Но при этом Telegram работает идеально, пинги проходят, и даже гуглится «почему не работает интернет». Знакомая картина?
В 80% случаев проблема не в провайдере и не в железе. Проблема в одной маленькой цифре, о которой 9 из 10 сисадминов вспоминают только после часа безуспешного траблшутинга. Эта цифра — MTU.
После прочтения этой статьи вы сможете:
- За 5 минут диагностировать проблемы с MTU на любом устройстве
- Подобрать оптимальное значение MTU для вашего типа подключения
- Настроить MTU на Windows, Linux, macOS и популярных роутерах
- Понять разницу между MTU и MRU (и почему это важно)
- Решить проблемы с «чёрными дырами» в сети и фрагментацией пакетов
Быстрое решение для нетерпеливых: Если у вас PPPoE-подключение (Ростелеком, Дом.ру) и не открываются крупные сайты — попробуйте установить MTU 1492 на роутере или сетевой карте. В 70% случаев это решает проблему за минуту.
Что такое MTU простыми словами
MTU (Maximum Transmission Unit) — это максимальный размер пакета данных, который может быть передан по сети за одну операцию без разбиения на части.
Если совсем просто: это максимальный размер «контейнера», в который упаковываются ваши данные перед отправкой по интернету.
Аналогия с грузовиками и тоннелями
Представьте доставку товаров:
- MTU — это максимальная высота грузовика, который может проехать по дороге
- Данные — это товары, которые нужно доставить
- Тоннели на пути — это различные типы сетевых соединений (Ethernet, PPPoE, VPN)
Если у вас есть грузовик высотой 1500 единиц (стандартный Ethernet), но на пути встречается туннель высотой 1492 (PPPoE), происходит одно из двух:
- Фрагментация (Fragment) — грузовик разбирается на части, проезжает по кусочкам через туннель, собирается на выходе. Это медленно и неэффективно.
- Отбрасывание (Drop) — если на пакете стоит флаг «Don’t Fragment» (DF), пакет просто отбрасывается, и вы получаете ошибку «Packet needs to be fragmented but DF set».

Значение MTU 1500 байт — это стандарт для Ethernet, установленный ещё в 1980-х годах. Это компромисс между эффективностью передачи (чем больше пакет, тем меньше накладных расходов) и вероятностью ошибок (чем больше пакет, тем выше шанс повреждения при передаче).
Структура стандартного Ethernet-кадра:
- 14 байт — Ethernet-заголовок
- 1500 байт — полезные данные (MTU)
- 4 байта — CRC (контрольная сумма)
- Итого: 1518 байт — полный размер кадра
А что такое MRU?
MRU (Maximum Receive Unit) — это максимальный размер пакета, который устройство готово принять.
Ключевое отличие MTU от MRU:
| Параметр | MTU | MRU |
|---|---|---|
| Направление | Исходящие данные (что отправляем) | Входящие данные (что принимаем) |
| Настраивается | На отправляющей стороне | На принимающей стороне |
| Где важно | Ethernet, PPPoE, VPN | PPPoE, PPP-туннели |
| Проблемы при несовпадении | Фрагментация или дропы пакетов | Обрезание входящих пакетов |
Почему о MRU часто забывают?
В большинстве соединений (обычный Ethernet, Wi-Fi) MRU автоматически равен MTU, и его не нужно настраивать отдельно. Но в PPPoE и VPN-туннелях MRU играет критическую роль:
- Если MTU = 1492, а MRU = 1500, то исходящие пакеты будут корректными, но крупные входящие пакеты могут обрезаться
- Золотое правило: MTU и MRU должны совпадать или MRU ≥ MTU
Размер MTU в разных средах
Разные типы соединений имеют разные накладные расходы (overhead), что влияет на оптимальный размер MTU:
| Тип соединения | Стандартное MTU | Overhead | Почему именно так |
|---|---|---|---|
| Ethernet | 1500 | 14 байт (заголовок) | Базовый стандарт IEEE 802.3 |
| PPPoE | 1492 | 8 байт (PPPoE заголовок) | 1500 — 8 = 1492 |
| PPTP VPN | 1400 | ~100 байт (GRE + IP) | Устаревший протокол |
| L2TP/IPSec | 1460 | ~40 байт (L2TP+IPSec) | Типовое для корпоративных VPN |
| OpenVPN UDP | 1450-1500 | Зависит от настроек | Можно уменьшить через tun-mtu |
| OpenVPN TCP | 1400 | TCP over TCP проблема | Двойная инкапсуляция |
| WireGuard | 1420 | 80 байт (headers) | Оптимизированный протокол |
| IPSec (transport) | 1442 | ~58 байт | Зависит от алгоритмов шифрования |
| Jumbo Frame | 9000 | 14 байт | Только для локальных сетей! |
| IPv6 (минимум) | 1280 | 40 байт (IPv6 header) | Обязательный минимум RFC 8200 |
| 3G/4G | 1400-1500 | Зависит от оператора | Часто автоопределение |
Какое MTU ставить? Таблица оптимальных значений
Самый частый вопрос: «Какое значение MTU мне нужно?» — зависит от типа вашего подключения. Вот исчерпывающая таблица:
| Тип подключения / Оборудования | Рекомендуемое MTU | Рекомендуемое MRU | Примечание |
|---|---|---|---|
| Ethernet (проводное) | 1500 | 1500 | Стандарт по умолчанию |
| PPPoE (Ростелеком, Дом.ру) | 1492 | 1492 | Или 1472 для старого оборудования |
| L2TP (Билайн VPN) | 1460 | 1460 | Типовое значение |
| PPTP (устаревшие VPN) | 1400 | 1400 | Лучше меньше из-за GRE |
| OpenVPN UDP | 1500 | 1500 | С учётом overhead в конфиге |
| OpenVPN TCP | 1400 | 1400 | TCP over TCP — снижаем! |
| WireGuard | 1420 | 1420 | Оптимально для большинства сетей |
| IPSec Site-to-Site | 1400-1460 | 1400-1460 | Зависит от режима (transport/tunnel) |
| 3G/4G USB-модем | 1400-1472 | 1400-1472 | Часто автоопределение оператором |
| Wi-Fi (общее) | 1500 | 1500 | Стандарт, но бывают проблемы |
| DSL (ADSL/VDSL) | 1492 | 1492 | Обычно через PPPoE |
| Игровые консоли (PS5/Xbox) | 1473 | 1473 | Рекомендация от Sony/Microsoft |
| Steam/Epic Games | 1500 | 1500 | Лучше стандарт |
| Docker контейнеры | 1450-1500 | 1450-1500 | Зависит от overlay-сети |
| Kubernetes (CNI) | 1440-1450 | 1440-1450 | Calico, Flannel — разные значения |
| AWS VPC (default) | 1500 | 1500 | 9000 для Jumbo Frame |
| Azure VNet | 1500 | 1500 | До 9000 в некоторых конфигурациях |
| Google Cloud VPC | 1460 | 1460 | По умолчанию занижен |
| NAS/iSCSI (локальная сеть) | 9000 | 9000 | Jumbo Frame для производительности |
Важно: Эти значения — отправная точка. Идеальное MTU нужно подбирать для вашей конкретной сети методом тестирования (об этом ниже).
Как узнать текущее значение MTU
Перед тем как что-то менять, нужно понять, какое MTU у вас сейчас настроено.
Windows 10/11 (CMD/PowerShell)
Способ 1: Через netsh (рекомендуется)
# Открываем CMD от имени администратора netsh interface ipv4 show subinterfaces # Вывод: # МТИ МедиаСост Вх.байты Исх.байты Интерфейс # ------ ----------- --------- --------- ---------- # 4294967295 1 0 0 Loopback Pseudo-Interface 1 # 1500 1 12345678 87654321 Ethernet # 1500 1 9876543 23456789 Wi-Fi
Колонка «МТИ» (или «MTU» в английской версии) — это текущее значение MTU для каждого интерфейса.
Способ 2: Через PowerShell
Get-NetIPInterface | Select-Object InterfaceAlias, NlMtu # Вывод: # InterfaceAlias NlMtu # -------------- ----- # Ethernet 1500 # Wi-Fi 1500 # Loopback Pseudo-Interface 1 4294967295
Способ 3: Через реестр (для любопытных)
# Путь в реестре:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}
# Параметр: MTU (тип DWORD)
# Если параметр отсутствует, используется автоматическое определение
Linux (ip/ifconfig)
Способ 1: Команда ip (современный метод)
ip link show # Вывод: # 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN # 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP # 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP # Для конкретного интерфейса: ip link show eth0 | grep mtu
Способ 2: Устаревший ifconfig
ifconfig eth0 # Вывод: # eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 # inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 # ...
Способ 3: Через /sys (прямое чтение из ядра)
cat /sys/class/net/eth0/mtu # Вывод: 1500
macOS
Способ 1: Через ifconfig
ifconfig en0 | grep mtu # Вывод: # en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
Способ 2: Через networksetup (GUI-подобный)
# Список всех интерфейсов networksetup -listallnetworkservices # Для конкретного интерфейса (например, Wi-Fi): networksetup -getMTU Wi-Fi # Вывод: # Active MTU: 1500 (Hardware Default: 1500)
Роутеры (TP-Link, MikroTik, Keenetic, Zyxel)
TP-Link
Путь в веб-интерфейсе:
- Заходим в веб-интерфейс: обычно
192.168.0.1или192.168.1.1 - Network (Сеть) → Internet (Интернет)
- Прокручиваем вниз до Advanced Settings (Дополнительные настройки)
- Ищем MTU Size — текущее значение отображается там
MikroTik RouterOS
# Через терминал (SSH или WinBox → New Terminal) /interface ethernet print # Вывод покажет MTU для каждого интерфейса # Например: # Flags: X - disabled, R - running # 0 R name="ether1" mtu=1500 mac-address=... # Для конкретного интерфейса: /interface ethernet print detail where name=ether1
Keenetic
Путь:
- Веб-интерфейс:
http://my.keenetic.netили192.168.1.1 - Интернет → Другие подключения → Выберите ваше подключение
- Прокрутите до раздела Параметры IP
- Там будет поле MTU с текущим значением
Zyxel Keenetic / Zyxel NBG
Путь:
- Веб-интерфейс: обычно
192.168.1.1 - Configuration (Конфигурация) → Network (Сеть) → WAN
- Выберите активное WAN-подключение
- Ищите MTU Size в настройках интерфейса
Как подобрать идеальный MTU (пошаговый алгоритм)
Теперь самое важное: как найти оптимальное значение MTU для вашей сети.
Метод ping с запретом фрагментации (универсальный способ)
Этот метод работает для всех операционных систем и позволяет точно определить максимальное MTU без фрагментации.
Как это работает:
- Отправляем ICMP-пакет (ping) определённого размера
- Запрещаем фрагментацию (флаг Don’t Fragment)
- Если пакет проходит — MTU достаточно большое
- Если видим ошибку «Packet needs to be fragmented» — MTU слишком маленькое
- Подбираем максимальное значение, при котором пакет проходит
- Прибавляем размер заголовков (28 байт: 20 IP + 8 ICMP)
Пошаговая инструкция для Windows
# Открываем CMD # Шаг 1: Начинаем с базового значения 1472 ping -f -l 1472 8.8.8.8 # Если проходит успешно: # Ответ от 8.8.8.8: число байт=1472 время=15мс TTL=117 # Шаг 2: Увеличиваем на 1 и пробуем снова ping -f -l 1473 8.8.8.8 # Если получаем ошибку: # Требуется фрагментация пакета, но установлен запрещающий флаг. # Значит, максимальное значение = 1472 # Шаг 3: Вычисляем MTU # MTU = максимальный размер пакета + 28 байт заголовков # MTU = 1472 + 28 = 1500
Объяснение флагов ping в Windows:
-f— устанавливает флаг Don’t Fragment (запрет фрагментации)-l размер— размер отправляемых данных в байтах (без заголовков)
Пошаговая инструкция для Linux
# Шаг 1: Проверяем базовое значение ping -M do -s 1472 8.8.8.8 # Вывод при успехе: # PING 8.8.8.8 (8.8.8.8) 1472(1500) bytes of data. # 1480 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=15.2 ms # Шаг 2: Увеличиваем размер ping -M do -s 1473 8.8.8.8 # Вывод при ошибке: # ping: local error: message too long, mtu=1500 # Шаг 3: Вычисляем MTU # Максимальное значение = 1472 # MTU = 1472 + 28 = 1500
Объяснение опций ping в Linux:
-M do— устанавливает флаг DF (Do not fragment) и запрещает локальную фрагментацию-s размер— размер ICMP-данных (без заголовков IP и ICMP)
Пошаговая инструкция для macOS
# В macOS используется та же команда, что и в Linux ping -D -s 1472 8.8.8.8 # Флаг -D устанавливает Don't Fragment # Флаг -s задаёт размер данных # Логика подбора та же: # 1. Начинаем с 1472 # 2. Увеличиваем до появления ошибки # 3. Найденное значение + 28 = MTU
Пример для PPPoE-подключения
Если у вас PPPoE (большинство провайдеров в России), типичный сценарий:
# Windows: ping -f -l 1464 8.8.8.8 # Проходит ping -f -l 1465 8.8.8.8 # Требуется фрагментация # Максимум = 1464 # MTU = 1464 + 28 = 1492 ← оптимальное значение для PPPoE
Таблица для быстрого подбора
| Размер ping (-l / -s) | Результат | Действие |
|---|---|---|
| 1472 | ✅ Успех | Пробуем 1473 |
| 1473 | ❌ Фрагментация | MTU = 1472 + 28 = 1500 |
| 1464 | ✅ Успех | Пробуем 1465 |
| 1465 | ❌ Фрагментация | MTU = 1464 + 28 = 1492 (PPPoE) |
| 1392 | ✅ Успех | Пробуем 1393 |
| 1393 | ❌ Фрагментация | MTU = 1392 + 28 = 1420 (WireGuard) |
Что делать, если ping проходит, но сайты не грузят?
Классическая проблема: ping 8.8.8.8 работает отлично, но браузер виснет на загрузке крупных сайтов (YouTube, банки, почта).
Причина: Path MTU Discovery (PMTUD) не работает
PMTUD — это механизм автоматического определения максимального MTU на всём пути от отправителя до получателя. Он работает так:
- Отправитель шлёт пакет с флагом DF (Don’t Fragment)
- Если промежуточный роутер не может передать такой большой пакет, он отправляет обратно ICMP-сообщение «Fragmentation Needed» (Type 3, Code 4)
- Отправитель уменьшает MTU и пробует снова
Проблема «Чёрных дыр» (PMTUD Black Holes):
Некоторые файрволы и роутеры блокируют ICMP-сообщения «Fragmentation Needed». В результате:
- Ваш компьютер шлёт большой пакет с DF
- Промежуточный роутер не может его передать и отбрасывает
- ICMP-сообщение об ошибке блокируется файрволом
- Ваш компьютер не знает, что нужно уменьшить MTU, и продолжает слать большие пакеты
- Соединение зависает
Решение:
- Принудительно снизьте MTU на 50-100 байт от максимального
- Например, если ping проходит с 1472, установите MTU не 1500, а 1450
- Проверьте работу сайтов
- Если не помогло, снижайте дальше (1400, 1350)
# Проверка PMTUD вручную # Если этот пинг НЕ работает, но пинг без -f работает: ping -f -l 1472 youtube.com # То у вас проблема с PMTUD на пути к YouTube # Решение: снизить MTU на роутере/ПК до 1450 или ниже
Настройка MTU на разных устройствах
Теперь вы знаете, какое MTU вам нужно. Пора его настроить.
Windows 10/11
Способ 1: Через netsh (рекомендуется)
# Открываем CMD от имени администратора # Шаг 1: Смотрим список интерфейсов netsh interface ipv4 show subinterfaces # Шаг 2: Устанавливаем MTU для нужного интерфейса # Синтаксис: netsh interface ipv4 set subinterface "Имя_интерфейса" mtu=ЗНАЧЕНИЕ store=persistent netsh interface ipv4 set subinterface "Ethernet" mtu=1492 store=persistent # Для Wi-Fi: netsh interface ipv4 set subinterface "Wi-Fi" mtu=1492 store=persistent # Шаг 3: Перезагружаем сетевой адаптер или перезагружаем ПК
Важно: Имя интерфейса должно точно совпадать (включая пробелы и регистр). Если в имени есть пробелы, используйте кавычки.
Способ 2: Через реестр (для опытных)
# 1. Открываем Редактор реестра (Win+R → regedit) # 2. Переходим в: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces # 3. Находим подключ с вашим интерфейсом (смотрите по IP-адресу) # 4. Создаём параметр DWORD (32 бита) с именем: MTU # 5. Устанавливаем значение в десятичном формате, например: 1492 # 6. Перезагружаем ПК
Способ 3: Через сторонние утилиты
TCP Optimizer (бесплатная утилита от SpeedGuide):
- Скачиваем с
https://www.speedguide.net/downloads.php - Запускаем от имени администратора
- На вкладке «Advanced Settings» → «MTU»
- Устанавливаем нужное значение
- Нажимаем «Apply changes»
- Перезагружаем ПК
Linux (Debian/Ubuntu/CentOS)
Временная настройка (до перезагрузки)
# Устанавливаем MTU командой ip sudo ip link set dev eth0 mtu 1492 # Проверяем ip link show eth0 | grep mtu
Постоянная настройка — Debian/Ubuntu с netplan
# Редактируем конфиг netplan sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
mtu: 1492
# Применяем изменения sudo netplan apply
Постоянная настройка — Debian/Ubuntu с /etc/network/interfaces
sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
mtu 1492
# Перезапускаем сеть sudo systemctl restart networking
Постоянная настройка — CentOS/RHEL/AlmaLinux
# Для NetworkManager sudo nmcli connection modify "Wired connection 1" 802-3-ethernet.mtu 1492 sudo nmcli connection down "Wired connection 1" sudo nmcli connection up "Wired connection 1" # Или через конфиг sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
# Добавляем строку: MTU=1492
# Перезапускаем интерфейс sudo ifdown eth0 && sudo ifup eth0
macOS
Временная настройка
# Устанавливаем MTU для интерфейса en0 (обычно Ethernet/Wi-Fi) sudo ifconfig en0 mtu 1492 # Проверяем ifconfig en0 | grep mtu
Постоянная настройка через networksetup
# Смотрим список сервисов networksetup -listallnetworkservices # Устанавливаем MTU для конкретного сервиса sudo networksetup -setMTU "Wi-Fi" 1492 # Проверяем networksetup -getMTU "Wi-Fi"
Роутеры: пошаговые инструкции
TP-Link
- Заходим в веб-интерфейс:
192.168.0.1илиtplinkwifi.net - Network (Сеть) → Internet (Интернет)
- Прокручиваем вниз до Advanced Settings
- Находим поле MTU Size
- Меняем значение (например, с 1500 на 1492)
- Нажимаем Save (Сохранить)
- Роутер перезагрузится автоматически или нужно сделать это вручную
MikroTik RouterOS
# Через терминал (WinBox → New Terminal или SSH) # Просмотр текущих значений /interface ethernet print # Изменение MTU для интерфейса ether1 /interface ethernet set ether1 mtu=1492 # Для PPPoE-клиента (если используется) /interface pppoe-client print /interface pppoe-client set 0 mtu=1492 mru=1492 # Проверка /interface ethernet print detail
Важно для MikroTik: Обязательно устанавливайте и MTU, и MRU одинаковыми для PPPoE!
Keenetic
- Веб-интерфейс:
http://my.keenetic.net - Интернет → Выберите ваше подключение (например, «Проводное»)
- Прокрутите до Параметры IP
- Найдите MTU — измените значение
- Сохранить
- Роутер применит изменения автоматически
Zyxel Keenetic (старые модели)
- Веб-интерфейс:
192.168.1.1 - Интернет → Подключение
- Выберите активное подключение
- В разделе Настройки параметров IP найдите MTU
- Измените значение
- Применить
VPN-клиенты
OpenVPN (.ovpn конфиг)
# Открываем .ovpn файл в текстовом редакторе nano my-vpn-config.ovpn # Добавляем или изменяем строки: tun-mtu 1400 mssfix 1360 # Сохраняем и переподключаемся
Объяснение параметров:
tun-mtu 1400— устанавливает MTU для TUN-интерфейсаmssfix 1360— принудительно уменьшает TCP MSS (Maximum Segment Size) для избежания фрагментации
WireGuard
# В конфиге клиента (wg0.conf) [Interface] PrivateKey = ... Address = 10.0.0.2/24 MTU = 1420 [Peer] PublicKey = ... Endpoint = vpn.example.com:51820 AllowedIPs = 0.0.0.0/0
Подмена MTU для конкретного подключения (Linux)
# Для интерфейса VPN (например, tun0) sudo ip link set dev tun0 mtu 1400 # Проверка ip link show tun0
Проблемы из-за неправильного MTU: диагностика и лечение
Симптомы «MTU mismatch»
Вот классические признаки, что у вас проблема с MTU:
- ✅ Google открывается (лёгкая страница, мало данных)
- ❌ YouTube не грузится или зависает на «Loading…»
- ✅ Ping проходит к любым серверам
- ❌ Крупные сайты (банки, маркетплейсы) не открываются или открываются частично
- ❌ Почта работает, но письма с вложениями не отправляются
- ❌ Игры не подключаются к серверам или вылетают после загрузки
- ❌ FTP/SFTP не может передать крупные файлы
- ✅ SSH работает идеально
- ❌ VPN подключается, но интернет через него не работает
Почему так происходит?
Маленькие пакеты (ping, DNS-запросы, текстовые страницы) проходят без проблем. Большие пакеты (загрузка видео, файлов, игровые данные) требуют фрагментации или отбрасываются из-за несовпадения MTU на пути.
Чёрные дыры MTU (PMTUD Black Holes)
Что это: Ситуация, когда промежуточный роутер отбрасывает пакеты, которые слишком большие, но ICMP-сообщение «Fragmentation Needed» не доходит до отправителя.
Как найти маршрутизатор-убийцу:
# Windows: tracert с большим пакетом tracert -h 30 youtube.com # Запоминаем маршрут, затем пингуем каждый хоп с большим MTU ping -f -l 1472 [IP-адрес-хопа] # Тот хоп, на котором пинг перестаёт проходить = проблемный роутер
# Linux: traceroute с MTU traceroute -F -N 1 youtube.com # Или tracepath (показывает MTU на каждом хопе) tracepath youtube.com # Вывод покажет, на каком хопе MTU уменьшается
Решение:
- Принудительно снизьте MTU на вашем роутере/ПК на 50-100 байт
- Если у вас есть доступ к проблемному роутеру — увеличьте на нём MTU
- Используйте MSS Clamping на вашем роутере (для TCP-трафика)
MSS Clamping — что это и как помогает
MSS (Maximum Segment Size) — это максимальный размер данных в одном TCP-сегменте (без заголовков).
Связь с MTU:
MSS = MTU - 40 байт (20 IP + 20 TCP заголовки) # Например: MTU 1500 → MSS 1460 MTU 1492 → MSS 1452 MTU 1400 → MSS 1360
MSS Clamping — это механизм на роутере, который принудительно уменьшает MSS в TCP-пакетах, проходящих через него. Это предотвращает фрагментацию даже при неправильном MTU на клиенте.
Настройка на MikroTik:
# Включаем MSS Clamping для PPPoE /interface pppoe-client set 0 tcp-mss-fix=yes # Или принудительно задаём MSS /ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn \ tcp-mss=1360-65535 action=change-mss new-mss=clamp-to-pmtu
Настройка на Linux (iptables):
# Принудительно устанавливаем MSS 1360 для всех исходящих TCP-соединений sudo iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --set-mss 1360 # Или автоматически по PMTU sudo iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN \ -j TCPMSS --clamp-mss-to-pmtu
Специфика для игр
Steam скачивает, но игры не запускаются
Проблема: Загрузка файлов идёт через HTTP (работает), но игровые серверы используют UDP с большими пакетами (не работает из-за MTU).
Решение:
- Установите MTU 1500 на сетевой карте
- Если не помогло — снизьте до 1450
- В настройках Steam: Settings → Downloads → Download Region — выберите ближайший регион
Discord звонки работают, но лобби в игре не видно
Проблема: Voice-трафик Discord использует маленькие пакеты (работает), игровое UDP-подключение требует большие пакеты (MTU mismatch).
Решение: Установите MTU 1473 на сетевом адаптере (рекомендация для игровых консолей, работает и для ПК).
Оптимальный MTU для популярных игр
| Игра / Платформа | Рекомендуемое MTU | Примечание |
|---|---|---|
| CS2 (Counter-Strike 2) | 1500 | Стандарт работает лучше всего |
| Dota 2 | 1500 | Valve рекомендует не менять |
| Call of Duty: Warzone | 1473 | Консольная оптимизация |
| Fortnite | 1500 | Epic Games серверы |
| Valorant | 1500 | Riot оптимизирует под стандарт |
| World of Warcraft | 1500 | Blizzard серверы |
| FIFA / EA Sports | 1473 | Консольная оптимизация |
| PlayStation Network | 1473 | Официальная рекомендация Sony |
| Xbox Live | 1480 | Microsoft рекомендация |
Jumbo Frame — когда нужно MTU 9000?
Что такое Jumbo Frame и зачем это нужно
Jumbo Frame — это Ethernet-кадры с размером полезной нагрузки до 9000 байт (вместо стандартных 1500).
Зачем:
- Уменьшение overhead (накладных расходов) — меньше заголовков на единицу данных
- Снижение нагрузки на CPU — меньше прерываний при обработке пакетов
- Увеличение пропускной способности на 10-20% для больших файлов
Где это действительно нужно:
- NAS и файловые серверы — передача больших файлов в локальной сети
- iSCSI — блочное хранилище по сети
- Дата-центры — внутренние связи между серверами
- Бэкап-серверы — ускорение резервного копирования
- Кластеры БД — репликация данных
Когда НЕ НУЖНО ставить Jumbo Frame
- ❌ Домашняя сеть для обычного использования (интернет-сёрфинг, стриминг)
- ❌ Интернет-трафик — провайдеры не поддерживают Jumbo Frame
- ❌ Wi-Fi — не поддерживает Jumbo Frame
- ❌ Смешанное оборудование — если хотя бы одно устройство не поддерживает
- ❌ VPN-туннели через интернет
Правило «всё или ничего»: Jumbo Frame работает только если ВСЕ устройства на пути поддерживают его:
- Сетевые карты на обоих концах
- Все свитчи между ними
- Роутеры (если есть маршрутизация)
Если хотя бы одно звено не поддерживает — пакеты будут фрагментироваться или отбрасываться.
Настройка Jumbo Frame
Сетевая карта (Windows)
- Диспетчер устройств → Сетевые адаптеры
- ПКМ на адаптере → Свойства
- Вкладка «Дополнительно»
- Найти параметр «Jumbo Packet» или «Jumbo Frame»
- Установить значение 9000 или 9014
- OK → перезагрузка адаптера
Сетевая карта (Linux)
# Временно
sudo ip link set dev eth0 mtu 9000
# Постоянно (netplan)
network:
ethernets:
eth0:
mtu: 9000
Свитч (управляемый)
В веб-интерфейсе свитча найти настройку «Jumbo Frame Support» и включить. Обычно это глобальная настройка на всё устройство.
Проверка:
# Windows ping -f -l 8972 192.168.1.100 # Linux ping -M do -s 8972 192.168.1.100 # Если проходит — Jumbo Frame работает # 8972 + 28 = 9000
MTU в облаках и виртуализации
AWS (Amazon Web Services)
По умолчанию: MTU 1500 для большинства типов инстансов.
Jumbo Frame: MTU 9001 поддерживается внутри VPC между инстансами в одном регионе.
# Проверка текущего MTU на EC2
ip link show eth0
# Установка MTU 9001 (временно)
sudo ip link set dev eth0 mtu 9001
# Постоянно через cloud-init
# /etc/cloud/cloud.cfg.d/99-mtu.cfg
network:
config:
- type: physical
name: eth0
mtu: 9001
Важно: Jumbo Frame в AWS работает только внутри VPC. Трафик через Internet Gateway всегда ограничен 1500.
Azure (Microsoft)
По умолчанию: MTU 1500.
Jumbo Frame: Не поддерживается на большинстве типов VM. Некоторые специализированные инстансы (HPC) поддерживают до 3900.
# Проверка на Azure VM ip link show eth0 # Azure обычно автоматически настраивает MTU через DHCP
Google Cloud Platform
По умолчанию: MTU 1460 (занижен из-за GRE-инкапсуляции).
Настройка:
# Создание сети с кастомным MTU gcloud compute networks create my-network --mtu=1500 # Или изменение существующей gcloud compute networks update my-network --mtu=1500
Важно: В GCP MTU настраивается на уровне VPC Network, а не отдельных VM.
Docker и контейнеры
Проблема: Docker по умолчанию создаёт veth-интерфейсы с MTU 1500, но если хост имеет меньший MTU (например, через VPN), возникают проблемы.
# Проверка MTU в контейнере docker run --rm alpine ip link show eth0 # <a href="https://it-apteka.com/ustanovka-n8n-v-lxc-kontejner-proxmox-polnaja-instrukcija-ot-a-do-ja/" title="Установка N8N в LXC контейнер Proxmox: полная инструкция от А до Я" data-wpil-monitor-id="438">Установка MTU для конкретного контейнера</a> docker run --network bridge --mtu 1450 alpine # Установка MTU для всей Docker-сети docker network create --opt com.docker.network.driver.mtu=1450 my-network
Постоянная настройка в daemon.json:
# /etc/docker/daemon.json
{
"mtu": 1450
}
# Перезапуск Docker sudo systemctl restart docker
Kubernetes (CNI)
Разные CNI-плагины по-разному обрабатывают MTU:
- Calico: Автоматически уменьшает MTU на 20-50 байт от хостового
- Flannel: По умолчанию MTU 1450
- Cilium: Автоматическое определение
- Weave: MTU 1376 по умолчанию
Настройка для Calico:
# В манифесте calico.yaml - name: FELIX_IPINIPMTU value: "1440" - name: FELIX_WIREGUARDMTU value: "1420"
Часто задаваемые вопросы (FAQ)
MTU 1500 или 1492 — что лучше для PPPoE?
Ответ: Для PPPoE рекомендуется MTU 1492. PPPoE добавляет 8 байт заголовка к стандартному Ethernet-кадру, поэтому максимальная полезная нагрузка = 1500 — 8 = 1492. Если установить 1500 на PPPoE-соединении, пакеты будут фрагментироваться, что снижает производительность.
Почему после настройки MTU пропал интернет?
Возможные причины:
- Слишком маленькое MTU (меньше 576) — некоторые протоколы не работают
- Слишком большое MTU — все пакеты отбрасываются
- Неправильное имя интерфейса в команде настройки
- Не перезагрузили сетевой адаптер после изменения
Решение: Сбросьте MTU на дефолтное значение (см. вопрос ниже) и настройте заново.
MTU влияет на скорость интернета?
Ответ: Напрямую — нет, косвенно — да.
- Правильное MTU не увеличивает скорость, но предотвращает фрагментацию, что снижает задержки и потери пакетов
- Неправильное MTU может значительно снизить скорость из-за постоянной фрагментации и переотправки пакетов
- Jumbo Frame в локальной сети может увеличить скорость передачи больших файлов на 10-20%
Как сбросить MTU на дефолтное значение?
Windows:
# Удалить параметр MTU (вернётся автоопределение) netsh interface ipv4 set subinterface "Ethernet" mtu=1500 store=persistent # Или через реестр — удалить параметр MTU
Linux:
# Временно sudo ip link set dev eth0 mtu 1500 # Постоянно — удалить параметр mtu из конфига netplan/interfaces
macOS:
sudo networksetup -setMTU "Wi-Fi" 1500
Роутер: Зайти в веб-интерфейс и установить MTU обратно в 1500 или выбрать «Auto».
Что такое MRU и надо ли его настраивать?
Ответ: MRU (Maximum Receive Unit) — максимальный размер пакета, который устройство готово принять. В большинстве случаев MRU автоматически равен MTU и настраивать его отдельно не нужно. Исключение: PPPoE и VPN-туннели — там MRU нужно устанавливать равным MTU вручную.
Отличается ли MTU для IPv4 и IPv6?
Ответ: Сам механизм MTU одинаков, но есть нюансы:
- IPv4: Минимальный MTU 576 байт (стандарт RFC 791)
- IPv6: Минимальный MTU 1280 байт (обязательно по RFC 8200)
- IPv6-заголовок: 40 байт (на 20 больше, чем IPv4)
- Для IPv6 через туннели (6in4, 6to4) нужно уменьшать MTU дополнительно
Рекомендация: Для двойного стека (dual-stack) устанавливайте MTU не менее 1280.
Нужно ли менять MTU для Wi-Fi?
Ответ: Обычно нет. Wi-Fi использует тот же MTU 1500, что и проводной Ethernet. Но в редких случаях (старое оборудование, плохое покрытие) снижение MTU до 1400-1450 может улучшить стабильность соединения за счёт уменьшения вероятности повреждения больших кадров.
Можно ли сделать автоматическую настройку MTU?
Ответ: Частично да, через DHCP Option 26 (Interface MTU). Современные роутеры и DHCP-серверы могут автоматически сообщать клиентам оптимальное MTU при получении IP-адреса. Но не все клиенты поддерживают эту опцию.
Path MTU Discovery (PMTUD): Автоматическое определение максимального MTU на всём пути от источника до назначения. Работает хорошо, если нет «чёрных дыр» (файрволов, блокирующих ICMP).
Заключение и рекомендации
Теперь вы знаете о MTU и MRU всё, что нужно системному администратору, сетевому инженеру или продвинутому пользователю.
Краткий алгоритм «Диагностика → Подбор → Настройка»
- Диагностика:
- Проверьте текущее MTU:
netsh interface ipv4 show subinterfaces(Windows) илиip link show(Linux) - Определите тип подключения (Ethernet, PPPoE, VPN)
- Проверьте текущее MTU:
- Подбор оптимального значения:
- Используйте ping с флагом Don’t Fragment:
ping -f -l 1472 8.8.8.8(Windows) - Найдите максимальный размер без фрагментации
- Прибавьте 28 байт — это ваш идеальный MTU
- Используйте ping с флагом Don’t Fragment:
- Настройка:
- Установите MTU на роутере (приоритет №1) или на сетевом адаптере ПК
- Для PPPoE/VPN обязательно установите MRU = MTU
- Перезагрузите сетевое оборудование
- Проверьте работу крупных сайтов и игр
Когда НЕ нужно трогать MTU
В 90% случаев стандартное значение MTU 1500 работает идеально. Не меняйте MTU, если:
- ✅ Всё работает нормально (сайты грузятся, игры идут, VPN стабилен)
- ✅ У вас обычное проводное Ethernet-подключение без PPPoE
- ✅ Провайдер автоматически настроил оборудование
- ✅ Вы не понимаете, зачем вам это нужно
Меняйте MTU только если:
- ❌ Сайты не грузятся, но ping проходит
- ❌ VPN подключается, но интернет через него не работает
- ❌ Игры вылетают при подключении к серверам
- ❌ У вас PPPoE, L2TP или другие туннели с overhead
- ❌ Провайдер явно рекомендовал изменить MTU
Золотые правила работы с MTU
- MTU и MRU должны совпадать (особенно на PPPoE и VPN)
- Меньше — безопаснее: если сомневаетесь, лучше занизить на 50 байт
- Не используйте Jumbo Frame для интернет-трафика
- Проверяйте настройки после каждого изменения (ping + открытие крупных сайтов)
- Документируйте: записывайте, какие значения и почему установили
💡 Профессиональный совет: Сохраните эту статью в закладки. MTU — это одна из тех вещей, о которых вспоминаешь раз в полгода, когда что-то ломается. Иметь под рукой готовое руководство с командами и таблицами — это экономия нескольких часов траблшутинга. Теперь вы знаете о пакетах больше, чем 90% системных администраторов!
Остались вопросы или столкнулись с нестандартной ситуацией? Пишите в комментарии — разберём вместе! Поделитесь своим опытом настройки MTU, это поможет другим читателям.
Подпишитесь на наш Telegram-канал IT-Apteka — публикуем готовые решения для сетевых проблем, разборы сложных кейсов, лайфхаки по настройке оборудования. Только практика от реальных инженеров!
Полезные ссылки:




