Я использую 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
Страница руководства по интерфейсам весьма полезна.