Ausführen eines Befehls, nachdem eth0 verfügbar ist, aber vor dem DHCP-Client

Ausführen eines Befehls, nachdem eth0 verfügbar ist, aber vor dem DHCP-Client

Ich verwende Debian Weezy auf einem ARM-Board. Im Moment umgehe ich ein Problem mit meinem Netzwerktreiber, indem ich einen ethtool-Befehl ausführe, der die Ethernet-Schnittstelle auf 100 Megabit begrenzt. Das Problem mit dem Treiber zeigt sich jedoch bereits bei der DHCP-Aushandlung, daher muss ich ethtool ausführen, bevor dhclient ausgeführt wird.

Ich habe versucht, einen Ort zu finden, an dem ethtool (oder mii-tool, egal wie) vor dhclient ausgeführt werden kann. Bisher funktionieren alle Orte, die ich ausprobiert habe ( /etc/network/if-pre-up.dund /etc/dhcp/dhclient-enter-hooks.d), nicht, da „eth0“ noch nicht vorhanden ist.

Gibt es einen Clean Hook im Debian-Netzwerk oder in der Systemkonfiguration, mit dem ich Änderungen am Ethernet-Status vornehmen kann, bevor dhclient ausgeführt wird? Oder versuche ich hier etwas Unmögliches?

Antwort1

Es sollte möglich sein, eth als „manuell“ zu starten, dann beliebige Skripte auszuführen, einschließlich Sleeps zur Verlangsamung, und dann am Ende dhclient aufzurufen. Unter Ubuntu würde es in /etc/network/interfaces so aussehen

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

Die Manpage für Schnittstellen ist sehr hilfreich.

verwandte Informationen