Как узнать mtu linux

Узнать значение и поменять MTU в Linux

Узнать значение MTU для всех интерфейсов можно выполнив в консоли команду ip link

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:
mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000

link/ether 54:52:00:91:96:85 brd ff:ff:ff:ff:ff:ff

Чаще всего встречается 1500 — это значение по умолчанию для Ethernet интерфейсов.

Поменять MTU на сервере с Debian можно так:

ip link set dev eth0 mtu 1400

При этом начинает использоваться значение 1400, после перезагрузки эти изменения не сохранятся.

Чтобы сделать их постоянными нужно отредактировать файл /etc/network/interfaces

Для CentOS это скрипты /etc/sysconfig/network-scripts/*, для других систем иначе — для Debian также возможны варианты, но чаще всего это /etc/network/interfaces

К нужному интерфейсу достаточно дописать mtu 1400 отдельной строкой

IFACE при этом заменить именем интерфейса, таким как eth0

Если настройки сети выдаются DHCP, то секция примет такой вид:

Для сервера, к которому нет доступа по SSH MTU можно узнать экспериментальным путем. Значение может потребоваться при поиске сетевых неполадок.

Это делается за счет опции -M do утилиты ping.

ICMP пакеты при этом будут отправляться с заданным MTU, из ответа будет видно реальное значение.

PING ya.ru (87.250.250.242) 1572(1600) bytes of data.
ping: local error: Message too long, mtu=1500

— ya.ru ping statistics —
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

28 байт вычитается, поскольку они отданы под хэдеры IP и ICMP.

При установке 1500 байт PING проходит успешно.

PING ya.ru (87.250.250.242) 1472(1500) bytes of data.
1480 bytes from ya.ru (87.250.250.242): icmp_seq=1 ttl=57 time=32.0 ms

— ya.ru ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 32.040/32.040/32.040/0.000 ms

Читайте про iface inet — директиву, которую можно увидеть в /etc/network/interfaces

Источник

Как узнать значение MTU

Windows

Нажмите комбинащию клавишь Win + R

В появившемся окне введите cmd и нажмите OK

Как узнать mtu linux. mtu define 01. Как узнать mtu linux фото. Как узнать mtu linux-mtu define 01. картинка Как узнать mtu linux. картинка mtu define 01.

В открывшемся черном окне введите команду:

netsh interface ipv4 show subinterfaces

В первой колонке ответа мы увидим значение MTU:

Как узнать mtu linux. mtu define 02. Как узнать mtu linux фото. Как узнать mtu linux-mtu define 02. картинка Как узнать mtu linux. картинка mtu define 02.

* в данном примере, значение MTU равно 1500 для сетевого адаптера Ethernet.

Linux

ip address

В более современных системах используется утилита для работы с сетевыми интерфейсами — ip address. Вводим команду:

В полученном результате находим нужный сетевой интерфейс и строчку на подобие:

eth0:
mtu 1500 qdisc pfifo_fast state UP qlen 1000

* то, что мы ищем — mtu 1500.

ifconfig

В более ранних системах или с установленным ifconfig вводим:

* где eth0 — сетевой адаптер, для которого хотим узнать MTU.

В полученном результате находим что-то на вроде:

eth0: flags=4163 mtu 1500

* где mtu 1500 — наше значение.

FreeBSD

В данной системе работаем с уже описанным выше ifconfig:

em0: flags=8843 metric 0 mtu 1500

Провайдера

Чтобы определить оптимальное значение MTU для нашего сетевого адаптера, подключенного к сети Интернет, необходимо узнать значение, используемое на оборудовании поставщика.

Для этого выполняем ping с запретом фрагментации сетевых пакетов (-f) и выставлением определенного размера пакета (-l):

* 1472 будет соответствовать MTU — 1500, так как к пакету мы должны еще прибавить 28 (заголовок).

Наша задача — подобрать значение пакета, при котором будет идти пинг:

Ответ от 90.156.242.197: число байт=1472 время=13мс TTL=56
Ответ от 90.156.242.197: число байт=1472 время=12мс TTL=56

Требуется фрагментация пакета, но установлен запрещающий флаг.
Требуется фрагментация пакета, но установлен запрещающий флаг.

Находим значение, которое стоит на границе с ошибкой и прибавляем к нему заголовок пакета — 28. Так мы получаем наше оптимальное MTU.

На данный момент большинство Интернет провайдеров предоставляет услуги связи с фрагментом в 1500. Старые подключения от Ростелеком или подключения на основе PPPoE могут работать на меньших значениях.

Источник

Смена MTU

Рассмотрим процесс смены значения MTU для операционных систем семейства Windows и Linux, а также роутерах.

Windows

Командная строка

Открываем командную строку от имени администратора.

Вводим команду для просмотра текущего значения MTU и названия сетевого интерфейса:

netsh interface ipv4 show subinterfaces

Получаем, примерно, следующее:

* где 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, например:

Как узнать mtu linux. mtu change 01. Как узнать mtu linux фото. Как узнать mtu linux-mtu change 01. картинка Как узнать mtu linux. картинка mtu change 01.

Переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces. Находим ветку с нашим идентификатором, который мы записали и меняем ключ MTU (при его отсутствии, создаем — тип DWORD):

Как узнать mtu linux. mtu change 02. Как узнать mtu linux фото. Как узнать mtu linux-mtu change 02. картинка Как узнать mtu linux. картинка mtu change 02.

Чтобы настройки применились выключаем и снова включаем сетевой интерфейс или перезагружаем компьютер.

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.

Как узнать mtu linux. mtu change 03. Как узнать mtu linux фото. Как узнать mtu linux-mtu change 03. картинка Как узнать mtu linux. картинка mtu change 03.

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

Как узнать mtu linux. myph. Как узнать mtu linux фото. Как узнать mtu linux-myph. картинка Как узнать mtu linux. картинка myph.

Как узнать mtu linux. author. Как узнать mtu linux фото. Как узнать mtu linux-author. картинка Как узнать mtu linux. картинка author.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *