Linux свойства сетевого адаптера

Ethtool: как изменить скорость, дуплекс и находить неполадки сетевой карты в Linux

img

Конфигурация вашей сетевой карты напрямую влияет, насколько эффективно взаимодействуют ваши сервера.

Необходимо понимать, как настройки автосогласования, скорости и дуплекса влияют на передачу данных, чтобы успешно поддерживать сетевое соединение. А также расскажем про дополнительные фичи, которые помогут находить и устранять сетевые неполадки.

Ethtool

В этой статье вы узнаете, как изменить настройки скорости, дуплекса и автосогласования в Linux с помощью команд ethtool .

Что такое полудуплекс, полный дуплекс и автосогласование?

Полудуплексный режим (Half-duplex) позволяет устройству отправлять или получать пакеты по очереди. Устройство, установленное в этот режим, не может выполнять оба действия одновременно.

Когда режим устройства находится в полнодуплексном режиме (Full-duplex), он также может отправлять и получать пакеты одновременно.

Автосогласование (Auto-Negotiation) — это механизм, с помощью которого устройство автоматически выбирает наиболее эффективный режим передачи на основе характеристик своих аналогов. Рекомендуется оставить автосогласование включенным, поскольку оно позволяет устройствам выбирать наиболее эффективные средства для передачи данных.

Полудуплекс и полный дуплекс

Что такое дуплексное несоответствие?

Такое происходит когда устройство с включенным автосогласованием подключается к устройству, которое не использует автосогласование. Конец соединения с активным автосогласованием все еще может определить скорость другого конца, но не может правильно определить дуплексный режим. Как правило, конец соединения с автоматическим согласованием будет использовать полудуплекс, тогда как другой конец может быть в дуплексном режиме. Эта ситуация считается дуплексным несоответствием (duplex mismatch).

Несоответствие дуплекса не прекращает связь полностью. Передача отдельных пакетов и небольших объемов данных не вызывают больших проблем. Однако при отправке большого объема данных с любого конца скорость значительно падает. Соединение работает, но производительность снижается, поскольку скорость передачи данных асимметрична и может привести к потере пакетов.

Как использовать команду Ethtool для настройки параметров сетевого адаптера

Ethtool — это команда конфигурации платы сетевого интерфейса, которая позволяет вам получать информацию и изменять настройки сетевого адаптера. Эти настройки включают скорость, дуплекс, автосогласование и многие другие параметры.

Читайте также:  Смена ip адреса команда linux

Помимо этого, ethtool используется для:

  1. Получения идентификационной и диагностической информации
  2. Получения расширенной статистики устройства
  3. Контроля контрольной суммы
  4. Контроля размеров кольца DMA и модерации прерываний
  5. Контроля выбора очереди приема для устройств с несколькими очередями
  6. Обновления прошивки во флеш-памяти

Для установки ethtool используйте следующие команды:

yum install ethtool [в Fedora, CentOS, RHEL] sudo apt-get install ethtool [в Ubuntu, Debian]

Чтобы продолжить, вам нужно знать имя вашей сетевой карты.

Чтобы найти имя вашей сетевой карты, введите в командном терминале следующую команду:

Вывод покажет нам имя сетевой карты устройства.

enp0s3 Link encap:Ethernet HWaddr 00:1A:2B:3C:4D:5E

Теперь, когда вы определили имя устройства, проверьте текущие настройки скорости, автосогласования и дуплексного режима с помощью команды: ethtool имя_устройства .

В нашем конкретном примере команда выглядит так:

Выходные данные показывают, что текущая скорость равна 1000 Мбит/с, что дуплекс находится в режиме «Full», и что автосогласование включено.

ethtool enp0s3

Изменение настроек сетевого адаптера

Команда ethtool –s может использоваться для изменения текущих настроек путем определения значений скорости speed , дуплекса duplex и автосогласования autoneg в следующем формате:

sudo ethtool –s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]

Например, чтобы установить скорость 1000 Мбит/с, дуплексный режим — «полный», а автоматическое согласование — «включено», команда будет выглядеть так:

sudo ethtool –s enp0s3 speed 1000 duplex full autoneg on

Команда ethtool [имя_устройства] необходима для подтверждения того, что изменения были применены.

Сохранение настроек

Изменения, сделанные с помощью Ethtool, по умолчанию отменяются после перезагрузки системы.

Чтобы применить пользовательские настройки при каждой загрузке системы, отредактируйте файл для интерфейса устройства:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Добавьте нужные значения в виде строки в конце файла, используя следующий синтаксис:

ETHTOOL_OPTS prettyprint"> ETHTOOL_OPTS prettyprint"> sudo ethtool -S имя_устройства

Вывод этой команды будет выглядеть так:

NIC statistics: rx_packets: 108048475 tx_packets: 125002612 rx_bytes: 17446338197 tx_bytes: 113281003056 rx_broadcast: 83067 tx_broadcast: 1329 rx_multicast: 3 tx_multicast: 9 rx_errors: 0 tx_errors: 0 tx_dropped: 0 multicast: 3 collisions: 0 rx_length_errors: 0 rx_over_errors: 0 rx_crc_errors: 0 rx_frame_errors: 0 rx_no_buffer_count: 0 rx_missed_errors: 0 tx_aborted_errors: 0 tx_carrier_errors: 0 tx_fifo_errors: 0 tx_heartbeat_errors: 0 tx_window_errors: 0 tx_abort_late_coll: 0 tx_deferred_ok: 0 tx_single_coll_ok: 0 tx_multi_coll_ok: 0 tx_timeout_count: 0 tx_restart_queue: 2367 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 0 tx_tcp_seg_failed: 0 rx_flow_control_xon: 0 rx_flow_control_xoff: 0 tx_flow_control_xon: 0 tx_flow_control_xoff: 0 rx_long_byte_count: 17446338197 rx_csum_offload_good: 107876452 rx_csum_offload_errors: 2386 rx_header_split: 0 alloc_rx_buff_failed: 0 tx_smbus: 0 rx_smbus: 0 dropped_smbus: 0 rx_dma_failed: 0 tx_dma_failed: 0

