Linuxでネットワークデバイスが意図しないリンク速度になったときの対処方法。



といっても、下記のサイトどおりに操作するだけ。






「ETHTOOLを使用して NIC を 100Mbps/full-dupex 固定に設定する方法を教えてください。」



[http://kbase.redhat.com/faq/docs/DOC-14838](http://kbase.redhat.com/faq/docs/DOC-14838)






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






Redhatのサイトから手順を以下に抜き出す。
  (1Gbps, 全二重、オートネゴシエーションオフの場合)
ETHTOOL_OPTS="speed 1000 duplex full autoneg off"
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からオートネゴシエーションをオフにできなかった。