eth0が使用可能になったら、DHCPクライアントの前にコマンドを実行します。

eth0が使用可能になったら、DHCPクライアントの前にコマンドを実行します。

私はARMボードでDebian Weezyを実行しています。 ethtoolコマンドを実行してEthernetインターフェイスを100MBに制限することで、ネットワークドライバの問題を解決しています。ただし、ドライバの問題はDHCPネゴシエーションの初期に表示されるため、dhclientを実行する前にethtoolを実行する必要がありました。

私はdhclientの前にethtool(またはmii-tool)が実行される場所を見つけようとしました。/etc/network/if-pre-up.dこれまで私が試したところでは、/etc/dhcp/dhclient-enter-hooks.d"eth0"はまだ存在していないので動作しません。

dhclientが実行される前にイーサネットの状態を変更できるDebianネットワーキングまたはシステム構成にクリーンフックがありますか?それともここで不可能なことをしようとしていますか?

答え1

ethを「手動」に設定してから、実行したいスクリプトを適用する必要があります。これには、作業速度を遅くするためのスリープモードも含まれ、最後にdhclientを呼び出すことができます。 Ubuntuでは、/etc/network/interfacesに次のように表示されます。

auto eth0
iface eth0 inet manual
pre-up /etc/network/pre-up-scripts/eth0.sh  ( one way to do it)
pre-up some-script-or-command  (another way)
up dhclient  eth0

インターフェイスのマニュアルページは非常に便利です。

関連情報