Ejecutar un comando después de que eth0 esté disponible, pero antes del cliente DHCP

Ejecutar un comando después de que eth0 esté disponible, pero antes del cliente DHCP

Estoy ejecutando Debian Weezy en una placa ARM. En este momento estoy solucionando un problema con mi controlador de red ejecutando un comando ethtool que limita la interfaz Ethernet a 100 megabits. Sin embargo, el problema con el controlador se manifiesta ya en la negociación de DHCP, por lo que necesito ejecutar ethtool antes de que se ejecute dhclient.

He estado tratando de encontrar un lugar donde ethtool (o mii-tool, de cualquier manera) pueda ejecutarse antes que dhclient. Hasta ahora, todos los lugares que he probado ( /etc/network/if-pre-up.dy /etc/dhcp/dhclient-enter-hooks.d) no funcionan porque "eth0" aún no está presente.

¿Existe un enlace limpio en la red de Debian o en la configuración del sistema donde pueda realizar cambios en el estado de Ethernet antes de que se ejecute dhclient? ¿O estoy intentando hacer algo imposible aquí?

Respuesta1

Debería ser posible abrir la ética como "manual", luego aplicar cualquier script arbitrario que desee ejecutar, incluido el modo de suspensión para ralentizar las cosas, y luego llamar a dhclient al final. En Ubuntu se vería así en /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

La página de manual para interfaces es bastante útil.

información relacionada