Выполнение команды после того, как eth0 станет доступен, но до DHCP-клиента

Выполнение команды после того, как eth0 станет доступен, но до DHCP-клиента

Я использую Debian Weezy на плате ARM. Прямо сейчас я работаю над решением проблемы с сетевым драйвером, запуская команду ethtool, которая ограничивает интерфейс Ethernet до 100 мегабит. Однако проблема с драйвером проявляется уже на этапе согласования DHCP, поэтому мне нужно запустить ethtool до запуска dhclient.

Я пытался найти место, где ethtool (или mii-tool, в любом случае) может работать до dhclient. Пока что все места, которые я пробовал ( /etc/network/if-pre-up.dи /etc/dhcp/dhclient-enter-hooks.d), не работают, потому что "eth0" пока отсутствует.

Есть ли чистый хук в конфигурации сети или системы Debian, где я могу внести изменения в состояние Ethernet до запуска dhclient? Или я пытаюсь сделать что-то невозможное?

решение1

Должно быть возможно поднять eth как "ручной", затем применить любые произвольные скрипты, которые вы хотите запустить, включая sleeps для замедления, а затем вызвать 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

Страница руководства по интерфейсам весьма полезна.

Связанный контент