2.5.3.4 Управление пропускной способностью сетевого интерфейса
Скачать документ Утилита ethtool
Установка
Синтаксис утилиты
Имя сетевого интерфейса
Настройки сетевой карты
Просмотр статистики интерфейса
Получение информации о драйвере
Изменение настроек сетевого интерфейса
Сохранение настроек
Идентификация порта сетевой карты
Утилита tc
Установка
Работа с утилитой
Ограничение скорости
Снятие ограничения скорости
Статус сетевой карты
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Рабочая станция
- Версия ПО: ethtool-2:5.8-1, iproute-tc-4.15.0-2
Утилита ethtool
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 mtu 1500
inet 10.60.60.202 netmask 255.255.255.0 broadcast 10.60.60.255
inet6 fe80::21e:8cff:fef4:d0a5 prefixlen 64 scopeid 0x20
ether 00:1e:8c:f4:d0:a5 txqueuelen 1000 (Ethernet)
RX packets 8521042 bytes 4919999618 (4.5 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6512141 bytes 2746424253 (2.5 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xfe500000-fe520000
Настройки сетевой карты
Для получения текущих настроек сетевой карты выполните команду вида:
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: e1000e
version: 5.15.125-1.el7.3.x86_64
firmware-version: 0.13-4
expansion-rom-version:
bus-info: 0000:00:19.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]
– требуемая скорость сетевого интерфейса;duplex [half/full]
– режим дуплекса (полудуплексный/полнодуплексный);autoneg [on/off]
— автосогласование (включено/выключено).
Например:
ethtool -s eno1 speed 100 duplex half autoneg on
Для проверки применения установленных настроек сетевой карты выполните команду вывода текущих настроек:
ethtool <имя_сетевого_интерфейса>
Сохранение настроек
По умолчанию установленные изменения в настройках сетевой карты будут сброшены после перезагрузки системы. Для сохранения внесенных изменений на постоянной основе необходимо отредактировать конфигурационный файл интерфейса устройства.
Для этого откройте файл интерфейса:
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
– продолжительность мигания светодиода в секундах.
Утилита tc
tc – консольная утилита для просмотра и конфигурирования параметров управления сетевым трафиком. Позволяет управлять классификацией трафика, дисциплинами управления очередями для различных классов трафика либо целиком для сетевого интерфейса.
Установка
Для установки утилиты перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install tc
Затем скачайте специальный установочный файл install.sh.
Работа с утилитой
Для вывода списка сетевых карт выполните:
ifconfig eno1: flags=4163 mtu 1500
inet 10.60.60.202 netmask 255.255.255.0 broadcast 10.60.60.255
inet6 fe80::21e:8cff:fef4:d0a5 prefixlen 64 scopeid 0x20
ether 00:1e:8c:f4:d0:a5 txqueuelen 1000 (Ethernet)
RX packets 8521042 bytes 4919999618 (4.5 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6512141 bytes 2746424253 (2.5 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xfe500000-fe520000
Перед началом работы запустите скачанный ранее установочный файл 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
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.