Odpowiedzi:
Powinieneś być w stanie uzyskać uzasadnione informacje w:
$ cat /etc/resolv.conf
127.0.0.53
Oto jak to robię:
nmcli dev show | grep DNS
To działało wcześniej w sposób opisany powyżej:
nm-tool | grep DNS
/etc/resolv.conf
swój komputer za pomocą dnsmasq
rozpoznawania nazw skonfigurowanych przez NetworkManager .
network-manager
pakietu.
Myślę, że możesz również zapytać DNS, a pokaże ci, który serwer zwrócił wynik. Spróbuj tego:
dig yourserver.somedomain.xyz
Odpowiedź powinna powiedzieć, które serwery zwróciły wynik. Wynik, który Cię interesuje, będzie wyglądał mniej więcej tak:
;; 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
Możesz także poprosić dig
o zapytanie określonego serwera DNS za pomocądig @server_ip
dnsutils
pakietu.
SERVER: 127.0.0.53#53(127.0.0.53)
Wystarczy zrobić, nslookup
. Część jego wyników obejmuje serwer, którego używa.
W poniższym przykładzie pokazuje, że używany serwer DNS to 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
pakietu.
nslookup google.com
na hoście Windows i znalazłem serwer nazw. Dodaj to /etc/resolv.conf
jak: nameserver xx.xx.xx.xx
i uruchom ponownie usługę network
, a wszystko jest w porządku. Wysławiam Cię.
W systemach z uruchomionym systemem użyj:
systemd-resolve --status
Za pomocą nowego network-manager
polecenia nmcli
wykonaj następujące czynności:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
W nowszych wersjach menedżera sieci (takich jak Ubuntu 16.04) nazwy pól są nieco inne:
nmcli --fields ip4.dns,ip6.dns con show <connection_name>
Jeśli nie znasz nazwy połączenia, użyj:
nmcli -t --fields NAME con show --active
Na przykład:
$ 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
wszystko, czego potrzebowałem na Ubuntu 19.04
aby uzyskać pierwszy SERWER DNS (tylko IP):
cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
cat
wyświetli konfigurację DNSgrep
filtruje tylko serwer nazwhead
zachowa tylko pierwszy wiersz / instancjęcut
weź część ip wiersza (druga kolumna z separatorem „”)Aby umieścić DNS ip w zmiennej środowiskowej, możesz użyć następującego polecenia:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)
grep -m 1
przestaje pasować po pierwszym meczu, więc nie musisz go używaćhead
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Właśnie napisałem Grupy przechwytywania z wyrażeniem regularnym grep perl
Jeśli korzystasz z menedżera sieci, prawdopodobnie wszystkie parametry sieci otrzymujesz z serwera dhcp na uniwersytecie.
Jeśli nie chcesz używać powłoki do sprawdzania ustawień dns (zgodnie z opisem hesse i Alexiosa), możesz je zobaczyć z panelu „Informacje o sieci”.
Możesz przejść do tego panelu, naciskając prawy przycisk myszy na ikonie menedżera sieci i wybierając z menu opcję „Informacje o połączeniu”.
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
Dla kompatybilności systemd-resolve
jest dowiązaniem symbolicznym do resolvectl
wielu dystrybucji, tak jak w 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
Komenda
nmcli dev list iface <interfacename> | grep IP4
Zamień „interfacename” na swój.
przykład
nmcli dev list iface eth0 | grep IP4
Spowoduje to wyświetlenie listy wszystkich serwerów DNS (jeśli używasz więcej niż jednego).
nmcli dev list iface [devicename]
jest poprawna komenda
Mam Fedorę 25, a także miałem powolną odpowiedź w wierszu poleceń na polecenia sudo.
nmcli dev show | grep DNS
pokazał, że tylko jeden z moich 3 adapterów (dwa aktywne) miał wpisy DNS. Dodając wpisy DNS do jednej aktywnej karty, która nie miała wpisu - presto! Wszystko jest dobrze, a czas reakcji jest natychmiastowy.
W CentOS możesz użyć:
/usr/sbin/named -v
Raz myślisz znaleźć DNS, można wyszukać go bezpośrednio z wykopalisk: dig @<dns ip> <host to lookup>
. Jeśli to działa, powinieneś zobaczyć to później SERVER
ze statusem NOERROR
.
/etc/nsswitch.conf
dyktuje, jakie usługi nazwowe są używane (DNS, LDAP itp.) I w jakiej kolejności. Powiedziećfgrep hosts: /etc/nsswitch.conf
. Jeśli odwołuje się tylko do DNS,/etc/resolv.conf
jest właściwym miejscem do wyszukiwania serwerów nazw. Ale są szanse, że używasz również mDNS (aka ZeroConf, aka Avahi, aka Bonjour itp.) Itp. W takim przypadku rzeczy zależą od tego, czego używasz.