Перейти к основному содержанию

ethtool — утилита для работы с сетевыми интерфейсам в Linux

Linux

В помощь системным администраторам полезная Linux-утилита ethtool для получения информации о сетевых интерфейсах и изменения низкоуровневых параметров сетевых карт.

Тестовый стенд — сервер Dell с операционной Ubuntu 18.04.5 LTS на примере 10G сетевой карты Intel X710.

Dell — Intel X710 Dual Port 10Gb Direct Attach SFP+ CNA

Установка ethtool

Ubuntu, Debian:

apt install ethtool

Fedora, CentOS или REHL:

yum install ethtool

OpenSUSE:

zypper install ethtool

Синтаксис 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

Примеры

Информация об интерфейсе:

  • Settings for enp101s0f0:
            Supported ports: [ FIBRE ]
            Supported link modes:   10000baseLR/Full
            Supported pause frame use: Symmetric Receive-only
            Supports auto-negotiation: Yes
            Supported FEC modes: Not reported
            Advertised link modes:  10000baseLR/Full
            Advertised pause frame use: No
            Advertised auto-negotiation: Yes
            Advertised FEC modes: Not reported
            Speed: 10000Mb/s
            Duplex: Full
            Port: FIBRE
            PHYAD: 0
            Transceiver: internal
            Auto-negotiation: off
            Supports Wake-on: g
            Wake-on: g
            Current message level: 0x00000007 (7)
                                   drv probe link
            Link detected: yes

Можно узнать, что используется порт FIBRE, скорость 10G, Full Duplex.

linux

Если нужно просто узнать скорость, то можно воспользоваться командой:

cat /sys/class/net/<interface>/speed
cat /sys/class/net/enp101s0f0/speed

linux

Информация о драйвере:

  • driver: i40e
    version: 2.1.14-k
    firmware-version: 7.10 0x800075df 19.5.12
    expansion-rom-version:
    bus-info: 0000:65:00.0
    supports-statistics: yes
    supports-test: yes
    supports-eeprom-access: yes
    supports-register-dump: yes
    supports-priv-flags: yes

linux

