Por que dig informa o servidor DNS como 127.0.0.1 quando estou usando um DNS externo?

11

Uso desacoplado e geralmente uso o openDNS como meu servidor DNS.

Quando corro, dig google.comdigo que entendo SERVER: 127.0.0.1#53(127.0.0.1). O que exatamente essa coisa está ouvindo na porta # 53? isso é ilimitado ou tem algo a ver com o dnsmasq (eu ainda tenho o dnsmasq instalado porque dnsmasq.confnão parece estar dentro /etc?)

No resolv.conf existe, nameserver 127.0.0.1mas no gerenciador de rede, os servidores DNS apontam para os dois endereços openDNS. Então, o que está acontecendo aqui? o servidor de nomes local aponta para o dnsmasq que usa os valores do gerenciador de rede? ou é ilimitado que está de fato ouvindo?

fpghost
fonte
O que você está tentando realizar ?
Rahul Patil
3
apenas compreensão realmente #
fpghost
é esta edição do servidor ubuntu ou o quê?
Rahul Patil
não apenas desktop
fpghost

Respostas:

15

Por padrão, o NetworkManager usa o Dnsmasq como um resolvedor de DNS, se estiver instalado. Qual é o padrão nos sistemas baseados no Debian, então o Dnsmasq é executado em uma configuração padrão, onde apenas resolve nomes com base nos servidores upstream especificados pelas opções da linha de comando (mais o conteúdo de /etc/hosts). Você não possui /etc/dnsmasq.confporque esse arquivo está presente apenas no pacote opcional dnsmasq .

Para verificar se o seu sistema está usando o Dnsmasq ou o Unbound para consultas DNS no momento, execute netstat -ulnp | grep ":53 ".

No Ubuntu 12.04, o NetworkManager não funciona bem com outros resolvedores de DNS (consulte o bug 959037 - o resumo de Thomas Hood cobre praticamente tudo). Para continuar executando o Unbound juntamente com o NetworkManager, sua melhor aposta é dizer ao NetworkManager para não executar o Dnsmasq (você não precisa dele além do Unbound, a menos que esteja usando os recursos do Dnsmasq que o NetworkManager não usa). Fazer isso:

  1. Edite /etc/NetworkManager/NetworkManager.confpara comentar a linha que contém dns=dnsmasq(adicione a #no início dessa linha).
  2. Reinicie o NetworkManager com service network-manager restart.
Gilles 'SO- parar de ser mau'
fonte
como o Ubuntu atualmente sabe usar o Unbound? (ele realmente parece estar usando); o que eu quero chegar é por isso que eu não preciso de algo como dns=unboundem /etc/NetworkManager/NetworkManager.conf? e dado o que tenho atualmente dns=dnsmasqnesse arquivo, por que o Ubuntu está realmente usando ilimitado?
fpghost
@fpghost Qual deles você depende depende de quem começou primeiro. Se você inicializar sem rede, receberá o Unbound porque ele será iniciado primeiro. Se você inicializar com uma conexão de rede, acho que é um lance.
Gilles 'SO- stop be evil'
OK, mas o que eu estava realmente pensando é em vez de comentar completamente a dns=...linha para interromper o uso do dnsmasq, e se eu a substituir dns=unbound? Caso contrário, como o NetworkManager sabe que o limite será o resolvedor local?
Fpghost 26/12/12
1

No ubuntu 12.04, o dnsmasq agora está sendo executado por padrão devido ao código embutido network-manager. Usando o dnsmasq como resolvedor local por padrão em instalações de desktop Essa é a segunda grande mudança desta versão. Em uma instalação de desktop, seu servidor DNS será "127.0.0.1", que aponta para um servidor dnsmasq gerenciado pelo NetworkManager.

SERVER: 127.0.0.1#53(127.0.0.1)

isso significa que você está recebendo a sua consulta do DNS local, ou seja, DNSMASQ.

Se você não deseja um resolvedor local, desative-o DNSMASQ usando o procedimento a seguir.

Você precisa editar o /etc/NetworkManager/NetworkManager.confarquivo

gksudo gedit /etc/NetworkManager/NetworkManager.conf

e comente a seguinte linha de

dns=dnsmasq

para

#dns=dnsmasq

Salve o arquivo e saia.

Agora você precisa reiniciar network-managerusando o seguinte comando

sudo systemctl restart network-manager

Link de referência

Rahul Patil
fonte
1
OK, mas e se eu também tiver o Unbound instalado, isso tem precedência sobre o dnsmasq como o resolvedor local? ambos estão ouvindo no # 53? como eles se dão juntos?
Fpghost
Também porque está /etc/dnsmasq.confausente?
Fpghost
@fpghost O dnsmasq escuta em 127.0.1.1, enquanto não escuta, em 127.0.0.1, ambos na porta 53. Você pode definir dns = unbound na configuração do gerenciador de rede para usá-lo.
Talonx