Se a configuração puder esperar até depois que a interface estiver ativa (o DHCP terminou), existem algumas maneiras diferentes de executar um script quando a interface aparecer.
A maneira Debian é colocar um script em /etc/network/if-up.d/
. Isso deve funcionar no Debian, não importa qual método você use para gerenciar sua interface (NetworkManager, ifupdown, etc). O nome da interface e algumas outras coisas são passados para o script usando variáveis de ambiente. Um script de exemplo:
if [ "$IFACE" = "wlan0" ] ; then
if iwconfig "$IFACE" | fgrep -q 'ESSID:"My Wireless Network"' ; then
iwconfig wlan rate 1M
fi
fi
A maneira do NetworkManager é colocar um script em /etc/NetworkManager/dispatcher.d/
. Este local deve funcionar em qualquer distribuição Linux, desde que você esteja usando o NetworkManager. Aqui, o nome da interface é passado como o primeiro argumento de linha de comando. O roteiro parece basicamente o mesmo; basta substituir "$IFACE"
por "$1"
. De fato, se você olhar nesse diretório, verá um script de compatibilidade 01ifupdown
que faz com que o NetworkManager execute os scripts "caminho do Debian".
Para mais informações sobre como escrever os scripts no estilo Debian, man 5 interfaces
e leia a seção "OPÇÕES DO IFACE".
Alguns recursos descrevendo o script do NetworkManager podem ser encontrados aqui e here .