Hogyan ellenőrizhetem, hogy melyik DNS-szervert használom (Linux alatt)? Hálózati kezelőt és vezetékes kapcsolatot használok az egyetem LAN-jához. (Megpróbálom kideríteni, miért nem oldódik fel a domainem)
Válasz
Meg kell tudni szereznie néhány ésszerű információt:
$ cat /etc/resolv.conf
Megjegyzések
- Ne feledje azonban, hogy (a modern Linuxen) a
/etc/nsswitch.conf
tartalma meghatározza, hogy milyen névszolgáltatásokat (DNS, LDAP stb.) használjon és milyen sorrendben. Mondja ki, hogyfgrep hosts: /etc/nsswitch.conf
. Ha csak a DNS-re hivatkozik, akkor a/etc/resolv.conf
a megfelelő hely a névszerverek megkeresésére. De valószínű, hogy ‘ mDNS-t is használ (más néven: ZeroConf, más néven Avahi, más néven Bonjour stb.), Stb. “>
újra használja.
127.0.0.53
Válasz
Itt “Hogyan csinálom:
( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS
Ez az előző módon működött a fenti módon:
nm-tool | grep DNS
A Debian rendszeren rendelkeznie kell a hálózatkezelő csomaggal telepítve.
Megjegyzések
Válasz
A systemd rendszert futtató rendszereken használja:
systemd-resolve --status
Megjegyzések
- systemd-solution: fel nem ismert opció ‘ –status ‘
- Mondja
Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
- Ez az új alapértelmezett módszer az Ubuntu 18.04 Bionic Beaver használatához – szokja meg, mindenki!
- Ez az egyetlen megoldás, ami nekem bevált, mivel a többiek 127.0.0.53-at adtak vissza
- Mit olvasok? Csak a DNSSEC rekordokat látom.
Válasz
Szerintem lekérdezheti a DNS-t is, és ez megmutatja, hogy mi szerver visszaadta az eredményt. Próbálja ki ezt:
dig yourserver.somedomain.xyz
És a válasznak meg kell adnia, hogy melyik szerver (ek) adta vissza az eredményt. Az érdeklődő kimenet a következőképpen fog kinézni:
;; 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
A dig
parancsot is megkérdezheti egy adott DNS-kiszolgáló a dig @server_ip
Megjegyzések
- használatával a Debianon a
dnsutils
csomag. - Ha a helyi gépén futtatott DNS-maszkoló / gyorsítótár-szolgáltatást használ, az elrejti a valódi DNS-kiszolgálókat.
- Ubuntu A 18.04 csak a helyi dns gyorsítótárat mutatja:
SERVER: 127.0.0.53#53(127.0.0.53)
Válasz
Csak tegyen egy nslookup
fájlt. Eredményeinek egy része tartalmazza a kiszolgálót, amelyet használ.
Az alábbi példában azt mutatja, hogy a használt DNS-kiszolgáló 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
Megjegyzések
- tudnál példát mondani arra, hogy mit kell beírni a promptba?
- Példa:
$ nslookup www.google.com
- Debianon ehhez a
dnsutils
csomag szükséges. - Egy nemrégiben futó Ubuntuban ez ismét a 127.0.0.1 helyi gyorsítótár-kiszolgálóra mutat, amint erre már utaltunk ebben a megjegyzésben
- a CentOS-ban 7 hibával zárul ki, de ez egy vm, ezért
nslookup google.com
t csináltam a Windows gazdagépen, és megtaláltam a névszervert. Adja hozzá a/etc/resolv.conf
mappába, például:nameserver xx.xx.xx.xx
és indítsa újra anetwork
szolgáltatást, és minden rendben van. Megdicsér téged.
Válasz
Az új network-manager
paranccsal nmcli
, tegye ezt:
nmcli --fields ipv4.dns,ipv6.dns con show [connection_name]
A network-manager újabb verzióin (például az Ubuntu 16.04-ben) a mezők nevei kissé eltérnek egymástól:
nmcli --fields ip4.dns,ip6.dns con show [connection_name]
Ha nem tudja a kapcsolat nevét, használja:
nmcli -t --fields NAME con show --active
Például az nmcli régi verzióin:
$ 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
Megjegyzések
- Eredményeim :
order «con» «show» is not valid
. - Számomra jól működik az 1.0.4 hálózatkezelővel az Ubuntu 15.10-en. Esetleg van egy régebbi verziód?
- A táblázatos formátum nagyon rossz. Remélem, hogy a Powershellhez hasonló oszlophoz hasonló oszlopot kapok.
- Visszaadja a
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
- egyszerűen
nmcli
mindenre szükségem volt az ubuntu 19.04-en
Válasz
az első DNS-SZERVER (csak IP):
-
cat
csak a DNS konfigurációs -
grep
DNS-szűrőket adja ki névkiszolgáló -
head
csak az első sort / példányt fogja megtartani -
cut
vegye az ip-t a sor része (második oszlop “” elválasztóként)
Ha a DNS ip-t környezeti változóba szeretné helyezni, akkor a következőket használhatja:
export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i "^nameserver"|head -n1|cut -d " " -f2)
Megjegyzések
-
grep -m 1
az első meccs után leállítja az egyezést, így nem ‘ t nem kell használnia ahead
- A csővezeték még könnyebbé tételéhez a Perl regexp használatával a csoportok rögzítése nagyon ügyes, a grep pedig fájlt vesz fel argumentum:
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Csak felírta Csoportok rögzítése grep perl reguláris kifejezéssel - Ott ‘ mind az IPv4, mind a IPv6 DNS-kiszolgálók. Másodlagos szerverek is vannak okból. Melyiket adja vissza ez a parancs? Javasoljuk, hogy vegye az elsőt, és hagyja figyelmen kívül a többieket?
Válasz
Ha Ön használja hálózati menedzser valószínűleg az összes hálózati paramétert megkapja az egyetem dhcp szerveréről.
Ha nem szeretné, hogy a héja segítségével ellenőrizze a dns beállításait (a hesse és az Alexios leírása szerint), akkor láthatja őket a “Hálózati információk” panelről.
Ezt a panelt úgy érheti el, hogy a jobb egérgombbal megnyomja a hálózatkezelő ikont, és a menüből kiválasztja a “Kapcsolat adatai” lehetőséget.
Válasz
A 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
A kompatibilitás érdekében a systemd-resolve
egy szimbolikus link a resolvectl
-re sok diszkóban, mint az Ubuntu 18.10-hez:
$ 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
Megjegyzések
- tökéletesen működik az Ubuntu 18.10-en.
Válasz
Fedeztem ora 25, és a parancssorban hasonló lassú válaszokkal reagált a sudo parancsokra is.
nmcli dev show | grep DNS
azt mutatta, hogy a 3 adapterem közül (csak két aktív) csak az egyiknek volt DNS bejegyzése. Ha hozzáad DNS-bejegyzéseket ahhoz az aktív kártyához, amelyiknek nincs bejegyzése – presto! Minden jó, és a válaszidő azonnali.
Megjegyzések
- esetleg alternatívaként
Válasz
az Ubuntuban> = 15
nmcli device show <interfacename> | grep IP4.DNS
Cserélje le az <interfacename>
szót a sajátjára.
Az Ubuntuban < = 14
A parancs
nmcli dev list iface <interfacename> | grep IP4
Cserélje le az <interfacename>
parancsot a sajátjára.
Példák
nmcli device show eth0 | grep IP4.DNS
Vagy
nmcli dev list iface eth0 | grep IP4
Ez felsorolja az összes DNS-kiszolgálót (Ha többet használ, mint egy).
Megjegyzések
-
nmcli dev list iface [devicename]
a helyes parancs - I a haven ‘ nem vettem észre, hogy < felület > rejtve van, mivel a >
- A debianon hibát kapok — $ nmcli dev li st iface eth0 hiba: ‘ dev ‘ parancs ‘ lista ‘ érvénytelen.
- Az nmcli egy RH-specifikus parancs.
- Ez a helyes válasz!
Válasz
Egy nemrégiben készített Fedora 33-as verzióban csak a
# resolvectl dns Global: Link 2 (enp0s31f6): Link 3 (wlp4s0): 1.1.1.1 8.8.8.8 Link 4 (virbr0): Link 5 (virbr0-nic):
parancsot használhatja annak ellenőrzésére, hogy a div id = “4426e8c7eb”>
aktív, tegye acat /etc/resolv.conf
parancsot. Ez megmondja, hogy ki irányítja a fájlt.
Ha további részleteket szeretne, használhatja a resolvectl status
resolvectl statistics
alkalmazást, a gyorsítótárakat is öblítheti …
A hibaelhárításhoz használhatja az journalctl -u systemd-resolved -f -o cat | grep Looking
parancsot, miután a szintet DEBUG-ra állította: sudo resolvectl log-level debug
Válasz
A CentOS-ban a következőket használhatja:
/usr/sbin/named -v
Válasz
Olyan rendszereken, ahol NEM telepítve van a systemd-resolved
:
$ host -v something.unknown | awk -F "[ #]" "/Received /{print$5}" | uniq 192.168.1.1
Rendszereken, ahol NetworkManager
fut:
$ ( nmcli -f IP4.DNS,IP6.DNS dev list || nmcli -f IP4.DNS,IP6.DNS dev show ) 2>/dev/null | awk "/DNS/{print$NF}" 192.168.1.1
/etc/resolv.conf
a gépére fog mutatni, és adnsmasq
neveket a NetworkManager b konfigurálásával oldja meg. >.network-manager
csomag szükséges.