Servidor DNS do ISP usado em vez de DNS local

Servidor DNS do ISP usado em vez de DNS local

O problema

Na rede interna da minha empresa, existe um servidor de desenvolvimento chamadodevserver.minhaempresa.com

Normalmente consigo me conectar a este servidor sem problemas, mas às vezes (parece aleatório para mim) o Ubuntu não consegue resolver o endereço.

Outras informações e observações

Quando executo nmcli dev list iface eth0em um terminal, vejo que existem dois servidores DNS configurados:

IP4.DNS[1]:                             192.168.50.103
IP4.DNS[2]:                             128.255.1.3

O segundo servidor DNS é o servidor do meu ISP.

Nunca tive esse problema na minha partição do Windows, que está configurada para usar os mesmos dois servidores DNS.

Quando estou enfrentando o problema:

  • nslookup devserver.mycompany.com falhar
  • nslookup devserver.mycompany.com 128.255.1.3 falharo tempo todo (sem surpresa, o devserver não é um servidor público)
  • nslookup devserver.mycompany.com 192.168.50.103 funciona

Aqui está a saída real de nslookup:

Ubuntu-14:~$ nslookup devserver.mycompany.com
Server:     127.0.1.1
Address:    127.0.1.1#53

** server can't find devserver.mycompany.com: NXDOMAIN

Questões

  • Pela saída acima, parece que o Ubuntu está tentando usar um servidor DNS local. Correto? Está armazenando em cache uma pesquisa com falha na minha máquina local?
    • Se estiver em cache, como posso limpar o cache?
  • O Ubuntu às vezes usa esse segundo servidor DNS? Por que? É balanceamento de carga? O local é mais lento?
  • Como devo consertar isso? Não quero remover o segundo servidor DNS caso o principal fique inativo.
  • E, finalmente, por que não tenho esse problema no Windows?

Informações sobre a versão do Ubuntu

Ubuntu 14.04 LTS sem atualizações pendentes.

Toda a rede foi configurada mais ou menos automaticamente. Usando DHCP

Responder1

Pela saída acima, parece que o Ubuntu está tentando usar um servidor DNS local. Correto? Está armazenando em cache uma pesquisa com falha na minha máquina local?

Sim, o Ubuntu está usando tudo o que foi fornecido com o arrendamento dhcp, mais especificamente dnsmasq, um plug-in, que cuida disso para network-manager.

O Ubuntu às vezes usa esse segundo servidor DNS? Por que? É balanceamento de carga? O local é mais lento?

Se o primeiro DNS não for resolvido, dnsmasqdeverá redirecionar a consulta para o DNS secundário. Pelo menos essa é a ideia.

Caso você queira usar seu próprio servidor DNS Pessoalmente, eu sempre uso supersede domain-name-server xxx.xx.xxx.xxxpara /etc/dhcp/dhclient.confdizer ao meu sistema Ubuntu para substituir qualquer DNS que ele receba via locação dhcp pelo meu próprio servidor. Aqui está o trecho desse arquivo:

30)serg@ubuntu[/home/xieerqi]
>_ cat /etc/dhcp/dhclient.conf                                                 
# Configuration file for /sbin/dhclient, which is included in Debian's
#   dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's
#   man page for more information about the syntax of this file
#   and a more comprehensive list of the parameters understood by
#   dhclient.
#
# Normally, if the DHCP server provides reasonable information and does
#   not leave anything out (like the domain name, for example), then
#   few changes must be made to this file, if any.
#

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
supersede domain-name-servers 208.67.220.220;
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers,
    dhcp6.fqdn, dhcp6.sntp-servers;

Depois de configurar isso e reconectar ou reiniciar network-manager, aqui está o que tenho:

31)serg@ubuntu[/home/xieerqi]
>_ nmcli dev list | grep -i dns                                                
IP4.DNS[1]:                             208.67.220.220

O Nslookup irá reportar Server: 127.0.1.1e Address: 127.0.1.1#53 já que é o Network-Manager dsnmasqque escuta esse endereço, e usa o que foi fornecido pelo dhcp (neste caso, o dns substituído)

informação relacionada