Risposte:
Dovresti essere in grado di ottenere alcune informazioni ragionevoli in:
$ cat /etc/resolv.conf
127.0.0.53
Ecco come lo faccio:
nmcli dev show | grep DNS
Questo ha funzionato prima del modo sopra:
nm-tool | grep DNS
/etc/resolv.conf
riferimento al tuo computer, con la dnsmasq
risoluzione dei nomi come configurato da NetworkManager .
network-manager
pacchetto.
Penso che puoi anche interrogare DNS e ti mostrerà quale server ha restituito il risultato. Prova questo:
dig yourserver.somedomain.xyz
E la risposta dovrebbe dirti quali server hanno restituito il risultato. L'output che ti interessa sarà simile a questo:
;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE rcvd: 207
Puoi anche dire dig
di interrogare un server DNS specifico usandodig @server_ip
dnsutils
pacchetto.
SERVER: 127.0.0.53#53(127.0.0.53)
Basta fare un nslookup
,. Parte dei risultati include il server che sta utilizzando.
Nell'esempio seguente, mostra che il server DNS utilizzato è a 8.8.8.8.
$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 172.217.22.174
$ nslookup www.google.com
dnsutils
pacchetto.
nslookup google.com
nell'host di Windows e ho trovato il nameserver. Aggiungilo /etc/resolv.conf
come: nameserver xx.xx.xx.xx
e riavvia il servizio network
e tutto va bene. Ti lodo.
Sui sistemi che eseguono systemd utilizzare:
systemd-resolve --status
Con il nuovo network-manager
comando nmcli
, procedere come segue:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
Nelle versioni più recenti di gestore di rete (come in Ubuntu 16.04), i nomi dei campi sono leggermente diversi:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
Se non si conosce il nome della connessione, utilizzare:
nmcli -t --fields NAME con show --active
Per esempio:
$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]: 172.21.0.13
IP4.DNS[2]: 172.21.0.4
order «con» «show» is not valid
.
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
nmcli
era tutto ciò di cui avevo bisogno su Ubuntu 19.04
per ottenere il primo SERVER DNS (solo IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
cat
genererà la configurazione DNSgrep
filtra solo nameserverhead
manterrà solo la prima riga / istanzacut
prendere la parte ip della riga (seconda colonna con '' come separatore)Per inserire l'ip DNS in una variabile di ambiente, è possibile utilizzare come segue:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
grep -m 1
interrompe la corrispondenza dopo la prima partita, quindi non è necessario utilizzarlahead
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Ho appena scritto i gruppi Capture con espressione regolare grep perl
Se stai usando il gestore della rete probabilmente otterrai tutti i parametri di rete dal tuo server DHCP all'università.
Se non si desidera utilizzare la shell per controllare le impostazioni DNS (come descritto da Hesse e Alexios), è possibile visualizzarle dal pannello "Informazioni di rete".
È possibile accedere a questo pannello premendo il tasto destro del mouse sull'icona del gestore di rete e selezionando "Informazioni sulla connessione" dal menu.
resolvectl
$ resolvectl status | grep -1 'DNS Server'
DNSSEC supported: no
Current DNS Server: 1.1.1.1
DNS Servers: 1.1.1.1
1.0.0.1
Per compatibilità, systemd-resolve
è un collegamento simbolico resolvectl
su molte distro come per Ubuntu 18.10:
$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve
$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov. 15 21:42 /usr/bin/systemd-resolve -> resolvectl
$ type -a resolvectl
resolvectl is /usr/bin/resolvectl
$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped
Il comando
nmcli dev list iface <interfacename> | grep IP4
Sostituisci "interfacename" con il tuo.
examlpe
nmcli dev list iface eth0 | grep IP4
Questo elencherà tutti i server DNS (se ne usi più di uno).
nmcli dev list iface [devicename]
è il comando corretto
Ho Fedora 25 e ho avuto anche una risposta lenta simile sulla riga di comando ai comandi sudo.
nmcli dev show | grep DNS
ha mostrato che solo uno dei miei 3 adattatori (due attivi) aveva voci DNS. Aggiungendo voci DNS all'unica scheda attiva che non aveva una voce - presto! Tutto va bene e il tempo di risposta è immediato.
In CentOS, è possibile utilizzare:
/usr/sbin/named -v
Una volta che pensi di aver trovato il vostro DNS, è possibile interrogare direttamente con dig: dig @<dns ip> <host to lookup>
. Se funziona, dovresti vederlo dopo SERVER
con uno stato di NOERROR
.
/etc/nsswitch.conf
dettare quali servizi di nomi vengono utilizzati (DNS, LDAP, ecc.) E in quale ordine. Direfgrep hosts: /etc/nsswitch.conf
. Se fa riferimento solo a DNS,/etc/resolv.conf
è il posto giusto per cercare i tuoi nameserver. Ma è probabile che tu stia utilizzando anche mDNS (aka ZeroConf, aka Avahi, aka Bonjour, ecc.), Ecc. In tal caso, le cose dipendono da ciò che stai usando.