はじめに
イーサネットカードの構成により、サーバーの通信効率が決まります。
オートネゴシエーション、速度、二重化の方法を理解する必要があります 設定はデータの転送に影響を与え、最小限の労力でネットワーク接続を維持します。
この記事では、Linuxでethtoolコマンドを使用して速度、デュプレックス、およびオートネゴシエーションの設定を変更する方法を説明します。
前提条件
- コマンドライン/ターミナルウィンドウ
- rootまたはsudoを持つユーザーアカウント 特権
- Ethtool インストールされた構成ツール
半二重、全二重、および自動ネゴシエーション
半二重 モードを使用すると、デバイスはパケットを順番に送信または受信できます。このモードに設定されたデバイスは、両方のアクションを同時に実行することはできません。
デバイスのモードが全二重の場合 パケットを同時に送受信することもできます。
オートネゴシエーション は、デバイスが対応するものの特性に基づいて、最もパフォーマンスの高い伝送モードを自動的に選択するメカニズムです。オートネゴシエーションを有効にしておくことをお勧めします。これにより、デバイスはデータを転送するための最も効率的な手段を選択できるようになります。
デュプレックスの不一致とは何ですか?
オートネゴシエーションが有効になっているデバイスが、このシグナリング方式を使用していないデバイスに接続すると、プロセスは機能しません。アクティブな自動ネゴシエーションを使用する接続の端は、もう一方の端の速度を検出できますが、デュプレックスモードを正しく検出することはできません。原則として、接続の自動ネゴシエーション側は半二重を使用し、もう一方の端は全二重になる場合があります。この状況は、デュプレックスの不一致と見なされます 。
デュプレックスのミスマッチは、通信を完全に停止しません。単一のパケットと少量のデータは、すぐに問題を引き起こすことはありません。ただし、どちらかの端から大量のデータが送信されると、速度が大幅に低下します。接続は機能していますが、データ転送速度が非対称であり、パケット損失につながる可能性があるため、パフォーマンスが低下します。
Ethtoolコマンドを使用してNIC設定を構成する方法
Ethtool は、情報を取得してNIC設定を変更できるネットワークインターフェイスカード構成コマンドです。これらの設定には、速度が含まれます 、デュプレックス 、オートネゴシエーション および他の多くのパラメータ。
続行するには、ネットワークインターフェースカードの名前を知っている必要があります。
ネットワークインターフェイスカードの名前を見つけるには、コマンドターミナルから次のコマンドを実行します。
ifconfig
このコマンドは、LinuxCentos7とUbuntuの両方で機能します。出力には、デバイスインターフェイスカードの名前が表示されます。このコマンドの詳細については、ガイド「ifconfigをインストールして使用する方法」を参照してください。
上記の例では、デバイスの名前はenp0s3。です。
デバイスの名前が決まったので、次のコマンドを使用して、現在の速度、オートネゴシエーション、およびデュプレックスモードの設定を確認します。 ethtool devicename
。
特定の例では、コマンドは次のとおりです。
ethtool enp0s3
出力は、現在の速度が1000Mb / sであり、デュプレックスが「フル」であり、オートネゴシエーションがオンになっていることを示しています。
イーサネットアダプタ設定を変更するためのEthtoolコマンド
ethtool -s
コマンドを使用して、「速度」、「デュプレックス」、および「オートネグ」の値を次の形式で定義することにより、現在の設定を変更できます
sudo ethtool -s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]
たとえば、速度を1000Mb / sに設定するには、デュプレックスモードを「フル」に設定し、オートネゴシエーションをコマンドの「オン」に設定します。
sudo ethtool -s enp0s3 speed 1000 duplex full autoneg on
ethtool [device_name]
変更が適用されたことを確認するには、コマンドが必要です。
Ethtoolコマンド設定を永続的に設定するためのEthtool_opt変数
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"
変更を保存してファイルを終了します。
これで、変更は再起動のたびに適用され、ファイルが再度変更されない限り永続的です。