Change mtu in windows

Change mtu in windows

Всем привет! Сегодня хочу рассказать как изменить MTU в Windows. Напомню MTU — Maximum transmission unit (MTU) — это максимальный объём данных, который может быть передан протоколом за одну итерацию. К примеру, Ethernet MTU равняется 1500, что означает, что максимальный объём данных, переносимый Ethernet фреймом не может превышать 1500 байт. Очень часто рядовым пользователям приходится его менять, когда необходимо раздать свой интернет

У каждого провайдера или сетевого устройства, данное значение может быть свое. например 1492 очень часто встречается на роутерах Dlink, и если устройству на устройство будет например приходить пакет 1500 байт, а у него мту настроено 1492, то часть пакетов будут приходить битые, глюки могут выражаться, например у вас не полностью будут отображаться интерфейс сайта, что то загрузилось, а что то нет, первый признак, проверить Maximum transmission unit.

Итак посмотрим какое значение mtu у гугла, откроем командную строку и вводим следующую команду.

Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-01

И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1500 (1472+28). Значит дальше я и буду его устанавливать в качестве значения MTU

Далее, вводим команду:

Она покажет MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. Посмотреть названия можно командой

Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-04

либо в центре управления сетями.

Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-04

У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.

Далее, вводим следующую команду (для ее выполнения требуется чтобы командная строка была запущена от имени администратора)

Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции

Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-06

как отключить автоматическую настройку значения MTU для сетевых подключений:

Чтобы включить автоматическую настройку обратно, нужно заменить disabled на normal

Как изменить значение MTU в Windows 10, Windows 8.1, Windows 7-07

После этого значение mtu будет такое как вам нужно. Вот мы с вами и разобрали как изменить mtu в Windows. Так что значение mtu теперь для вас не секрет.

Как сменить MTU через реестр

Для тех, кто не любит командную строку, есть PowerShell и реестр. В реестре Windows есть ветка:

Класс содержит информацию, о всех ваших сетевых картах, а именно драйверах, их версиях и GUID самой карты. GUID потребуется для определения сетевой карты в другой ветке реестра, но не переживайте я покажу более быстрый метод определения и сопоставления GUID и сетевой карты через PowerShell. На что в данном разделе нужно обратить внимание:

  • Папки 0000, 0001 и так далее — это папки перечисляющие ваши сетевые интерфейсы в Windows, тут вам нужно будет найти нужный по параметрам указанными ниже
  • DriverDesc — Описание драйвера, по сути вы увидите тут производителя вашей сетевой карты, оно поможет вам определить правильный адаптер
  • NetCfgInstanceId — это GUID карточки

Теперь зная GUID идем по пути:

Читайте также:  Курсоры для windows radeon

Среди интерфейсов находим нужный, можно удостовериться, что у него правильный IP-адрес. Найдите ключ MTU, если его нет, то нужно создать REG_DWORD с нужным значением.

Теперь как не заморачиваться с поиском GUID сетевой карты. Откройте PowerShell ISE и запустите мой скрипт:

$aGUID_SET = @(Get-ItemProperty «HKLM:\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\*» | select -ExpandProperty pschildname)

Get-ItemProperty «HKLM:\SYSTEM\CurrentControlSet\Control\Class\<4d36e972-e325-11ce-bfc1-08002be10318>\*» -exclude «Properties» |
Where-Object <$aGUID_SET.Contains($_.NetCfgInstanceId)>|
ForEach-Object <
«»
$_.DriverDesc
$_.NetCfgInstanceId
>

Или просто если нужно вывести все GUID из нужной ветки:

Смена 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: NetworkWAN:

Читайте также

Инструкция по смене значения MTU на Windows и Linux

Как вручную изменить MTU в Windows

Добрый день. Сегодня не совсем обычная статья, так как она не является повседневной и не подойдет для любого пользователя. Более того, я крайне не рекомендую лезть в данные параметры людям, которые слабо в техническом плане. Речь идет о MTU, что в википедии описано как «максимальный размер полезного блока данных одного пакета (англ. payload), который может быть передан протоколом без фрагментации.» То есть это размер полезной информации в пакете, который компьютер формирует для отправки в сеть.

Последовательность действий

Так вот, если вы попали на данную статью, я думаю вы уже решили что нужно попробовать его подкрутить. Теоретически, оптимизация данного параметра может помочь с решением проблем некорректной работы некоторых сайтов и сервисов, но опять же теоретически. Я же попробую объяснить, как это сделать средствами операционной системы.

    Итак, для начала открываем командную строку от имени администратора и вводим следующую команду: ping -f -l 1472 ххх.ххх.ххх.ххх, где, 1472=1500(стандартное значение для Ethernet) — 28 (значение заголовка, которое не учитывается) ххх.ххх.ххх.ххх — IP-адрес какого-либо сервера вашего провайдера. Я использовал основной шлюз в сети провайдера. И смотрим ответ, если ответ получен без потери пакетов, то увеличиваем значение, если выдаст «Требуется фрагментация пакета, но установлен запрещающий флаг.», значит уменьшаем и так, пока не получим крайнее верхнее значение пакета, которое проходит до нашего сервера. У меня получилось 1492 (1464+28). Значит дальше я и буду его устанавливать в качестве значения MTU.

Читайте также:  Отключение защитника windows server 2016

Далее вводим команду: netsh interface ipv4 show subinterfaces.

