ウェブサイト検索

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


ethtoolコマンドは、スピードやデュプレックスなどのイーサネットデバイスのパラメータを表示および変更するために使用されます。使い方は以下の通りです!

あなたのイーサネットカードの設定は、コンピュータがネットワーク上で効果的に通信できるようにします。Ethtoolは、Linuxシステムに接続されたイーサネットデバイスに関する多くの情報を提供します。

さらに、オートネゴシエーション、スピード、デュプレックス、およびワークオンLANを含むイーサネットカードのパラメーターを必要に応じて変更できます。

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

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

Linuxで利用可能なネットワークインターフェースを見つける方法

まず、ネットワークインターフェースカードの名前を知る必要があります。Linuxでネットワークデバイスの操作方法がわからない場合は、「Linuxで静的IPアドレスを設定し、ルーティングテーブルを変更する方法」という素晴らしいガイドをお勧めします。

コマンドターミナルから次のコマンドを実行してください:

ip a

上記の例に示されているように、私たちには多くのネットワークデバイスがあります。したがって、コンピュータに利用可能なデバイスに応じて、パラメータを変更したいネットワークデバイスを決定してください。この場合、これは enp7s0です。

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

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

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

sudo ethtool enp7s0

Linuxでethtoolを使用してEthernetカードのドライバーとファームウェアのバージョンを取得する方法

ドライバー、ファームウェア、バスの詳細を確認するには、以下に示すように、ethtoolコマンドにオプションとして-iを付けて実行することもできます。

sudo ethtool -i enp7s0

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

-sオプションは、次の形式で速度、デュプレックス、オートネゴシエーションの値を定義することによって、現在の設定を変更するために使用できます:

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

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

sudo ethtool -s enp7s0 speed 100 duplex full autoneg on

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

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

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

sudo ifup enp7s0

ethtoolを使ってイーサネットカードのパラメータを変更した場合、次回の再起動後にそれが消えてしまうことに注意してください。

再起動時にethtool設定を保持する方法

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

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

Red Hatベースのシステムでは、/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への基本的な紹介に過ぎないことがわかりました。なぜなら、上記に説明されていない多くの他のオプションが提供されているからです。しかし、他のそのようなツールと組み合わせることで、これはシステム管理者のトリックの袋の中で素晴らしいツールになることができます。

関連記事: