O Debian nunca usa o endereço do gateway do roteador no resolv.conf
Como eu poderia configurar o Debian para (nunca usar o roteador como resolvedor de nomes de domínio) não exibir o endereço do gateway do roteador (servidor de nomes 192.168.1.1) em /etc/resolv.conf quando eu reinicio o computador ou executo /sbin/dhclient
?
Eu uso apenas uma linha em /etc/dhcp/dhclient.conf
prepend domain-name-servers x.x.x.x,y.y.y.y,z.z.z.z;
Este é meu arquivo /etc/network/interfaces:
auto eth0 iface eth0 inet static address 192.168.1.170 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 getaway 192.168.1.1 up route add -net default gw 192.168.1.1 netmask 0.0.0.0 eth0 dns-nameservers x.x.x.x y.y.y.y z.z.z.z
Se eu executar /sbin/dhclient /etc/init.d/networking restart
meu /etc/resolv.conf contém:
nameserver x.x.x.x
nameserver y.y.y.y
nameserver z.z.z.z
nameserver 192.168.1.1
Responder1
Primeiro de tudo, limpe sua configuração. Sua eth0
interface deveria estar configurada com um endereço IP estático ou com DHCP? Se estático, por que você está executando dhclient
? Se for DHCP, por que /etc/network/interfaces
lista parâmetros IP estáticos e iface eth0 inet static
em vez de iface eth0 inet dhcp
? Além disso, não há motivo para você precisar adicionar uma rota padrão por meio de seu up route
comando, pois você já especificou a rota padrão como gateway
parâmetro.
Agora lembre-se que conforme o nome, prepend domain-name-servers
adiciona servidores DNS à lista fornecida pelo servidor DHCP. Isso não os substitui.
Eu recomendo que, em vez de pedir dhclient
para personalizar os servidores de nomes que deseja usar, use o resolvconf
framework. resolvconf
coordena todas as diferentes fontes possíveis de informações de servidores de nomes DNS (incluindo clientes DHCP separados executados em uma ou mais interfaces de rede, servidores DNS locais que você deseja usar como resolvedores e configuração estática) e centraliza a construção de um único /etc/resolv.conf
arquivo coerente. É muito melhor do que deixar várias coisas diferentes acontecerem /etc/resolv.conf
e fazer com que elas se atropelem tentando fazer isso.
Instale o resolvconf
pacote se ainda não estiver instalado. Isso desativará automaticamente dhclinent
a interferência direta do /etc/resolv.conf
arquivo.
Agora, seu requisito é que você não queira usar os servidores de nomes fornecidos pelo servidor DHCP, então comente a linha que eth*
diz /etc/resolvconf/interface-order
. Certifique-se de comentar também a última linha do arquivo que diz *
, caso contrário eth0
ainda será considerado.
Em seguida, você deseja usar um conjunto de servidores de nomes provisionados estaticamente. Como eles são globais do sistema (não relacionados ao estado de qualquer interface), você pode adicioná-los como servidores de nomes na interface lo em /etc/network/interfaces
:
iface lo inet loopback
dns-nameservers x.x.x.x y.y.y.y z.z.z.z
E então ifdown lo; ifup lo
para ativar isso.
Responder2
Um outro ponto: getacaminho 192.168.1.1 deve ser gcomeucaminho 192.168.1.1 (provavelmente é por isso que você teve que adicionar a rota padrão para que algo funcionasse?)
Responder3
Se você puder evitá-lo, não use seu gateway como resolvedor.
Eles são notoriamente problemáticos ao fazer proxy de DNS - consulte RFC 5625.
Você tem uma caixa Linux perfeitamente funcional - basta colocar uma cópia do BIND ou, melhor ainda, "Unbound" nela.
ObDisclaimer - eu escrevi esse RFC.