ethtoolはどこで使うの?

「まるで爺さんの神経痛のように調子がおかしいマシン」 ってないですか?Windows編もちょっとだけ書いておこう。

調子の変なNICのネゴを切る
Windowsの場合は?

調子の変なNICのネゴを切る

特に「グローバルはいいんだけどさぁ、あのマシンのローカルだけ変なのよね。特に再起動直後」みたいなの。特定マシンのローカルだけとか、なんか特定の条件で唐突に起きてしまうやつ。なんなのかと。ポートを変えたりNIC変えたり、わりとアナログな手段で対応する事もあるかもしれない。ケーブル抜き差しすると復活したり、いやいやそれでもへそを曲げたり。いちいち挙動が変なうえに「計算機らしくない」のがとても気に入らなかったり。 :(

実際、もともと問題のないGoodなルータ・ハブ・ケーブル・NICでも時としておかしいなんて事はあるわけで、ましてや予算を抑えにおさえた安物PCと二束三文機材じゃ変になるのも無理はない。ネゴがうまくいかずに刺さったり、そういう変な動作をはじめるお茶目さんは必ずいる。

「ネゴがうまくいかない?愚かな、ならばネゴなぞせねばよいではないか :D」

とまぁ、そんなこんなで速度指定をかける。以下は一例。Debianの場合。

# ethtool -s eth1 speed 1000 duplex full

さて、これが動くことを確認しよさげなら、/etc/network/interfacesにもいれとこう。

iface eth1 inet static
        address 192.168.0.*
        netmask 255.255.255.0
        post-up ethtool -s eth1 speed 1000 duplex full

こういうのの対処方法はいろいろあると思うけど、ネゴの失敗対策で固定にするのは定番だと思う。その意味でおすすめなのである。

Windowsの場合は?

では、同じことをWindowsでやろうとするとどうするか?全部にあるかどうかはわからないが、NICのドライバのプロパティで「speed & duplex(速度と二重通信方式)」なんてのがあれば、それで切る。

autoを、100 Mb Full などにすればいいわけだ。

ただし、1000の場合などauto指定を推奨する場合もあるようだ。私の見た記事では、対向先がCISCO 6509などで推奨されていた。それに本来はautoがもちろん望ましいと思う。