service networking restart
nem sempre é uma maneira confiável de reduzir todas as interfaces.
O comando resolvconf -u
atualiza apenas resolv.conf
do banco de dados do resolvconf. Você precisa atualizar o banco de dados.
Para atualizar o banco de dados, você deve chamar o resolvconf com a opção -a
ou -d
. Isso acontece nos bastidores quando você executa ifup ou ifdown. Então, normalmente, como acontece com qualquer outra mudança no /etc/network/interfaces
, para ativar as mudanças nas opções do dns- * você tem que ifdown a interface em questão e, se for novamente. Ou você pode reiniciar.
Se você quiser fazer alterações em uma interface sem o fazer o downdown (talvez porque você está administrando a máquina remotamente e esteja conectada através dessa interface, natch) então você pode obter o mesmo resultado executando o resolvconf diretamente da linha de comando. . Isso requer um pouco mais de conhecimento da semântica do resolvconf. Suponha que a estrofe relevante / e / n / i seja
iface IIII FFFF static
address ...
...
dns-nameservers X.X.X.X Y.Y.Y.Y
dns-search SSSS
onde FFFF é uma família de endereços ("inet" ou "inet6").
Para ativar estas opções do dns- * você executa o resolvconf da seguinte maneira (sim, com novas linhas na string canalizada para o resolvconf).
echo "nameserver X.X.X.X
nameserver Y.Y.Y.Y
search SSSS" | sudo resolvconf -a IIII.FFFF
Para a estrofe dada na questão, isso seria o seguinte.
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Consulte a página de manual resolvconf (8) e o arquivo README do pacote resolvconf (/usr/share/doc/resolvconf/README.gz) para mais informações.