Она покажет значение MTU для всех сетевых подключений. Нам необходимо узнать как называется интерфейс основного сетевого подключения. У меня это Ethernet, у вас же смотрите по обстановке. Но в большинстве случаев он будет называться так же.

Далее вводим следующую команду(для ее выполнения требуется чтобы командная строка была запущена от имени администратора): netsh interface ipv4 set subinterface «Ethernet» mtu=1492 store=persistent.

Где вместо Ethernet пишем название своего интерфейса, а в значение MTU пишем полученное на первом шаге инструкции.

  • Ну и напоследок отключим автоматическую настройку значения MTU для сетевых подключений: netsh int tcp set global autotuninglevel=disabled.
  • Чтобы включить автоматическую настройку обратно, нужно заменить disabled на normal.

    На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

    Change the default maximum transmission unit (MTU) size settings for PPP connections or for VPN connections

    This article describes how to edit the registry to change the default maximum transmission unit (MTU) size settings for Point-to-Point Protocol (PPP) connections or for virtual private network (VPN) connections.

    Original product version: В Windows 10 — all editions, Windows Server 2012 R2
    Original KB number: В 826159

    Summary

    Windows Server 2003, Windows 2000, and Windows XP use a fixed MTU size of 1500 bytes for all PPP connections and use a fixed MTU size of 1400 bytes for all VPN connections. This is the default setting for PPP clients, for VPN clients, for PPP servers, or for VPN servers that are running Routing and Remote Access.

    PPP connections are connections such as modem connections, Integrated Services Digital Network (ISDN) connections, or direct cable connections over null serial cable or over parallel cable. VPN connections are Point-to-Point Tunneling Protocol (PPTP) connections or Layer 2 Tunneling Protocol (L2TP) connections.

    Use the methods in this article to edit the registry to modify the MTU size settings. If you experience any problems or any performance-related issues after you modify the MTU size settings, remove the registry keys that you added.

    Change the MTU settings for PPP connections

    To change the MTU settings for PPP connections, add the ProtocolType DWORD value, the PPPProtocolType DWORD value, and the ProtocolMTU DWORD value to the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndiswan\Parameters\Protocols\0

    To do so, follow these steps.

    This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, see How to back up and restore the registry in Window.

    Click Start, click Run, type regedit in the Open box, and then click OK.

    Locate and then click the following subkey in the registry:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters

    Add a Protocols subkey (if it does not already exist):

    1. On the Edit menu, point to New, and then click Key.
    2. Type Protocols, and then press ENTER.
    Читайте также:  Windows event source schannel

    Add a 0 (zero) subkey to the Protocols subkey:

    1. Click the Protocols subkey that you created step 3.
    2. On the Edit menu, point to New, and then click Key.
    3. Type 0 (zero), and then press ENTER.

    Click the 0 subkey that you created in step 4.

    On the Edit menu, point to New, and then click DWORD Value.

    In the Value data box, type ProtocolType, and then click OK.

    On the Edit menu, click Modify.

    In the Value data box, type 800, make sure Hexadecimal is selected under Base, and then click OK.

    On the Edit menu, point to New, and then click DWORD Value.

    Type PPPProtocolType, and then press ENTER.

    On the Edit menu, click Modify.

    In the Value data box, type 21, make sure Hexadecimal is selected under Base, and then click OK.

    On the Edit menu, point to New, and then click DWORD Value.

    Type ProtocolMTU, and then press ENTER.

    On the Edit menu, click Modify.

    Under Base, click Decimal, type the MTU size that you want in the Value data box, and then click OK.

    Quit Registry Editor.

    Restart your computer.

    Change the MTU settings for VPN connections

    To change the MTU settings for VPN connections, add the ProtocolType DWORD value, the PPPProtocolType DWORD value, and the TunnelMTU DWORD value to the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndiswan\Parameters\Protocols\0

    To do so, follow these steps.

    This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, see How to back up and restore the registry in Windows.

    Click Start, click Run, type regedit in the Open box, and then click OK.

    Locate and then click the following subkey in the registry:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters

    Add a Protocols subkey (if it does not already exist):

    1. On the Edit menu, point to New, and then click Key.
    2. Type Protocols, and then press ENTER.

    Add a 0 (zero) subkey to the Protocols subkey:

    1. Click the Protocols sub key that you created in step 3.
    2. On the Edit menu, point to New, and then click Key.
    3. Type 0 (zero), and then press ENTER.

    Click the 0 subkey that you created in step 4.

    On the Edit menu, point to New, and then click DWORD Value.

    In the Value data box, type ProtocolType, and then click OK.

    On the Edit menu, click Modify.

    In the Value data box, type 800, make sure Hexadecimal is selected under Base, and then click OK.

    On the Edit menu, point to New, and then click DWORD Value.

    Type PPPProtocolType, and then press ENTER.

    On the Edit menu, click Modify.

    In the Value data box, type 21, make sure Hexadecimal is selected under Base, and then click OK.

    On the Edit menu, point to New, and then click DWORD Value.

    Type TunnelMTU, and then press ENTER.

    On the Edit menu, click Modify.

    Under Base, click Decimal, type the MTU size that you want in the Value data box, and then click OK.

    Quit Registry Editor.

    Restart your computer.

    References

    For more information about PPP, see Request for Comments (RFC) 1548. To do so, see RFC 1548.

  • Оцените статью