Статистика:

  • NIC statistics:
         rx_packets: 74900322
         tx_packets: 4887233
         rx_bytes: 113010698737
         tx_bytes: 487802058
         rx_errors: 0
         tx_errors: 0
         rx_dropped: 0
         tx_dropped: 0
         collisions: 0
         rx_length_errors: 0
         rx_crc_errors: 0
         rx_unicast: 74898654
         tx_unicast: 4887131
         rx_multicast: 1627
         tx_multicast: 67
         rx_broadcast: 38
         tx_broadcast: 32
         rx_unknown_protocol: 0
         tx_linearize: 0
         tx_force_wb: 0
         rx_alloc_fail: 0
         rx_pg_alloc_fail: 0
         tx-0.tx_packets: 1227
         tx-0.tx_bytes: 342037
         rx-0.rx_packets: 1481
         rx-0.rx_bytes: 1576152
         tx-1.tx_packets: 390909
         tx-1.tx_bytes: 39323064
         rx-1.rx_packets: 5743702
         rx-1.rx_bytes: 8672992870
         tx-2.tx_packets: 872
         tx-2.tx_bytes: 156985
         rx-2.rx_packets: 3008
         rx-2.rx_bytes: 1700907
         tx-3.tx_packets: 958
         tx-3.tx_bytes: 305456
         rx-3.rx_packets: 399
         rx-3.rx_bytes: 64714
         tx-4.tx_packets: 233862
         tx-4.tx_bytes: 24223992
         rx-4.rx_packets: 3475384
         rx-4.rx_bytes: 5244697387
         tx-5.tx_packets: 233947
         tx-5.tx_bytes: 24617891
         rx-5.rx_packets: 3479749
         rx-5.rx_bytes: 5251137452
         tx-6.tx_packets: 521
         tx-6.tx_bytes: 227616
         rx-6.rx_packets: 961
         rx-6.rx_bytes: 977775
         tx-7.tx_packets: 336434
         tx-7.tx_bytes: 36256352
         rx-7.rx_packets: 5253406
         rx-7.rx_bytes: 7921573655
         tx-8.tx_packets: 591113
         tx-8.tx_bytes: 59093288
         rx-8.rx_packets: 8711873
         rx-8.rx_bytes: 13151791074
         tx-9.tx_packets: 200886
         tx-9.tx_bytes: 20283840
         rx-9.rx_packets: 2970075
         rx-9.rx_bytes: 4481261048
         tx-10.tx_packets: 171826
         tx-10.tx_bytes: 17516939
         rx-10.rx_packets: 2773391
         rx-10.rx_bytes: 4183060434
         tx-11.tx_packets: 834
         tx-11.tx_bytes: 228234
         rx-11.rx_packets: 637
         rx-11.rx_bytes: 352306
         tx-12.tx_packets: 51684
         tx-12.tx_bytes: 4610650
         rx-12.rx_packets: 738415
         rx-12.rx_bytes: 1114097210
         tx-13.tx_packets: 362526
         tx-13.tx_bytes: 34601904
         rx-13.rx_packets: 5385762
         rx-13.rx_bytes: 8128258355
         tx-14.tx_packets: 827
         tx-14.tx_bytes: 263796
         rx-14.rx_packets: 1475
         rx-14.rx_bytes: 1612873
         tx-15.tx_packets: 1006400
         tx-15.tx_bytes: 103033026
         rx-15.rx_packets: 15924265
         rx-15.rx_bytes: 24025481370
         tx-16.tx_packets: 51558
         tx-16.tx_bytes: 4468231
         rx-16.rx_packets: 740312
         rx-16.rx_bytes: 1116889931
         tx-17.tx_packets: 362864
         tx-17.tx_bytes: 34592520
         rx-17.rx_packets: 5386457
         rx-17.rx_bytes: 8129762977
         tx-18.tx_packets: 790
         tx-18.tx_bytes: 162182
         rx-18.rx_packets: 709
         rx-18.rx_bytes: 516807
         tx-19.tx_packets: 887195
         tx-19.tx_bytes: 83494055
         rx-19.rx_packets: 14308861
         rx-19.rx_bytes: 21582893440
         port.rx_bytes: 113609935018
         port.tx_bytes: 533154590
         port.rx_unicast: 74898657
         port.tx_unicast: 4887131
         port.rx_multicast: 1767
         port.tx_multicast: 134
         port.rx_broadcast: 66
         port.tx_broadcast: 32
         port.tx_errors: 0
         port.rx_dropped: 0
         port.tx_dropped_link_down: 2
         port.rx_crc_errors: 0
         port.illegal_bytes: 0
         port.mac_local_faults: 2
         port.mac_remote_faults: 141
         port.tx_timeout: 0
         port.rx_csum_bad: 0
         port.rx_length_errors: 0
         port.link_xon_rx: 0
         port.link_xoff_rx: 0
         port.link_xon_tx: 0
         port.link_xoff_tx: 0
         port.rx_size_64: 157
         port.rx_size_127: 188616
         port.rx_size_255: 23476
         port.rx_size_511: 1879
         port.rx_size_1023: 849
         port.rx_size_1522: 74685513
         port.rx_size_big: 0
         port.tx_size_64: 3124300
         port.tx_size_127: 29591
         port.tx_size_255: 1670435
         port.tx_size_511: 5282
         port.tx_size_1023: 593
         port.tx_size_1522: 57096
         port.tx_size_big: 0
         port.rx_undersize: 0
         port.rx_fragments: 0
         port.rx_oversize: 0
         port.rx_jabber: 0
         port.VF_admin_queue_requests: 0
         port.arq_overflows: 0
         port.rx_hwtstamp_cleared: 0
         port.tx_hwtstamp_skipped: 0
         port.fdir_flush_cnt: 0
         port.fdir_atr_match: 75128157
         port.fdir_atr_tunnel_match: 0
         port.fdir_atr_status: 1
         port.fdir_sb_match: 0
         port.fdir_sb_status: 1
         port.tx_lpi_status: 0
         port.rx_lpi_status: 0
         port.tx_lpi_count: 0
         port.rx_lpi_count: 0
         port.tx_priority_0_xon: 0
         port.tx_priority_0_xoff: 0
         port.tx_priority_1_xon: 0
         port.tx_priority_1_xoff: 0
         port.tx_priority_2_xon: 0
         port.tx_priority_2_xoff: 0
         port.tx_priority_3_xon: 0
         port.tx_priority_3_xoff: 0
         port.tx_priority_4_xon: 0
         port.tx_priority_4_xoff: 0
         port.tx_priority_5_xon: 0
         port.tx_priority_5_xoff: 0
         port.tx_priority_6_xon: 0
         port.tx_priority_6_xoff: 0
         port.tx_priority_7_xon: 0
         port.tx_priority_7_xoff: 0
         port.rx_priority_0_xon: 0
         port.rx_priority_0_xoff: 0
         port.rx_priority_1_xon: 0
         port.rx_priority_1_xoff: 0
         port.rx_priority_2_xon: 0
         port.rx_priority_2_xoff: 0
         port.rx_priority_3_xon: 0
         port.rx_priority_3_xoff: 0
         port.rx_priority_4_xon: 0
         port.rx_priority_4_xoff: 0
         port.rx_priority_5_xon: 0
         port.rx_priority_5_xoff: 0
         port.rx_priority_6_xon: 0
         port.rx_priority_6_xoff: 0
         port.rx_priority_7_xon: 0
         port.rx_priority_7_xoff: 0
         port.rx_priority_0_xon_2_xoff: 0
         port.rx_priority_1_xon_2_xoff: 0
         port.rx_priority_2_xon_2_xoff: 0
         port.rx_priority_3_xon_2_xoff: 0
         port.rx_priority_4_xon_2_xoff: 0
         port.rx_priority_5_xon_2_xoff: 0
         port.rx_priority_6_xon_2_xoff: 0
         port.rx_priority_7_xon_2_xoff: 0

linux

Физический MAC адрес:

  • Permanent address: f8:f2:1e:ba:f3:20

linux

Очень полезная команда для сисадминов, позволяющая подсветить линк на порту сетевой карты:

ethtool -p enp101s0f0 10

Где 10 — это количество секунд, сколько должен мигать светодиод.

linux

Теги

 

Похожие материалы

Wireshark — анализатор сетевого трафика

Wireshark — бесплатный и очень подробный анализатор сетевого трафика с открытым исходным кодом. Незаменимый инструмент администратора сети. Работает с подавляющим большинством известных протоколов.

Теги