Утилита Ethtool используется для просмотра и изменения параметров устройства Ethernet.
При выполнении команды ethtool с именем устройства отображается следующая информация об устройстве Ethernet.
# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: d Wake-on: d Link detected: yes
Этот вышеприведенный вывод ethtool отображает свойства карты Ethernet, такие как скорость, пробуждение, дуплекс и состояние обнаружения канала. Ниже приведены три типа доступных дуплексов.
Приведенный выше выход ethtool eth0 показывает, что параметр «Автосогласование» находится во включенном состоянии. Вы можете отключить это, используя опцию autoneg в ethtool, как показано ниже.
# ifdown eth0 eth0 device: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) eth0 configuration: eth-bus-pci-0000:0b:00.0 # ethtool -s eth0 autoneg off # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: Not reported Advertised auto-negotiation: No Speed: Unknown! (65535) Duplex: Unknown! (255) Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Link detected: no # ifup eth0
После вышеуказанного изменения вы можете увидеть, что значение «обнаружение канала» изменилось на «выключено», и автосогласование отключено.
Используя ethtool, вы можете изменить скорость устройства Ethernet для работы с определенными сетевыми устройствами, а новое назначенное значение скорости должно быть в пределах ограниченной емкости.
# ethtool -s eth0 speed 100 autoneg off # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: Not reported Advertised auto-negotiation: No Speed: Unknown! (65535) Duplex: Unknown! (255) Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Link detected: no
Когда вы меняете скорость, когда адаптер подключен к сети, он автоматически отключается, и вам необходимо снова подключить его с помощью команды ifup.
# ifup eth0 eth0 device: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) eth0 configuration: eth-bus-pci-0000:0b:00.0 Checking for network time protocol daemon (NTPD): running # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: Not reported Advertised auto-negotiation: No Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Link detected: yes
Как показано в приведенном выше выводе, скорость изменилась с 1000 Мбит / с до 100 Мбит / с, и параметр автосогласования не установлен.
Чтобы изменить максимальную единицу передачи (MTU), обратитесь к нашей статье примеров ifconfig .
Параметр ethtool -i отображает версию драйвера, версию прошивки и информацию о шине, как показано ниже.
# ethtool -i eth0 driver: bnx2 version: 2.0.1-suse firmware-version: 1.9.3 bus-info: 0000:04:00.0
Просмотрите сведения об автосогласовании для конкретного устройства Ethernet, как показано ниже.
# ethtool -a eth0 Pause parameters for eth0: Autonegotiate: on RX: on TX: on
Используйте опцию ethtool -S для отображения переданных, полученных, ошибок и т. д. Байтов, как показано ниже.
# ethtool -S eth0 NIC statistics: rx_bytes: 74356477841 rx_error_bytes: 0 tx_bytes: 110725861146 tx_error_bytes: 0 rx_ucast_packets: 104169941 rx_mcast_packets: 138831 rx_bcast_packets: 59543904 tx_ucast_packets: 118118510 tx_mcast_packets: 10137453 tx_bcast_packets: 2221841 tx_mac_errors: 0 tx_carrier_errors: 0 rx_crc_errors: 0 rx_align_errors: 0 tx_single_collisions: 0 tx_multi_collisions: 0 tx_deferred: 0 tx_excess_collisions: 0 tx_late_collisions: 0 tx_total_collisions: 0 rx_fragments: 0 rx_jabbers: 0 rx_undersize_packets: 0 rx_oversize_packets: 0 rx_64_byte_packets: 61154057 rx_65_to_127_byte_packets: 55038726 rx_128_to_255_byte_packets: 426962 rx_256_to_511_byte_packets: 3573763 rx_512_to_1023_byte_packets: 893173 rx_1024_to_1522_byte_packets: 42765995 rx_1523_to_9022_byte_packets: 0 tx_64_byte_packets: 3633165 tx_65_to_127_byte_packets: 51169838 tx_128_to_255_byte_packets: 3812067 tx_256_to_511_byte_packets: 113766 tx_512_to_1023_byte_packets: 104081 tx_1024_to_1522_byte_packets: 71644887 tx_1523_to_9022_byte_packets: 0 rx_xon_frames: 0 rx_xoff_frames: 0 tx_xon_frames: 0 tx_xoff_frames: 0 rx_mac_ctrl_frames: 0 rx_filtered_packets: 14596600 rx_discards: 0 rx_fw_discards: 0
Если есть проблема с сетевым подключением, вы можете проверить (или изменить) параметры устройства Ethernet, описанные в приведенных выше примерах, когда вы видите следующие проблемы в выходных данных команды ethtool.
После успешного подключения три параметра, упомянутые выше, получают соответствующие значения. т. е. скорости назначается известное значение, дуплекс становится либо полным / половинным, а обнаружение канала становится да.
После вышеупомянутых изменений, если обнаружение канала все еще говорит «Нет», проверьте, есть ли какие-либо проблемы в кабелях, идущих от коммутатора и системы, возможно, вы захотите углубиться в этот аспект.
Для захвата и анализа пакетов из определенного сетевого интерфейса используйте утилиту tcpdump .
Предположим, что у вас есть машина с четырьмя адаптерами Ethernet, и вы хотите определить физический порт конкретной карты Ethernet. (Например, eth0).
Используйте параметр ethtool -p, который заставит мигать соответствующий светодиод физического порта.
# ethtool -p eth0
Если вы изменили какие-либо параметры устройства Ethernet с помощью ethtool, все они исчезнут после следующей перезагрузки, если вы не выполните следующее.
В Ubuntu вы должны изменить файл /etc/network/interfaces и добавить все ваши изменения, как показано ниже.
# vim /etc/network/interfaces post-up ethtool -s eth2 speed 1000 duplex full autoneg off
Вышеуказанная строка должна быть последней строкой файла. Это изменит скорость, дуплекс и автоматическое подключение устройства eth2 навсегда.
В SUSE измените файл /etc/sysconfig/network/ifcfg-eth-id и включите новый скрипт, используя переменную POST_UP_SCRIPT, как показано ниже. Включите следующую строку в качестве последней строки в соответствующем файле конфигурации eth1 adpater.
# vim /etc/sysconfig/network/ifcfg-eth-id POST_UP_SCRIPT='eth1'
Затем создайте новый файл scripts/eth1, как показано ниже в каталоге /etc/sysconfig/network. Убедитесь, что у сценария есть разрешение на выполнение, и убедитесь, что утилита ethtool находится в каталоге /sbin.
# cd /etc/sysconfig/network/ # vim scripts/eth1 #!/bin/bash /sbin/ethtool -s duplex full speed 100 autoneg off
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies