Questão Linha de comando para listar os servidores DNS usados ​​pelo meu sistema


Existe um comando para listar os servidores DNS usados ​​pelo meu sistema?

eu tentei

$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
$ cat /etc/network/interfaces 
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Mas ele não lista nenhum servidor, se eu for para "Network Manager GUI Tool", na seção Wireless, ele listará "DNS 192.168.1.1 8.8.8.8 8.8.4.4"

Posso obter as mesmas informações da linha de comando?

Estou usando o Ubuntu 12.04 LTS


198
2018-06-18 14:36


origem


O que você está tentando encontrar? os servidores DNS que estão sendo usados ​​pelo seu sistema? ou você está tentando fazer uma pesquisa de DNS? - Thomas Ward♦
O antigo @LordofTime - ish
Servidores DNS do @LordofTime sendo usados ​​pelo meu sistema - Anurag Uniyal
você está usando 127.0.0.1. você está corrida um servidor DNS? - Skaperen
Vejo unix.stackexchange.com/q/28941/38647 para uma versão não-Ubuntu desta questão - mwfearnley


Respostas:


O resolv.conf não é mais usado, a menos que você mesmo o implemente. O gerente de rede faz isso agora. Eu criei um alias para listar os servidores DNS no meu sistema, como às vezes mudo do OpenDNS para o DNS aberto do Google.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

No meu caso, <interfacename> é eth0, o que é comum, mas nem sempre é o caso.

Veja se é isso que você quer.

EDITAR:

Eu acho que o resolv.conf é realmente usado indiretamente, porque o gerenciador de rede cria o servidor que escuta no 127.0.0.1, mas me disseram que este é um detalhe de implementação que não deve ser contado. Eu acho que se você digitar endereços DNS antes desta entrada, eles podem se acostumar, mas não sei exatamente como isso funciona. Acho que é melhor usar o gerenciador de rede na maioria dos casos, quando possível.


198
2018-06-18 15:20



obrigado, sim que parece estar funcionando, o ubuntu networking parece ser confuso, para que eu possa configurar servidores dns em resolve.conf / base ou em / etc / network / interfaces ou em network manager, existe um guia definitivo para redes ubuntu? - Anurag Uniyal
Se você usar a GUI, o melhor lugar para configurá-lo é criando perfis na caixa de diálogo Conexões de Rede. Eu dupliquei o padrão e editei a duplicata para fazer as alterações desejadas, mantendo o padrão para garantir que eu sempre tivesse um perfil de trabalho. Então, é fácil alternar perfis. Eu não sei como fazer isso sem o GUI, mas há um usuário "James Henstridge" que é muito conhecedor da rede do Ubuntu; Você pode tentar pesquisar askubuntu para obter informações. Ele me contou sobre o comando que lhe dei em esta postagem. - Marty Fried
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 é um bom artigo abount resolução DNS no Ubuntu 12.04 - Anurag Uniyal
Bom link - muita informação boa para digerir. - Marty Fried
Estou usando o 15.04 e 'nmcli dev show | grep DNS' funciona para mim. - flickerfly


Isso é válido para o Ubuntu 13.10 e versões anteriores. Para o Ubuntu 14.04 e acima, veja A resposta de Koala Yeung para: Como saber qual DNS estou usando no Ubuntu a partir de 14.04?


Usar

nm-tool

Você terá uma saída semelhante a

NetworkManager Tool

State: connected (global)

- Device: eth0  [Wired connection 1] -------------------------------------------
  Type:              Wired
  Driver:            e1000e
  State:             connected
  Default:           yes
  HW Address:        00:11:22:33:44:55

  Capabilities:
    Carrier Detect:  yes
    Speed:           1000 Mb/s

  Wired Properties
    Carrier:         on

  IPv4 Settings:
    Address:         10.21.6.13
    Prefix:          24 (255.255.255.0)
    Gateway:         10.21.6.1

    DNS:             10.22.5.133
    DNS:             10.22.5.3

Ou para ver apenas o DNS

nm-tool | grep DNS

82
2018-06-18 15:22



só queria adicionar, indo para nm-appletO menu de informações de conexão também funcionará :) - Samik
+1 isso também funciona, assim como nm-cli como respondido por @Marty Fried - Anurag Uniyal
Sim, a mesma informação, mas o nmcli é mais fácil de analisar se você quiser extraí-lo para uma apresentação diferente, como conky, ou simplesmente um resumo como o meu grep. - Marty Fried
funciona muito bem no lubuntu 14.04 também. obrigado - jamescampbell
A ferramenta nm não é encontrada em 15.10 - labyrinth


As duas respostas principais, nmcli dev list iface <interfacename> | grep IP4 e nm-tool ambos assumem que o gerenciador de rede está no controle. Qual é - em computadores desktop na maioria das vezes, pelo menos. Mas a resposta mais completa é que às vezes o gerenciador de rede não está no controle. Por exemplo. vpnc mexe com /etc/resolv.conf diretamente.

Então: Primeiro, verifique se 127.0.0.1/localhost é usado. Isso poderia ser feito com dig:

> dig something.unknown  | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)

Agora você sabe que nós estamos usando localhost. Vá em frente com uma das respostas populares. Eu gosto:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Mas se 127.0.0.1/localhost é não usado, então nm-tool'areia nmcliA saída será enganosa:

> dig something.unknown  | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
    DNS:             8.8.8.8

Aqui, dig está correto e nm-toola informação é enganosa. Na realidade, os endereços locais para o ambiente em que eu estou VPN foram resolvidos corretamente. Tudo o que o DNS do Google 8.8.8.8  não faz saber sobre.

Isso ocorre porque depois de se conectar a uma VPN com vpnc, coloca uma linha na /etc/resolv.conf então parece que:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 1.2.3.4
nameserver 127.0.0.1
search MyDomain

33
2018-05-28 19:19



Esta é a resposta mais completa - Marinos An
Obrigado. Alguns de nós aqui não usam NM e isso é bom para a comunidade. - Stephen Boston


cat /etc/resolv.conf deve mostrar seus servidores DNS.

Você não pode modificar o resolv.conf diretamente com o Ubuntu 12.04. Se você precisar alterá-las, você pode adicionar novos servidores DNS em seu /etc/network/interfaces arquivo adicionando o seguinte:

 dns-nameservers x.x.x.x x.x.x.x

Onde x é os servidores DNS que você deseja usar.

Se eu fosse você, eu iria desinstalar network-manager. Na minha opinião, é uma pilha de porcaria.

Você pode realizar tudo o que precisa fazer manualmente sem se preocupar em alterar suas configurações, especialmente se tiver várias NICs no computador.


29
2018-05-03 15:27



Eu tenho que reiniciar o nm depois de fazer a mudança do DNS? - Bhargav Nanekalva
--Obrigado. Isso é ótimo. Ele funciona mesmo sem esse negócio de gerenciamento de rede. - Adam
"cat /etc/resolv.conf deve mostrar seus servidores DNS". Não faz. - Marinos An


versão nmcli 0.9.10

Você pode usar um destes comandos:

nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

nmcli -t -f IP4.DNS connection show conn-name
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

8
2017-08-19 10:03





No Ubuntu 15.10 você pode obter DNS

nmcli device show <interface name> 

2
2018-03-02 18:09





Parece ser gerenciado pelo gerente de rede. Dê uma olhada aqui http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

para uma grande explicação.

Ou a versão curta para procurar

 /etc/NetworkManager/NetworkManager.conf

ou

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

0
2018-06-18 14:46



mas /etc/NetworkManager/NetworkManager.conf não tem nenhum servidor dns listado nele - Anurag Uniyal