ethtool в Linux — утилита, позволяющая получать информацию об интерфейсе и менять настройки для него.
Утилита есть в репозиториях всех популярынх дистрибутивов, в Ubuntu Debian устанавливается с помощью apt
apt install ethtool
Получать информацию с помощью ethtool получится на физических серверах, для виртуальных машин информативного вывода часто не будет.
Использование ethtool в Linux
Чаще всего используется чтобы просто посмотреть установленную для интерфейса пропускную способность
ethtool enp1s0 | grep -i Speed
Cannot get wake-on-lan settings: Operation not permitted
Speed: 100Mb/s
В примере это 100 Мб/сек.
Скорость можно ограничить до 10 Мбит или другого значения. Для этого после имени утилиты и интерфейса передается флаг -s 10 и значение в мегабитах.
Также, среди возможных опций ethtool в Linux есть режим работы. Дуплекс или полудуплекс. Позволяющий передавать данные, соответственно в двух направлениях или в одном.
duplex half
duplex full
Если полоса пропускания для другого сервера, который взаимодействует с этим, будет меньше 100 Мб/сек — обмен данными будет возможен на его скорости.
Утилита ethtool имеет очень много возможности, данные по ним можно увидеть в man ethtool. Базовое использование — запуск с одним аргументом — именем интерфейса.
Пример приведен на скриншоте:
Для диагностики сети часто также используется netperf.
Вместе Linux утилиты ethtool и netperf служат для проверки пропускной способности при планировании сети и диагностике неполадок.
Диагностика сети сервера
Например, диагностика нужна если есть подозрения на просадки скорости или пропускной способности между двумя серверами работающими в кластере, но расположенными при этом в разных локациях.
Такие сервера по разному подключаются к сети и причина проблем может быть на интерфейсе каждого из них, на сетевом обоурдовании доступа, оборудовании провайдера или в пубилчной сети.
При диагностике с помощью ethtool проверяется скорость интерфейса.
На сетевом оборудовании также проверяется скорость порта, в который подключены Linux сервера. Затем между двумя серверами фиксируется пропускная способность с помощью netperf или iperf.
Проблемы во внешней сети ищутся с помощью traceroute и mtr.