Утилита ethtool Установка Синтаксис утилиты Имя сетевого интерфейса Настройки сетевой карты Просмотр статистики интерфейса Получение информации о драйвере Изменение настроек сетевого интерфейса Сохранение настроек Идентификация порта сетевой карты Утилита tc Установка Работа с утилитой Ограничение скорости Снятие ограничения скорости Статус сетевой карты
Окружение
Ethtool — утилита настройки сетевых интерфейсов. Ethtool позволяет настраивать автоопределение сетевых настроек (auto-negotiation) сетевого интерфейса и изменять режимы (полудуплексный/полнодуплексный) из командной строки.
Автосогласование (Auto-Negotiation) — это механизм, с помощью которого устройство автоматически выбирает наиболее эффективный режим передачи на основе характеристик своих аналогов. Рекомендуется оставить автосогласование включенным, поскольку оно позволяет устройствам выбирать наиболее эффективные средства для передачи данных.
Полудуплексный режим (Half-duplex) позволяет устройству отправлять или получать пакеты по очереди. Устройство, установленное в этот режим, не может выполнять оба действия одновременно.
Когда режим устройства находится в полнодуплексном режиме (Full-duplex), оно может отправлять и получать пакеты одновременно.
Важно отметить, что ethtool работает только с физическими адаптерами, т.е. для виртуальных устройств просмотр и редактирование настроек недоступны.
Для установки утилиты перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install ethtool
Синтаксис утилиты имеет следующий вид:
ethtool [<параметры>] <имя_сетевого_интерфейса>
Основными параметрами утилиты являются:
--version — версия утилиты;
-i, --driver — информация о драйвере;
-P, --show-permaddr — вывод физического MAC-адреса устройства. Может не совпадать с текущим при использовании bonding;
-p, --identify — мигание светодиодом порта сетевой карты;
-r, --negotiate — повторное согласование скорости передачи данных, если включено автоматическое согласование;
-S, --statistics — вывод статистики;
-s, --change — изменение настроек сетевого интерфейса. После перезагрузки настройки сбрасываются;
-k, --show-offload — просмотр включенных технологий offload;
--reset — сброс настроек различных компонентов сетевой карты, для сброса всех настроек используется all;
ethtool -h — вывод справки о работе с утилитой.
Для получения имени сетевого интерфейса выполните:
ifconfig eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.122.49 netmask 255.255.255.0 broadcast 192.168.122.255 inet6 fe80::5054:ff:fea5:5f03 prefixlen 128 scopeid 0x10<host> ether 00:1e:8c:f4:d0:a5 txqueuelen 1000 (Ethernet) RX packets 21472 bytes 31825829 (30.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 X packets 2217 bytes 182000 (177.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Для получения текущих настроек сетевой карты выполните команду вида:
ethtool <имя_сетевого_интерфейса>
Например:
ethtool eno1 Settings for eno1: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 1 Transceiver: internal MDI-X: on (auto) netlink error: Operation not permitted Current message level: 0x00000007 (7) drv probe link Link detected: yes
Вывод команды показывает, что текущая скорость равна 1000 Мбит/с, дуплекс находится в режиме «Full» и автосогласование включено.
Для получения статистики сетевой карты выполните команду вида:
ethtool -S <имя_сетевого_интерфейса>
ethtool -S eno1 NIC statistics: rx_packets: 8527943 tx_packets: 6515884 rx_bytes: 4924517588 tx_bytes: 2746866206 rx_broadcast: 450774 tx_broadcast: 9 rx_multicast: 277235 tx_multicast: 12177 rx_errors: 0 tx_errors: 0 tx_dropped: 0 multicast: 277235 collisions: 0 ...
Для получения имени драйвера и вывода сопутствующей информации выполните команду вида:
ethtool -i <имя_сетевого_интерфейса>
ethtool -i eno1 driver: r8169 version: 6.6.51-1.red80.x86_64 firmware-version: rtl8168h-2_0.0.2 02/26/15 expansion-rom-version: bus-info: 0000:00:03.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes
Для изменения настроек сетевой карты выполните команду вида:
ethtool -s [<имя_сетевого_интерфейса>] speed [10/100/1000] duplex [half/full] autoneg [on/off]
где:
speed [10/100/1000] — требуемая скорость сетевого интерфейса;
speed [10/100/1000]
duplex [half/full] — режим дуплекса (полудуплексный/полнодуплексный);
duplex [half/full]
autoneg [on/off] — автосогласование (включено/выключено).
autoneg [on/off]
ethtool -s eno1 speed 100 duplex half autoneg on
Для проверки применения установленных настроек сетевой карты выполните команду вывода текущих настроек:
По умолчанию установленные изменения в настройках сетевой карты будут сброшены после перезагрузки системы. Для сохранения внесенных изменений на постоянной основе необходимо отредактировать конфигурационный файл интерфейса устройства.
Для этого откройте файл интерфейса:
nano /etc/sysconfig/network-scripts/ifcfg-<имя_сетевого_интерфейса>
и в конце файла добавьте строку с нужными настройками:
ETHTOOL_OPTS="speed [100|1000|10000] duplex [half|full] autoneg [on|off]"
Сохраните изменения и закройте файл.
После перезагрузки системы внесенные настройки будут автоматически применяться для выбранного сетевого интерфейса.
Одной из полезных функций утилиты ethtool является возможность поиска физического расположения сетевого адаптера путем мигания светодиода устройства. Например, для мигания светодиодом устройства Ethernet eno1 можно использовать команду:
ethtool -p eno1 15
где 15 — продолжительность мигания светодиода в секундах.
15
tc — консольная утилита для просмотра и конфигурирования параметров управления сетевым трафиком. Позволяет управлять классификацией трафика, дисциплинами управления очередями для различных классов трафика либо целиком для сетевого интерфейса.
dnf install iproute-tc
Затем скачайте специальный установочный файл install.sh.
Для вывода списка сетевых карт выполните:
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.122.49 netmask 255.255.255.0 broadcast 192.168.122.255 inet6 fe80::5054:ff:fea5:5f03 prefixlen 128 scopeid 0x10<host> ether 00:1e:8c:f4:d0:a5 txqueuelen 1000 (Ethernet) RX packets 21472 bytes 31825829 (30.3 MiB) RX errors 0 dropped 0 overruns 0 frame 0 X packets 2217 bytes 182000 (177.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Перед началом работы запустите скачанный ранее установочный файл install.sh для каждой сетевой карты, на которой будет регулироваться скорость, например:
/install.sh eno1 Для включения лимита выполните команду /sbin/eno1limiton.sh 1000 2000 Где 1000 - скорость отдачи, 2000 - скорость загрузки Для отключения лимита выполните команду /sbin/eno1limitoff.sh Для просмотра статуса ограничения скорости выполните команду /sbin/eno1limitstatus.sh
Для включения ограничения скорости выполните команду вида:
/sbin/<имя_интерфейса>limiton.sh <скорость_отдачи> <скорость_загрузки>
/sbin/eno1limiton.sh 500 1000 cat /sbin/eno1limitstatus.sh На сетевой карте eno1 установлено ограничение скорости на отдачу 500 килобит, на загрузку 1000 килобит
Для отключения ограничения скорости выполните команду вида:
/sbin/<имя_интерфейса>limitoff.sh
/sbin/eno1limitoff.sh cat /sbin/eno1limitstatus.sh На сетевой карте eno1 не установлено ограничение скорости
Для просмотра статуса сетевой карты выполните команду вида:
cat /sbin/<имя_интерфейса>limitstatus.sh
cat /sbin/eno1limitstatus.sh
Дата последнего изменения: 26.02.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.