GNU/Linux >> Linux の 問題 >  >> Linux

ethtoolコマンドを使用してLinuxでイーサネットカードを操作する方法

Ethtoolは、Linux上のネットワークユーティリティです。イーサネットデバイスのパラメータを表示および変更するために使用されます。この記事では、Linuxでethtoolコマンドを使用する方法を学習します。

イーサネットカードの構成により、コンピュータはネットワークを介して効果的に通信できます。 Ethtoolは、Linuxシステムに接続されているイーサネットデバイスに関する多くの情報を提供します。 オートネゴシエーションなど、必要に応じてイーサネットカードのパラメータを変更できます 、速度デュプレックス およびWake-onLAN

次の情報は、イーサネットカードがどのように機能するかを理解するのに役立ちます。

  • オートネゴシエーション: これは、デバイスが最適なネットワーク速度と動作モードを自動的に選択できるようにするメカニズムです。
  • 速度: デフォルトでは最高速度を使用し、必要に応じて変更できます。
  • ハーフデュプレックス: デバイスが一度にパケットを送信または受信できるようにします。
  • 全二重: デバイスがパケットを同時に送受信できるようにします。
  • Wake-on-LAN(WoL) :ネットワークメッセージによってコンピュータの電源をオンにしたり、起動したりできる業界標準のプロトコル。
  • リンクの検出: ネットワークインターフェイスカードのステータスを表示します。 「いいえ」と表示された場合は、インターフェイスを再起動してみてください。それでもリンク検出で「いいえ」と表示される場合は、スイッチとシステムの間に接続されているケーブルに問題がないかどうかを確認してください。

Linuxで使用可能なネットワークインターフェイスカード(NIC)を確認する方法

まず、ネットワークインターフェースカードの名前を知っている必要があります。ネットワークインターフェイスカードの名前を見つけるには、コマンドターミナルから次のコマンドを実行します。

ifconfig
enp5s0: flags=4163  mtu 1500
         inet 192.168.0.101  netmask 255.255.255.0  broadcast 192.168.0.255
         inet6 fe80::65f2:72ae:2878:8a76  prefixlen 64  scopeid 0x20
         inet6 fd37:45bb:20bd::45e  prefixlen 128  scopeid 0x0
         inet6 fd37:45bb:20bd:0:da60:e2eb:96ad:ec26  prefixlen 64  scopeid 0x0
         ether 2c:5a:3f:c4:02:8b  txqueuelen 1000  (Ethernet)
         RX packets 1006202  bytes 940298098 (896.7 MiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 550734  bytes 123076237 (117.3 MiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
         device memory 0xfc200000-fc2fffff

lo: flags=73  mtu 65536
         inet 127.0.0.1  netmask 255.0.0.0
         inet6 ::1  prefixlen 128  scopeid 0x10
         loop  txqueuelen 1000  (Local Loopback)
         RX packets 5546564  bytes 324011516 (309.0 MiB)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 5546564  bytes 324011516 (309.0 MiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ご覧のとおり、上記の例では、デバイスの名前はenp5s0です。 。

Linuxでethtoolを使用してネットワークインターフェイスカード(NIC)情報を確認する方法

イーサネットインターフェース名を取得したら、ethtoolを使用してその詳細を簡単に確認できます。 コマンド。

ethtoolを実行するとき デバイス名を指定してコマンドを実行すると、速度、ウェイクオン、デュプレックス、リンク検出ステータスなどのイーサネットカードのプロパティが表示されます。

sudo ethtool enp5s0
Settings for enp5s0:
     Supported ports: [  ]
     Supported link modes:   10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
                             1000baseT/Full
                             2500baseT/Full
     Supported pause frame use: No
     Supports auto-negotiation: Yes
     Supported FEC modes: Not reported
     Advertised link modes:  10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
                             1000baseT/Full
                             2500baseT/Full
     Advertised pause frame use: No
     Advertised auto-negotiation: Yes
     Advertised FEC modes: Not reported
     Speed: 1000Mb/s
     Duplex: Full
     Auto-negotiation: on
     Port: Twisted Pair
     PHYAD: 0
     Transceiver: internal
     MDI-X: off (auto)
     Supports Wake-on: pumbg
     Wake-on: g
         Current message level: 0x00000007 (7)
                                drv probe link
     Link detected: yes

Linuxでethtoolを使用してイーサネットカードドライバーとファームウェアバージョンを確認する方法

>

ethtoolを使用して、ドライバーのバージョン、ファームウェアのバージョン、およびバスの詳細を確認できます。 -i 以下に示すオプション。

sudo ethtool -i enp5s0
driver: igc
version: 5.9.14-arch1-1
firmware-version: 
expansion-rom-version: 
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

Linuxでethtoolを使用してイーサネットカードの設定を変更する方法

-s オプションを使用して、速度の値を定義することにより、現在の設定を変更できます。 、デュプレックス 、および autoneg 次の形式で:

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

たとえば、速度を100Mb/sに設定するには 、デュプレックスモードをfull onへのオートネゴシエーション コマンドは次のようになります:

sudo ethtool -s enp5s0 speed 100 duplex full autoneg on

さらに、各オプションを個別に変更できます:

sudo ethtool -s enp5s0 speed 100
sudo ethtool -s enp5s0 duplex full
sudo ethtool -s enp5s0 autoneg on

注:アダプターがオンラインのときに速度を変更すると、アダプターは自動的にオフラインになり、 ifupを使用してオンラインに戻す必要があります。 コマンド。

sudo ifup enp5s0

ethtoolを使用してイーサネットカードのパラメータを変更した場合は注意してください 、次の再起動後にすべて消えます。

再起動後もethtool設定を保持する方法

ただし、システムが再起動した後、ethtoolで行った変更 デフォルトで元に戻されます。

カスタム設定を永続的にするには、ネットワーク構成ファイルの値を更新する必要があります。 Linuxディストリビューションによっては、この値を正しいファイルに更新する必要がある場合があります。

RedHat / CentOSベースのシステムの場合、/etc/sysconfig/network-scripts/ifcfg-eth-idを変更します ファイルし、以下に示すような行を含めます:

ETHTOOL_OPTS="speed 100 duplex full autoneg on"

Debian / Ubuntuベースのシステムの場合、/etc/network/interfacesを変更する必要があります 以下に示すように、ファイルを作成して変更を追加します。

post-up ethtool -s enp5s0 speed 100 duplex full autoneg on
結論

上記で説明されていない他の多くのオプションを提供するため、これはethtoolの基本的な紹介にすぎないことがわかりました。他のそのようなツールと組み合わせると、これはシステム管理者のトリックの袋の中で1つの致命的なツールになる可能性があります。


Linux
  1. Ethtoolコマンドを使用してLinuxでイーサネットカードの速度とデュプレックスを変更する方法

  2. 例でethtoolコマンドを使用する方法

  3. Linuxでfdコマンドを使用してファイルを検索する方法

  1. 例を含むwcLinuxコマンド

  2. 検索コマンドを使用してLinuxでファイルを検索する方法

  3. 例を使用してLinuxでIPコマンドを使用する方法

  1. Linux Catコマンドの使用方法(例付き)

  2. 例を使用してLinuxsleepコマンドを使用する方法

  3. Linuxでwhoコマンドを使用する方法と例