この記事では、Linux環境で`ethtool`コマンドを使ってネットワークカードを設定する方法について解説します。具体的なコード例、その詳細な解説、およびさまざまな応用例を含めています。
目次
ethtoolとは?
`ethtool`は、Linux上でEthernetデバイスを設定するためのコマンドラインユーティリティです。ネットワークカードの速度調整、デバイスの情報表示、無通信状態の診断などが可能です。
ethtoolの基本的な使い方
sudo ethtool eth0 # eth0のネットワークカード情報を表示
このコマンドは、`eth0`という名前のネットワークカードの設定情報を表示します。出力結果から、リンクの状態や速度、デュプレックスモードなどを確認できます。
ネットワークカードの設定変更
速度調整
速度を1000Mb/sに設定するには以下のようにします。
sudo ethtool -s eth0 speed 1000 # eth0の速度を1000Mb/sに設定
デュプレックスモードの設定
デュプレックスモードをフルデュプレックスに設定する場合は以下のコマンドを使用します。
sudo ethtool -s eth0 duplex full # eth0をフルデュプレックスに設定
応用例
ネットワークカードの一覧表示
for dev in /sys/class/net/*; do ethtool $(basename $dev); done # すべてのネットワークカード情報を表示
指定した速度で動作するカードを探す
for dev in /sys/class/net/*; do
speed=$(ethtool $(basename $dev) | grep -i speed)
[[ "$speed" == *1000* ]] && echo $(basename $dev)
done # 速度が1000Mb/sのカード名を出力
Wake-on-LANを有効にする
sudo ethtool -s eth0 wol g # eth0でWake-on-LANを有効にする
特定の機能を無効にする
sudo ethtool -K eth0 tso off # eth0でTCP Segmentation Offloadを無効にする
複数の設定を一度に行う
sudo ethtool -s eth0 speed 1000 duplex full autoneg off # 速度、デュプレックスモード、自動認識を一度に設定
まとめ
`ethtool`は、Linuxでネットワークカードを効率よく設定するための強力なツールです。この記事で学んだ知識を使って、ネットワークのパフォーマンスやセキュリティを向上させましょう。
コメント