- Смена MTU
- Windows
- Командная строка
- Реестр
- Linux
- Разово
- Постоянно (permanently)
- Роутер
- Читайте также
- How can I setup the MTU for my network interface?
- Mtu linux ��� ���
- MTU Discovery Black Hole
- Отмена фильтрации пакетов ICMP
- Динамическая настройка размера передаваемого пакета средствами iptables
- Статическая настройка MTU в параметрах сетевого подключения
- Как узнать и поменять значение MTU в Linux
- Узнать значение и поменять MTU в Linux
- Для постоянной смены MTU в Ubuntu
- Меняем значение MTU при помощи Netplan
- Как изменить размер MTU в Linux
- Предпосылки
- Просмотреть текущий размер MTU
- Временное изменение размера MTU – с помощью команды ifconfig
- Постоянное изменение размера MTU
- Использование файла /etc/dhcp/dhclient.conf
- Использование файла /etc/network/interfaces
Смена 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
Источник
How can I setup the MTU for my network interface?
MTU (Maximum Transmission Unit) is related to TCP/IP networking in Linux/BSD/UNIX oses. It refers to the size (in bytes) of the largest datagram that a given layer of a communications protocol can pass at a time.
You can see current MTU setting with ifconfig command under Linux:
A better way is to use ip command:
As you see, MTU set to 1500 for eth0. Let us say you want this to 1400 then you can use any one of the following command to setup MTU:
# ifconfig eth0 mtu 1400
# ip link set dev eth0 mtu 1400
Verify that new mtu is setup with following command:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
To make the setting permanent for eth0, edit the configuration file:
/etc/network/interfaces (Debian Linux file)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
name Ethernet LAN card
address 192.168.1.2
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.254
mtu 1400
post-up /etc/fw.start
post-down /etc/fw.stop
/etc/sysconfig/network-scripts/ifcfg-eth0 (Red Hat Linux )
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:0F:EA:91:04:07
IPADDR=192.168.1.111
NETMASK=255.255.255.0
NETWORK=192.168.1.0
MTU=1400
ONBOOT=yes
TYPE=Ethernet
Save the file and restart network service
If you are using Redhat:
# service network restart
If you are using Debian:
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Mtu linux ��� ���
В компьютерных сетях термин maximum transmission unit (MTU) означает максимальный размер полезного блока данных одного пакета , который может быть передан протоколом без фрагментации.
Значение MTU определяется стандартом соответствующего протокола, но может быть переопределено автоматически для определённого потока (проколом PMTUD) или вручную для нужного интерфейса. На некоторых интерфейсах MTU по умолчанию может быть установлено ниже максимально возможного. Значение MTU ограничено снизу как правило минимально допустимой длиной кадра.
MTU Discovery Black Hole
Из-за блокирования сетевым оборудованием части служебного трафика может быть нарушена работа технологии PMTUD, которая используется для автоматического определения MTU между узлами сети. Проблема представляет потенциальную опасность для любого PPPoE соединения, использующего MTU меньше типового (1500 байт). Нередко проявляется в том, что часть сайтов не загружается.
Существует несколько вариантов решения этой проблемы.
Отмена фильтрации пакетов ICMP
Отмена фильтрации пакетов ICMP является самым простым способом, однако зачастую подобная операция находится вне компетенции пользователя.
Динамическая настройка размера передаваемого пакета средствами iptables
Для настройки размера передаваемого пакета на шлюзе пользователя средствами iptables меняют значение MSS (максимальный размер сегмента, то есть величина, меньшая MTU на 40 байт в случае протокола IPv4).
Создаём скрипт с дампом правил iptables:
Копируем следующий код и подставляем имя внешнего сетевого интерфейса:
Сохраняем и закрываем: Ctrl + O , Enter , Ctrl + X
Делаем скрипт исполняемым и загружаем правила iptables:
Статическая настройка MTU в параметрах сетевого подключения
Для ручной настройки MTU необходимо подобрать максимальный размер MTU, для которого не будет выводиться сообщение «Frag needed and DF set», записать это значение в параметры текущего сетевого подключения и переустановить соединение.
Для подбора можно воспользоваться следующими командами:
Источник
Как узнать и поменять значение MTU в Linux
Сегодня в статье поговорим Как узнать и поменять значение MTU в Linux/Ubuntu/Debian.
MTU — maximum transmission unit — максимальный размер пакет или фрейма в байтах, который может быть отправлен единовременно без фрагментации.
Узнать значение и поменять MTU в Linux
Узнать значение MTU для всех интерфейсов можно выполнив в консоли команду ip link
Чаще всего встречается 1500 — это значение по умолчанию для Ethernet интерфейсов.
Поменять MTU на сервере с Ubuntu/Debian можно так:
или так для старых систем:
После данной команды начинает использоваться значение 1400, а вот после перезагрузки это значение MTU сбросится в дефолтное
Для постоянной смены MTU в Ubuntu
Открываем настройку сетевых интерфейсов:
К нужному адаптеру добавляем строчку со значением MTU. Вот пример настройки:
Значение теперь будет применяться даже после перезагрузки.
Меняем значение MTU при помощи Netplan
Вот еще один пример как можно сменить значение MTU, но уже через утилиту Netplan на Ubuntu 18.04/20.04
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо.
Источник
Как изменить размер MTU в Linux
Главное меню » Linux » Как изменить размер MTU в Linux
Размер MTU по умолчанию в большинстве сетей Ethernet составляет 1500 байтов. Однако вы можете изменить его в соответствии с требованиями. В этой статье мы объясним, как изменить размер MTU в Linux.
Предпосылки
- Система Ubuntu 20.04
- Пользователь с привилегиями sudo
Просмотреть текущий размер MTU
Чтобы просмотреть текущий размер MTU вашего интерфейса Ethernet, используйте команду ifconfig следующим образом:
Приведенные ниже выходные данные показывают, что текущий размер MTU интерфейса ens33 составляет 1500.
В качестве альтернативы вы также можете использовать команду ip с параметром a для просмотра текущего размера MTU:
Временное изменение размера MTU – с помощью команды ifconfig
Мы можем использовать команду ifconfig, чтобы изменить размер MTU сетевого интерфейса системы. Однако помните, что это изменение сохраняется после перезагрузки и возвращается к значению по умолчанию, то есть 1500.
Чтобы изменить размер MTU интерфейса, используйте следующий синтаксис:
Например, чтобы изменить размер MTU интерфейса с именем ens33 на 1000 байт, команда будет выглядеть так:
После выполнения указанной выше команды размер MTU мгновенно изменяется. Это изменение даже не требует перезапуска службы.
Вы можете проверить новый размер MTU, выполнив следующую команду в Терминале:
Из вышеприведенного вывода вы можете убедиться, что размер MTU теперь изменился до 1000 байт. Однако, как упоминалось ранее, это изменение не сохранится после перезагрузки. Размер MTU вернется к своему значению по умолчанию 1500 после перезагрузки.
Постоянное изменение размера MTU
Команда ifconfig мгновенно изменяет размер MTU, но это изменение не сохраняется после перезагрузки системы. В следующем разделе мы увидим, как навсегда изменить размер MTU.
При динамической IP-адресации размер MTU устанавливается DHCP. Поэтому потребуется настроить файл конфигурации DHCP, расположенный в /etc/dhcp/dhclient.conf . Для статического IP-адреса мы внесем изменения в файл конфигурации сетевого интерфейса, расположенный в /etc/network/interfaces.
Использование файла /etc/dhcp/dhclient.conf
Если в вашей системе работает DHCP-сервер и сетевые интерфейсы настроены на получение от него IP-адресов, используйте файл /etc/dhcp/dhclient.conf для изменения размера MTU.
Отредактируйте nano /etc/dhcp/dhclient.conf, используя следующую команду:
Затем добавьте следующие строки под “send host-name = gethostname ();” в строку:
Например, чтобы установить размер MTU равным 1400, мы добавим:
Если у вас несколько интерфейсов и вы хотите изменить размер MTU только для одного интерфейса, заключите его в фигурные скобки следующим образом:
После того, как вы настроили файл, сохраните и закройте его. Теперь перезапустите сетевую службу, используя следующую команду в терминале:
Также вызовите интерфейс, используя следующую команду:
Обязательно замените фактическим сетевым интерфейсом в вашей системе, например, ens33, eth0, eth1 и т. д.
В нашем случае это будет:
Теперь введите следующую команду в Терминале, чтобы проверить, успешно ли изменился размер MTU.
Из выходных данных вы можете видеть, что размер MTU был изменен на 1400.
Использование файла /etc/network/interfaces
Если ваш сетевой интерфейс настроен на получение статического IP-адреса, вы можете изменить размер MTU, настроив файл / etc / network / interfaces .
Отредактируйте файл /etc/network/interfaces с помощью следующей команды в Терминале:
Добавьте в файл следующую строку:
Обязательно замените фактическим именем интерфейса, а размером MTU, который вы хотите установить на сетевом интерфейсе.
Например, чтобы изменить размер MTU интерфейса с именем ens33 на 1300 байт, команда будет выглядеть так:
После того, как вы настроили файл, сохраните и закройте его.
Теперь перезапустите сетевые службы, используя следующую команду в Терминале:
Также вызовите интерфейс, используя следующую команду:
Обязательно замените фактическим сетевым интерфейсом в вашей системе, например, ens33, eth0, eth1 и т. Д.
В нашем случае это будет:
Теперь введите следующую команду в Терминале, чтобы проверить, успешно ли изменился размер MTU.
Из выходных данных видно, что размер MTU был изменен на 1300. Это изменение останется постоянным и не изменится даже после перезагрузки.
Вот и все! Следуя описанным выше процедурам, вы можете временно или навсегда изменить размер MTU сетевого интерфейса в вашей системе Linux. Надеемся это поможет!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник