ネットワークのリンク速度を変えるには。

Linuxでネットワークデバイスが意図しないリンク速度になったときの対処方法。
といっても、下記のサイトどおりに操作するだけ。


「ETHTOOLを使用して NIC を 100Mbps/full-dupex 固定に設定する方法を教えてください。」
http://kbase.redhat.com/faq/docs/DOC-14838


具体的には、ethtoolというコマンドを使う。


Redhatのサイトから手順を以下に抜き出す。

  • ・/sbin/ethtoolがあるか確認し、なければインストール
  • ・/etc/sysconfig/network-scripts/ifcfg-eth0に以下の行を追加

  (1Gbps, 全二重、オートネゴシエーションオフの場合)

ETHTOOL_OPTS="speed 1000 duplex full autoneg off"
  • ・sudo service network restartとする。
  • ・sudo ethtool <ネットワークデバイス名>で結果確認


ethtoolに与えられるオプションは以下の通り。

speed の設定値
10      10Mbps
100    100Mbps
1000  1000Mbps

duplex の設定値
half half-duplex
full full-duplex

autoneg の設定値
on    Autonegotiation 有効
off   Autonegotiation 無効

上記は/etc/sysconfig/network-scripts/ifcfg-eth0にethtool向けのコマンドを記載しておき、ネットワークを再起動する方法。
別にethtoolコマンドを叩いてもよいが、ネットワークが再起動されるのは同じなので、redhatの方法のほうがスマート。

注意点としては、ハードウェアによって、ethtoolからのコマンドを受け付けないケースがあること。
実際、俺の管理しているマシンだと、ethtoolからオートネゴシエーションをオフにできなかった。