Изменить размер MTU (Maximum Transmission Unit) в Linux

MTU (Maximum Transmission Unit) - это максимальный размер пакета, который может быть передан с сетевого интерфейса. Все устройства, включая серверы и коммутаторы/маршрутизаторы, участвующие в коммуникации, должны иметь одинаковый размер MTU. Большой размер MTU имеет меньше накладных расходов, связанных с ним, в то время как меньший MTU имеет меньшую задержку.

Размер MTU по умолчанию в большинстве сетей Ethernet составляет 1500 байт. Однако вы можете изменить его в соответствии с требованиями. В этом руководстве мы объясним, как изменить размер MTU в Linux.

Что такое MTU?

MTU (Maximum Transmission Unit), или максимальный размер пакета передачи данных, представляет собой ограничение на размер пакетов, которые могут быть переданы по сети. В Linux этот параметр может быть изменен для оптимизации производительности и устранения проблем с передачей данных.

Просмотр текущего размера MTU

Чтобы посмотреть текущий размер MTU вашего интерфейса ethernet, используйте команду ifconfig следующим образом:

Приведенный ниже результат показывает, что текущий размер MTU интерфейса eht0 равен 1500.

ifconfig |grep mtu

Также можно использовать команду "ip a" для просмотра текущего размера MTU:

Временное изменение размера MTU

Мы можем использовать команду ifconfig для изменения размера MTU сетевого интерфейса системы. Однако помните, что это изменение сохраняется после перезагрузки и возвращается к значению по умолчанию, т.е. 1500.

Чтобы изменить размер MTU интерфейса, используйте следующий синтаксис:

Например, чтобы изменить размер MTU интерфейса с именем eth0 на 1000 байт, выполните следующую команду:

После выполнения вышеуказанной команды размер MTU изменится мгновенно. Это изменение даже не требует перезапуска службы.

Вы можете проверить новый размер MTU, выполнив следующую команду в терминале:

ifconfig | grep mtu

Из приведенного выше результата вы можете убедиться, что размер MTU теперь изменился на 1000 байт. Однако, как уже говорилось ранее, это изменение не переживет перезагрузку. После перезагрузки размер MTU вернется к значению по умолчанию 1500.

Постоянное изменение размера MTU

Команда ifconfig мгновенно изменяет размер MTU, но это изменение не сохраняется после перезагрузки системы.

При динамической IP-адресации размер MTU устанавливается DHCP. Поэтому необходимо настроить конфигурационный файл DHCP, расположенный по адресу /etc/dhcp/dhclient.conf. Для статической IP-адресации мы внесем изменения в файл конфигурации сетевого интерфейса, расположенный по адресу /etc/network/interfaces.

Использование файла /etc/dhcp/dhclient.conf

Если в вашей системе запущен DHCP-сервер и сетевые интерфейсы настроены на получение IP-адресов от него, то для изменения размера MTU используйте файл /etc/dhcp/dhclient.conf.

Отредактируйте nano /etc/dhcp/dhclient.conf с помощью следующей команды:

Затем добавьте следующие строки ниже строки

Например, чтобы установить размер MTU равным 1400, мы добавим:

Если у вас несколько интерфейсов и вы хотите изменить размер MTU только одного интерфейса, то заключите его в скобки следующим образом:

После настройки файла сохраните и закройте его.

Теперь перезапустите сетевую службу с помощью следующей команды в Терминале:

Также запустите интерфейс с помощью следующей команды:

Обязательно замените <interface-name> на реальный сетевой интерфейс в вашей системе, например ens33, eth0, eth1 и т.д.

В нашем случае это будет:

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

Использование файла /etc/network/interfaces

Если ваш сетевой интерфейс настроен на получение статического IP-адреса, то вы можете изменить размер MTU, настроив файл /etc/network/interfaces.

Отредактируйте файл /etc/network/interfaces с помощью следующей команды в Терминале:

Добавьте в файл следующую строку:

Обязательно замените <interface-name> на фактическое имя интерфейса, а <mtu_size> на размер MTU, который вы хотите установить на сетевом интерфейсе.

Например, чтобы изменить размер MTU интерфейса с именем ens33 на 1300 байт, выполните следующую команду:

После настройки файла сохраните и закройте его.

Теперь перезапустите сетевые службы с помощью следующей команды в Терминале:

Также запустите интерфейс с помощью следующей команды:

Обязательно замените <interface-name> на реальный сетевой интерфейс вашей системы, например, ens33, eth0, eth1 и т.д.

В нашем случае это будет:

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

Заключение

Изменение MTU в Linux может быть полезным для обеспечения оптимальной производительности вашей сети. Следуя указанным шагам, вы сможете легко изменить MTU и настроить вашу систему для оптимальной работы.

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Avatar for Владимир
    Владимир

    Спасибо. Менял MTU под AstraLinux - помогло.

    1. Avatar for Gnostis
      Gnostis (автор)

      Спасибо за обратную связь)

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