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, hogy fgrep 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.

  • Ez a fájl általában a 127.0.1.1 pontra mutat az Ubuntuban – ez ‘ s a helyi DNS gyorsítótár szervert, nem pedig a tényleges upstream.
  • @BarryKelly Ellenőrizze, hogy az útválasztó mit használ, majd
  • És ha több upstream szerver van konfigurálva? Hogyan lehet tudni, hogy melyiket használjuk jelenleg?
  • Tekintse meg a @ G32RW vagy a @Lonniebiz válaszait a robusztusabb megközelítés érdekében, különféle körülmények között, pl. amikor olyan választ kap, mint 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

    • Ez akkor hasznos, ha a VPN és a NetworkManager . /etc/resolv.conf a gépére fog mutatni, és a dnsmasq neveket a NetworkManager b konfigurálásával oldja meg. >.
    • A Debian rendszeren ehhez a network-manager csomag szükséges.
    • Az nm-tool nem érhető el újabb linuxokban. Például nem a Debian 8 ‘ hálózatkezelő ‘ csomagjában.
    • I ‘ frissítette a választ, hogy tükrözze a nálam dolgoznak 2016-ban.
    • ez a legjobb válasz, a resol.conf nem mindig mutatja meg az igazat

    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 a network 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 a head
    • 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.confparancsot. 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 

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük