Смена MTU
Рассмотрим процесс смены значения MTU для операционных систем семейства Windows и Linux, а также роутерах.
Windows
Командная строка
Открываем командную строку от имени администратора.
Вводим команду для просмотра текущего значения MTU и названия сетевого интерфейса:
netsh interface ipv4 show subinterfaces
Получаем, примерно, следующее:
MTU Состояние определения носителя Вх. байт Исх. байт Интерфейс
—— ————— ——— ——— ————-
1500 1 81324794839 5376993884 Ethernet
* где 1500 — значение MTU (по умолчанию для сетей Etnernet); Ethernet — название интерфейса.
Меняем MTU следующей командой:
netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent
* где Ethernet — название сетевого интерфейса, которое мы получили предыдущей командой; 1492 — новое значение MTU
Реестр
Открываем реестр (команда regedit) и переходим по ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\<4D36E972-E325-11CE-BFC1-08002bE10318.
Внутри будут находиться другие ветки с названиями 0000, 0001, 0002 и так далее. Необходимо пройтись по каждой и найти ключ DriverDesc со значением, похожим на название нашего сетевого адаптера и записать значение ключа NetCfgInstanceId, например:
Переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces. Находим ветку с нашим идентификатором, который мы записали и меняем ключ MTU (при его отсутствии, создаем — тип DWORD):
Чтобы настройки применились выключаем и снова включаем сетевой интерфейс или перезагружаем компьютер.
Linux
Для примера, рассмотрим наиболее популярные дистрибутивы — CentOS и Ubuntu.
Разово
Разово (до перезагрузки) для данных двух систем настройку можно выполнить одной командой:
ip link set mtu 1400 dev eth0
* где 1400 — новое значение MTU; eth0 — сетевой интерфейс, для которого поменяли максимальный размер пакетов.
или в старых системах:
ifconfig eth0 mtu 1400
Постоянно (permanently)
Для систем на базе Debian (Ubuntu) и Red Hat (CentOS) процедура немного отличается.
Ubuntu
Открываем настройку сетевых интерфейсов:
К нужному адаптеру добавляем строчку:
iface eth0 inet static
.
mtu 9000
systemctl restart networking
CentOS
Открываем конфигурационный файл для соответствующего сетевого интерфейса:
Перезапускаем сетевую службу:
systemctl restart network
Роутер
Смена MTU на роутерах различных производителей выполняется, примерно, по одному и тому же принципу — зайти на веб-интерфейс для настройки маршрутизатора, найти раздел с настройкой сети Интернет, задать значение MTU.
Например, для большинства устройств TP-Link: Network — WAN:
Читайте также
Инструкция по смене значения MTU на Windows и Linux
Как в Windows MTU поменять?
Очень редко, но такие моменты наступают, когда необходимо изменить стандартное значение размера пакета.
Если у Вас FTP -клиент не догружает файлы или сайты в интернете открываются не всегда одинаково быстро, то, возможно, настала пора обратить внимание на установленные значения MTU .
Немного теории
Что такое MTU ? Вот как рассказывает нам Wikipedia. Многие задают вопрос не что это такое, а сколько ставить? Однозначного ответа быть не может, так как факторов от которых зависит это значение, очень много: начиная от серверов, где происходит размещение сайтов, провайдеровского сетевого оборудования, стоящего между сайтами и вашим компьютером и от качества линии, соединяющей Вас с глобальной сетью.
Вообще в правильному ваше значение MTU должно быть точно таким же, как и на стороне вашего роутер, маршрутизатора провайдера или куда вы там подключаетесь. Но это не гарантирует Вам хорошую работу. На моем домашнем роутере, к примеру, а также на всех компьютерах домашней сети, установлено значение 1490. Это число я получил экспериментальным методом (если бы я тогда встретил утилиту TCP Optimizer, умеющую определять подходящий MTU , было бы в разы проще). У меня плохо отправлялись файлы на удаленный FTP -сервер, а при этом значении всё отлично работает. Хотя стоит заметить, что значение у провайдера стоит стандартное – 1500.
В Windows MTU можно поменять двумя способами: простым и сложным. Простой способ заключается в установке стороннего программного обеспечения, а сложный – в изменении MTU «родными» средствами.
Начнем с сложного, ибо он самый правильный.
Ручной метод изменения MTU в Windows
Все делается с помощью консоли. Вообще все хорошие и удобные вещи делаются только через консоль. Это стоит запомнить. 😉
- Чтобы было проще работать с сетевыми соединениями, их нужно переименовать во что-то короткое. Вместо «Локальное подключение к сети» в LAN , а «Беспроводное подключение к сети» в WAN .
- Запускаем системную консоль Windows с правами администратора:
- Для того, чтобы посмотреть текущие значения MTU , вводим команду:
вывод будет примерно такой:
В моем случае у меня только один интерфейс и это LAN со стандартным значением MTU 1500.
Теперь вводим команду для того, чтобы изменить MTU для интерфейса LAN :
Этой командой я указал новое значение 1490 для MTU .
Меняем MTU в Windows с помощью TCP Optimizer
Для некоторых проще что-то делать используя графический интерфейс и в этом может помочь утилита TCP Optimizer. Вот, вроде как, ее официальный сайт. У нее достаточно много настроек и самое главное ее достоинство – она умеет определять максимальный пакет, с которым работает ваш компьютер.
Вот пару скринов:
Как вручную изменить MTU в Windows
Добрый день. Сегодня не совсем обычная статья, так как она не является повседневной и не подойдет для любого пользователя. Более того, я крайне не рекомендую лезть в данные параметры людям, которые слабо в техническом плане. Речь идет о MTU, что в википедии описано как «максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.» То есть это размер полезной информации в пакете, который компьютер формирует для отправки в сеть.
Последовательность действий
Так вот, если вы попали на данную статью, я думаю вы уже решили что нужно попробовать его подкрутить. Теоретически, оптимизация данного параметра может помочь с решением проблем некорректной работы некоторых сайтов и сервисов, но опять же теоретически. Я же попробую объяснить, как это сделать средствами операционной системы.
- Итак, для начала открываем командную строку от имени администратора и вводим следующую команду: ping -f -l 1472 ххх.ххх.ххх.ххх, где, 1472=1500(стандартное значение для Ethernet) — 28 (значение заголовка, которое не учитывается) ххх.ххх.ххх.ххх — IP-адрес какого-либо сервера вашего провайдера. Я использовал основной шлюз в сети провайдера. И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1492 (1464+28). Значит дальше я и буду его устанавливать в качестве значения MTU.
Далее вводим команду: netsh interface ipv4 show subinterfaces.
Она покажет значение MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.
Далее вводим следующую команду(для ее выполнения требуется чтобы командная строка была запущена от имени администратора): netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent.
Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции.
На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.