ѕоставка оборудовани€ √аранти€ и помощь с настройкой. —кидка дл€ наших читателей по промокоду WIKIMERIONET  упить
»нтерфейс статистики Merion Mertics показывает ключевые диаграммы и графики по звонкам, а также историю звонков в формате, который легко поймет менеджер ѕопробовать бесплатно
¬недрение
контакт-центра
 онтакт - центр как канал продаж и маркетинговой коммуникации ¬недрить
»нтеграци€ с CRM ѕомогаем навести пор€док с данными
и хранить их в единой экосистеме
ѕодключить
»“ Ѕезопастность ”мна€ информационна€ безопасность дл€ вашего бизнеса «аказать
ћерион Ќетворкс

6 минут чтени€

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

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

Ethtool

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


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

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

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

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

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

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

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

Ќесоответствие дуплекса не прекращает св€зь полностью. ѕередача отдельных пакетов и небольших объемов данных не вызывают больших проблем. ќднако при отправке большого объема данных с любого конца скорость значительно падает. —оединение работает, но производительность снижаетс€, поскольку скорость передачи данных асимметрична и может привести к потере пакетов.


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

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

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

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

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

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

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

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

ifconfig

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

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

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

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

ethtool enp0s3

¬ыходные данные показывают, что текуща€ скорость равна 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="speed [100|1000|10000] duplex [half|full] autoneg [on|off]Ф

Ќапример:

ETHTOOL_OPTS="speed 1000 duplex full autoneg onФ

—охраните изменени€ и выйдите из файла.

“еперь изменени€ примен€ютс€ после каждой перезагрузки и €вл€ютс€ посто€нными, если файл не будет изменен снова.


ѕросмотр статистики интерфейса

≈сли вы хотите получить статистику о вашей сетевой карте, введите команду:

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 секунд - команда дл€ этого будет выгл€деть так:

sudo ethtool -p enp0s3 15	

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


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

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

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

ƒавайте запустим онлайн-тест на нашей сетевой карте. Ёта команда выгл€дит так:

sudo ethtool -t enp0s3 online

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

ethtool тест

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


»нформаци€ о драйвере

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

ethtool -i eth0

¬ывод:

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.


ѕолезна ли ¬ам эта стать€?