O Debian nunca usa o endereço do gateway do roteador no resolv.conf

1

O Debian nunca usa o endereço do gateway do roteador em resolv.conf

Como eu poderia configurar a Debian para (nunca usar roteador como resolvedor de nome de domínio) não exibe o endereço do roteador (servidor de nomes 192.168.1.1) em /etc/resolv.conf quando eu reiniciar o computador ou executar /sbin/dhclient ? / p>

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 é o 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 correr / 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
    
por yaqo 03.02.2012 / 18:38

3 respostas

2

Primeiramente, limpe sua configuração. Sua interface eth0 deve estar configurada com um endereço IP estático ou com DHCP? Se estática, por que você está executando dhclient ? Se DHCP, por que /etc/network/interfaces lista os 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 do comando up route , pois você já especificou a rota padrão como o parâmetro gateway .

Agora, lembre-se de que, de acordo com o nome, prepend domain-name-servers adiciona servidores DNS à lista fornecida pelo servidor DHCP. Não os substitui.

Recomendo que, em vez de solicitar que dhclient personalize os servidores de nomes que você deseja usar, use a estrutura resolvconf . resolvconf coordena todas as diferentes fontes possíveis de informações do servidor de nomes DNS (incluindo clientes DHCP separados em execução em uma ou mais interfaces de rede, servidores DNS locais que você deseja usar como resolvedores e configuração estática) e centralizou a construção de um único% coerente/etc/resolv.conf file. É muito melhor do que deixar várias coisas diferentes gerenciarem /etc/resolv.conf e fazer com que elas batam umas nas outras tentando fazê-lo.

Instale o pacote resolvconf se ainda não estiver instalado. Isso desativa automaticamente o mucking direto de dhclinent com o arquivo /etc/resolv.conf .

Agora, seu requisito é que você não queira usar o (s) servidor (es) de nomes fornecido (s) pelo servidor DHCP, por isso, comente a linha que lê eth* in /etc/resolvconf/interface-order . Certifique-se de comentar também a última linha do arquivo que lê * , caso contrário eth0 ainda será considerado.

Em seguida, você deseja usar um conjunto de servidores de nomes estaticamente provisionados. Como eles são globais no sistema (não relacionados ao estado, se houver alguma interface), você pode adicioná-los como servidores de nomes na interface em /etc/network/interfaces :

iface lo inet loopback
    dns-nameservers x.x.x.x y.y.y.y z.z.z.z

E, em seguida, ifdown lo; ifup lo para ativar isso.

    
por 03.02.2012 / 22:29
2

Um outro ponto: g eta caminho 192.168.1.1 deve ser g ate caminho 192.168.1.1 (que é provavelmente porque você teve que adicionar a rota padrão em ordem fazer alguma coisa funcionar?)

    
por 19.12.2012 / 02:57
0

Se você puder evitá-lo, não use seu gateway como um resolvedor.

Eles são notoriamente problemáticos em fazer proxy de DNS - veja RFC 5625.

Você tem uma caixa Linux perfeitamente funcional - simplesmente solte uma cópia do BIND ou ainda melhor "Unbound" nela.

ObDisclaimer - Eu escrevi essa RFC.

    
por 03.02.2012 / 23:24

Tags