Использование приведенной выше команды — отличный способ устранения проблем с конкретной сетевой картой.

Физическое расположение конкретного сетевого адаптера

Вот действительно полезный трюк, который предлагает ethtool : допустим у вас есть сервер с несколькими сетевыми картами, и одна из них работает со сбоями, но вы не уверены, какая именно это карта. Вы можете использовать ethtool , чтобы заставить мигать индикатор сетевого адаптера, чтобы определить, какой сетевой адаптер вам нужен. Скажем, если вы хотите мигать светодиодом устройства Ethernet enp0s3 в течение 15 секунд — команда для этого будет выглядеть так:

Читайте также:  Антивирус dr web linux

Светодиод начнет мигать, чтобы вы знали, с какой картой вы имеете дело.

Тестирование сетевой карты

Команда ethtool предлагает пару удобных тестов, которые вы можете запустить на сетевой карте:

  1. Online — тесты nvram и тест ссылок
  2. Offline — тестирует регистр, память, loopback, прерывание

Давайте запустим онлайн-тест на нашей сетевой карте. Эта команда выглядит так:

sudo ethtool -t enp0s3 online

После выполнения команда покажет нам результаты:

ethtool тест

Учтите, что некоторые устройства не поддерживают offline тестирование.

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

Чтобы узнать имя драйвера и связанную информацию о драйвере используйте:

driver: via-rhine version: 1.5.0 firmware-version: bus-info: 0000:00:06.0 supports-statistics: no supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

Заключение

Следуя этому руководству, вы успешно изменили настройки своей сетевой карты с помощью команд ethtool . Вы также лучше поняли, как режимы автосогласования и дуплекса влияют на производительность сервера. И заодно узнали пару интересных функций команды ethtool .

Источник

Как узнать сетевую карту в Linux

Иногда нужно посмотреть сетевые карты в Linux, подключенные к компьютеру, узнать имя продукта или технические характеристики карты, а также скорость передачи данных. Например, когда вы хотите проверить совместимость сетевого драйвера или модуля ядра с Ethernet адаптером необходимо знать его аппаратные спецификации, такие как: номер модели и производитель, (например: Broadcom NetXtreme, Intel I350), скорость (например: (1 Гбит/сек, 10 Гбит/сек), режим соединения (full/half duplex) и т д.

Также эта информация вам понадобится, если вы хотите подобрать драйвер для своего wifi адаптера. В этой инструкции я расскажу как узнать сетевую карту Linux и посмотреть все доступные ее характеристики.

Информация о сетевой карте с помощью Ethtool

Если вас интересует информация о проводной сетевой карте Ehternet, то вы можете воспользоваться утилитой Ethtool. Это инструмент командной строки для проверки и изменения настроек PCI Ethernet карт. Для установки Ethtool в Ubuntu или Debian используйте команду:

В других дистрибутивах установка производится аналогичным образом, только нужно использовать подходящий пакетный менеджер.

Для отображения настроек сетевой карты в ethtool запустите утилиту передав в параметрах имя сетевого адаптера. Права суперпользователя здесь нужны для того, чтобы утилита могла получить информацию о настройках локальной сети и статусе соединения.

Читайте также:  Linux стереть содержимое файла

net

Здесь вы можете посмотреть поддерживаемые режимы работы Supported link modes, скорость Speed и тип коннектора Port, а также состояние подключения. Для просмотра информации о сетевом драйвере и прошивке используйте опцию i:

net1

Здесь вы можете видеть какие режимы поддерживает прошивка, а также ее версию. Если вас интересует MAC адрес выполните:

net2

Информация о сетевой карте в lshw

Во втором способе мы воспользуемся утилитой для отображения подробной информации об аппаратуре Linux — lshw. С помощью нее вы можете посмотреть информацию не только о карте Ethernet, но и о Wifi адаптере, а также посмотреть список сетевых карт.

Для установки lshw на Ubuntu или Debian наберите:

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

net4

В выводе команды вы увидите все подключенные к системе сетевые интерфейсы, кроме того, тут показывается более подробная информация, чем в выводе предыдущей утилиты. В самом начале вы видите производителя — vendor и имя продукта — product, скорость передачи данных size, а также в разделе configuration можно найти поле driver, где указан используемый драйвер.

Список сетевых карт в lspci

Если вам нужно узнать только продукт и имя производителя вашей сетевой карты можно использовать lspci. Обычно lscpi уже предустановлена в системе, но если нет ее можно установить командой:

sudo apt install pciutils

Теперь для просмотра доступных сетевых карт используйте:

net5

Тут вы можете видеть, что к системе подключены две сетевые карты linux, для проводного интернета и беспроводная, обе от Broadcom.

Информация о сетевой карте с помощью ip

Утилита ip позволяет посмотреть более подробную информацию о сетевом протоколе для вашей карты. Для просмотра информации выполните:

net6

На снимке экрана вы видите две физические сетевые карты linux — wlan0 и eth0, а также два виртуальных устройства. Для каждой из карт можно узнать состояние и MAC адрес.

Выводы

В этой статье мы рассмотрели несколько способов узнать сетевую карту Linux. Вы можете посмотреть не только производителя и название устройства, но и его характеристики, такие как скорость сетевой карты linux, используемый драйвер и MAC адрес. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector