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 eth0
em 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
falharnslookup 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, dnsmasq
deverá 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.xxx
para /etc/dhcp/dhclient.conf
dizer 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.1
e Address: 127.0.1.1#53
já que é o Network-Manager dsnmasq
que escuta esse endereço, e usa o que foi fornecido pelo dhcp (neste caso, o dns substituído)