As configurações do DHCP não devem conter um endereço de gateway em /etc/network/interfaces . Para configurar o DHCP no eth0, por exemplo, você só precisa das seguintes linhas no mínimo:
auto eth0
iface eth0 inet dhcp
Uma vez configurado corretamente ifup & ifdown deve funcionar corretamente e, em seguida, você pode colocar os scripts que deseja executar ao alterar o estado de uma interface em /etc/network/if-up.d & %código%. No entanto, se o seu servidor DHCP estiver configurado corretamente, ele deverá fornecer uma configuração de DNS para seus clientes, portanto, configurá-lo manualmente não deve ser necessário
EDITAR
Para que suas configurações de DNS sejam alteradas automaticamente, você precisa adicionar a configuração necessária a cada respectiva interface em /etc/network/if-down.d , mesmo que a interface use DHCP.
As configurações de DNS em /etc/network/interfaces são passadas para /etc/network/interfaces quando resolvconf & ifup são chamados usando scripts de gancho no diretório ifdown .
Quando você exibe uma interface usando /etc/network/if-(up|down).d , as configurações de DNS são anexadas a ifup , que é o que você está experimentando. Por outro lado, as mesmas configurações são removidas quando a interface é demolida usando /etc/resolv.conf . Mas mesmo se você usar ifdown , se não houver configurações de DNS estático em ifdown , as configurações dessa interface não serão removidas de /etc/network/interfaces .
Assim, sua entrada para /etc/resolv.conf deve ser:
auto eth1
iface eth1 inet dhcp #assigns an address in the 192.168.0.0/24 space with 192.168.0.1 as DNS
metric 200 #without this line I get RNETLINK answers: file does not exist
dns-search cable.provider.com
Além disso, você pode usar a opção eth1 com -v & ifup para ativar a saída detalhada e ver exatamente quais scripts de gancho estão sendo executados.
Fontes:
%código%
ifdown