在 eth0 可用之後、DHCP 用戶端之前執行指令

在 eth0 可用之後、DHCP 用戶端之前執行指令

我在 ARM 板上運行 Debian Weezy。現在,我正在透過執行 ethtool 命令將乙太網路介面限制為 100 兆位元來解決網路驅動程式的問題。但是,驅動程式的問題早在 DHCP 協商時就顯現出來了,因此我需要在 dhclient 運行之前執行 ethtool。

我一直試圖找到一個地方 ethtool (或 mii-tool,無論哪種方式)可以在 dhclient 之前運行。到目前為止,我嘗試過的所有地方(/etc/network/if-pre-up.d/etc/dhcp/dhclient-enter-hooks.d)都無法工作,因為「eth0」還不存在。

Debian 網路或系統配置中是否有一個乾淨的鉤子,我可以在 dhclient 運行之前更改乙太網路狀態?或者我想在這裡做一些不可能的事情?

答案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

接口的手冊頁非常有幫助。

相關內容