Как проверить, установлено ли значение MTU сети в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

Вы рассмотрите три различных подхода: использование современной команды ip link show, традиционного инструмента ifconfig и прямого просмотра информации о сетевом интерфейсе в файловой системе /sys/class/net. По завершении этого лабораторного занятия вы будете способны определять настройки MTU для своих сетевых интерфейсов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/ls -.-> lab-558738{{"Как проверить, установлено ли значение MTU сети в Linux"}} linux/cat -.-> lab-558738{{"Как проверить, установлено ли значение MTU сети в Linux"}} linux/ifconfig -.-> lab-558738{{"Как проверить, установлено ли значение MTU сети в Linux"}} linux/ip -.-> lab-558738{{"Как проверить, установлено ли значение MTU сети в Linux"}} linux/apt -.-> lab-558738{{"Как проверить, установлено ли значение MTU сети в Linux"}} end

На этом этапе вы узнаете, как проверить максимальный размер передаваемого блока (Maximum Transmission Unit, MTU) сетевого интерфейса с использованием команды ip link show. MTU представляет собой максимальный размер пакета данных, который сетевой интерфейс может обработать без фрагментации. Понимание MTU важно для устранения сетевых неполадок и настройки производительности.

Команда ip является мощным инструментом в Linux для управления сетевыми интерфейсами, маршрутизацией и туннелями. Подкоманда link используется для отображения и изменения сетевых интерфейсов.

Если терминал еще не открыт, откройте его. Для этого нажмите на значок Xfce Terminal слева на рабочем столе.

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

ip link show

Эта команда отобразит информацию о всех сетевых интерфейсах в вашей системе. Вы увидите вывод, похожий на следующий:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff

Найдите строку, соответствующую основному сетевому интерфейсу. В этой среде это обычно eth0. Там вы найдете значение mtu. В приведенном выше примере MTU для eth0 равен 1500.

Интерфейс lo - это локальный петлевой интерфейс (loopback interface), который используется для внутреннего обмена данными в системе. Его MTU обычно намного больше.

Откройте терминал и введите команду ip link show. Найдите строку, соответствующую основному сетевому интерфейсу (обычно eth0), и определите значение MTU.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка MTU с помощью ifconfig

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

Сначала установим net-tools, который содержит команду ifconfig. Мы снова воспользуемся apt, как и при установке htop.

Если терминал еще не открыт, откройте его.

Введите следующую команду для установки net-tools и нажмите Enter:

sudo apt update
sudo apt install net-tools -y

Флаг -y автоматически отвечает "да" на все запросы во время установки, что делает процесс более плавным.

После завершения установки вы можете использовать команду ifconfig. Введите следующую команду и нажмите Enter:

ifconfig

Эта команда отобразит конфигурационную информацию для всех активных сетевых интерфейсов. Вы увидите вывод, похожий на следующий:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:acff:fe11:2  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ac:11:00:02  txqueuelen 1000  (Ethernet)
        RX packets 123  bytes 12345 (12.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 12345 (12.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 123  bytes 12345 (12.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 123  bytes 12345 (12.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Снова найдите раздел, соответствующий eth0. Там вы найдете значение mtu, которое подтвердит значение, которое вы увидели с помощью ip link show.

Использование как ip, так и ifconfig может быть полезным, так как на разных системах или в документации может быть предпочтение одному из этих инструментов.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка MTU в /sys/class/net

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

Информация о сетевых интерфейсах, включая MTU, доступна через каталог /sys/class/net. Каждый сетевой интерфейс в вашей системе будет иметь подкаталог в этом месте.

Если терминал еще не открыт, откройте его.

Сначала выведем список содержимого каталога /sys/class/net, чтобы увидеть доступные сетевые интерфейсы. Введите следующую команду и нажмите Enter:

ls /sys/class/net/

Вы должны увидеть список сетевых интерфейсов, похожий на вывод команд ip link show или ifconfig. В этой среде вы, вероятно, увидите eth0 и lo.

eth0  lo

Теперь посмотрим внутри каталога для нашего основного интерфейса, eth0. Введите следующую команду и нажмите Enter:

ls /sys/class/net/eth0/

Это покажет вам список файлов и каталогов, содержащих информацию о интерфейсе eth0.

addr_assign_type  broadcast    device       ifindex      mtu        phys_port_id  speed
address           carrier      dormant      iflink       napi_defer_hard_irqs  phys_port_name  statistics
addr_len          carrier_changes  duplex       link_mode    netdev_group  power         subsystem
bonding_slave     carrier_up_count  flags        lower_       operstate     proto_down_reason  tx_queue_len
bridge_slave      dev_id       gro_flush_timeout  name_assign_type  perms         qdisc         type

Обратите внимание на файл с именем mtu. Мы можем прочитать содержимое этого файла, чтобы получить значение MTU. Используйте команду cat для отображения содержимого файла mtu. Введите следующую команду и нажмите Enter:

cat /sys/class/net/eth0/mtu

Вы должны увидеть значение MTU, выведенное в терминал, которое должно быть равно 1500.

1500

Этот метод проверки MTU путем чтения файла в /sys предоставляет прямой способ доступа к информации на уровне ядра о сетевом интерфейсе.

Вы успешно проверили MTU с использованием трех разных методов: ip link show, ifconfig и путем исследования файловой системы /sys. Это показывает, что в Linux часто существует несколько способов достичь одной и той же цели.

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

Резюме

В этом практическом уроке вы узнали, как проверить максимальный размер передаваемого блока (Maximum Transmission Unit, MTU) сетевого интерфейса в Linux с использованием трех разных методов. Сначала вы использовали современную команду ip link show для отображения подробной информации о всех сетевых интерфейсах, включая их значения MTU. Затем вы подтвердили эту информацию с помощью более старой, но все еще распространенной команды ifconfig. Наконец, вы изучили, как проверить значение MTU непосредственно из файловой системы /sys/class/net, которая предоставляет программный способ доступа к свойствам сетевых интерфейсов. Эти методы предоставляют различные способы подтверждения настройки MTU, что является важным аспектом для устранения неполадок в сети и оптимизации ее производительности.