Domanda Riga di comando per elencare i server DNS utilizzati dal mio sistema


Esiste un comando per elencare i server DNS utilizzati dal mio sistema?

Provai

$ 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

Ma non elenca alcun server, se vado a "Network Manager GUI Tool", nella sezione Wireless elenca "DNS 192.168.1.1 8.8.8.8 8.8.4.4"

Posso ottenere le stesse informazioni dalla riga di comando?

Sto usando Ubuntu 12.04 LTS


198
2018-06-18 14:36


origine


Cosa stai cercando di trovare? i server DNS utilizzati dal tuo sistema? o stai cercando di fare una ricerca DNS? - Thomas Ward♦
L'ex @LordofTime - ish
@LordofTime Server DNS utilizzati dal mio sistema - Anurag Uniyal
stai usando 127.0.0.1. tu sei in esecuzione un server DNS? - Skaperen
Vedere unix.stackexchange.com/q/28941/38647 per una versione non Ubuntu di questa domanda - mwfearnley


risposte:


resolv.conf non è più realmente utilizzato, a meno che non lo si implementa da soli. Il gestore di rete lo fa ora. Ho creato un alias per elencare i server DNS sul mio sistema, poiché a volte passo da OpenDNS al DNS aperto di Google.

Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS

Ubuntu <= 14

nmcli dev list iface <interfacename> | grep IP4

Nel mio caso, <interfacename> è eth0, che è comune, ma non sempre.

Vedi se questo è quello che vuoi.

MODIFICARE:

Penso che resolv.conf sia effettivamente utilizzato indirettamente, perché il gestore di rete crea il server che ascolta su 127.0.0.1, ma mi è stato detto che si tratta di un dettaglio di implementazione su cui non bisogna contare. Penso che se inserisci degli indirizzi DNS prima di questa voce, potrebbero essere usati, ma non sono sicuro di come funzioni. Penso che sia meglio usare il gestore di rete nella maggior parte dei casi, quando possibile.


198
2018-06-18 15:20



grazie, sì, sembra che funzioni, il networking di Ubuntu sembra essere confuso, quindi posso impostare i server DNS in resolve.conf / base o in / etc / network / interfaces o nel gestore di rete, esiste una guida definitiva per il networking di ubuntu? - Anurag Uniyal
Se si utilizza la GUI, il posto migliore per impostarlo è creare profili nella finestra di dialogo Connessioni di rete. Ho duplicato il valore predefinito, quindi ho modificato il duplicato per apportare le modifiche che volevo, mantenendo l'impostazione predefinita per assicurarmi di avere sempre un profilo funzionante. Quindi, è facile cambiare profilo. Non so come farlo senza la GUI, ma c'è un utente "James Henstridge" che è molto ben informato sulla rete di Ubuntu; potresti provare a cercare askubuntu per le sue informazioni. Mi ha detto del comando che ti ho dato questo post. - Marty Fried
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 è un bell'articolo sulla risoluzione DNS in Ubuntu 12.04 - Anurag Uniyal
Bel collegamento: molte buone informazioni per digerire. - Marty Fried
Sto usando 15.04 e 'nmcli dev show | grep DNS' funziona per me invece. - flickerfly


Questo è valido per Ubuntu 13.10 e precedenti. Per Ubuntu 14.04 e versioni successive, vedere La risposta di Koala Yeung a: Come sapere cosa sto utilizzando DNS in Ubuntu dal 14.04 in poi


Uso

nm-tool

Otterrai un risultato simile 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

O vedere solo il DNS

nm-tool | grep DNS

82
2018-06-18 15:22



volevo solo aggiungere, andare a nm-appletAnche il menu delle informazioni di connessione funzionerà :) - Samik
1 anche questo funziona, così come nm-cli come risposta da @Marty Fried - Anurag Uniyal
Sì, le stesse informazioni, ma nmcli è più facile da analizzare se si desidera estrarlo per una presentazione diversa, come conky, o semplicemente un sommario come il mio grep. - Marty Fried
funziona alla grande anche su lubuntu 14.04. Grazie - jamescampbell
nm-tool non è stato trovato il 15.10 - labyrinth


Le due risposte più importanti, nmcli dev list iface <interfacename> | grep IP4 e nm-tool entrambi suppongono che il gestore della rete abbia il controllo. Che è - su macchine desktop la maggior parte del tempo almeno. Ma la risposta più completa è che a volte il gestore di rete non ha il controllo. Per esempio. vpnc pasticcia /etc/resolv.conf direttamente.

Quindi: Prima verifica se viene usato 127.0.0.1/localhost. Questo potrebbe essere fatto con dig:

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

Ora tu sai che noi siamo usando localhost. Vai avanti con una delle risposte popolari. Mi piace:

> nm-tool | grep DNS:
    DNS:             8.8.8.8

Ma se 127.0.0.1/localhost è non usato, quindi nm-toole nmcliL'output sarà fuorviante:

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

Qui, dig è corretto e nm-toolLe informazioni sono fuorvianti. In realtà gli indirizzi locali verso l'ambiente in cui ho inserito VPN sono stati risolti correttamente. Tutto ciò è il DNS di Google 8.8.8.8  non lo fa conoscere.

Questo perché dopo la connessione a una VPN con vpnc, mette una linea in /etc/resolv.conf quindi sembra:

# 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

32
2018-05-28 19:19



Questa è la risposta più completa - Marinos An
Grazie. Alcuni di noi qui fuori non usano NM e questo è un bene per la comunità. - Stephen Boston


cat /etc/resolv.conf dovrebbe mostrare i tuoi server DNS

Non è possibile modificare il resolv.conf direttamente con Ubuntu 12.04. Se è necessario cambiarli, puoi aggiungere nuovi server DNS nel tuo /etc/network/interfaces file aggiungendo quanto segue:

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

dove x è il server DNS che desideri utilizzare.

Se fossi in te, vorrei disinstallare network-manager. Secondo me è un mucchio di merda.

È possibile eseguire tutto ciò che è necessario eseguire manualmente senza doversi preoccupare di modificare le impostazioni, soprattutto se sul computer sono presenti più schede NIC.


29
2018-05-03 15:27



Devo riavviare nm dopo aver modificato il DNS? - Bhargav Nanekalva
--Grazie. È grandioso Funziona anche senza quel business manager di rete. - Adam
"cat /etc/resolv.conf dovrebbe mostrare i tuoi server DNS". Non è così. - Marinos An


nmcli versione 0.9.10

Puoi utilizzare uno di questi comandi:

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





In Ubuntu 15.10 puoi ottenere DNS

nmcli device show <interface name> 

2
2018-03-02 18:09





Sembra essere gestito dal gestore di rete. Dai un'occhiata qui http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html

per una grande spiegazione

O la versione breve per cercare

 /etc/NetworkManager/NetworkManager.conf

o

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

0
2018-06-18 14:46



ma /etc/NetworkManager/NetworkManager.conf non ha alcun server DNS elencato in esso - Anurag Uniyal