Comment puis-je vérifier quel serveur DNS jutilise (sous Linux)? Jutilise le gestionnaire de réseau et une connexion filaire au réseau local de mon université. (Jessaie de savoir pourquoi mon domaine ne se résout pas)

Réponse

Vous devriez pouvoir obtenir des informations raisonnables dans:

$ cat /etc/resolv.conf 

Commentaires

  • Cependant, sachez que (sous Linux moderne) le contenu de /etc/nsswitch.conf détermine les services de noms utilisés (DNS, LDAP, etc.) et dans quel ordre. Dites fgrep hosts: /etc/nsswitch.conf. Sil ne fait référence quà DNS, /etc/resolv.conf est le bon endroit pour rechercher vos serveurs de noms. Mais il est probable que vous ‘ utilisez également mDNS (alias ZeroConf, alias Avahi, alias Bonjour, etc.), etc. Dans ce cas, les choses dépendent de ce que vous ‘ utilisez.
  • Ce fichier pointe généralement vers 127.0.1.1 sur Ubuntu – il ‘ est le serveur de cache DNS local, pas le serveur de cache DNS réel en amont.
  • @BarryKelly Vérifiez ce que votre routeur utilise, puis
  • Et si vous avez plusieurs serveurs en amont configurés? Comment savoir lequel est actuellement utilisé?
  • Voir les réponses de @ G32RW ou @Lonniebiz pour une approche plus robuste dans diverses circonstances, par ex. lorsque vous obtenez une réponse comme 127.0.0.53

Réponse

Ici « Comment je fais:

( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS 

Ce a fonctionné de la précédente à la manière ci-dessus:

nm-tool | grep DNS 

Sur Debian, vous devez avoir le package network-manager installé.

Commentaires

  • Celui-ci est utile si vous utilisez VPN et NetworkManager . Votre /etc/resolv.conf pointera vers votre ordinateur, avec dnsmasq résolvant les noms comme configuré par NetworkManager .
  • Sur Debian, cela nécessite le paquet network-manager.
  • nm-tool nest pas disponible dans les nouveaux Linux. Par exemple, il ne lest pas dans le package ‘ network-manager ‘ de debian 8.
  • I ‘ avons mis à jour la réponse pour refléter ce que travaille pour moi en 2016.
  • cest la meilleure réponse, resolver.conf ne montre pas toujours la vérité

Réponse

Sur les systèmes exécutant systemd, utilisez:

systemd-resolve --status 

Commentaires

  • systemd-resolution: option non reconnue ‘ –status ‘
  • Dit Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
  • Cest la nouvelle façon par défaut de le faire dans Ubuntu 18.04 Bionic Beaver – habituez-vous-y, tout le monde!
  • Cest le seul solution qui a fonctionné pour moi, car les autres ont renvoyé 127.0.0.53
  • Que suis-je en train de lire? Je ne vois que les enregistrements DNSSEC.

Réponse

Je pense que vous pouvez également interroger DNS et cela vous montrera ce que le serveur a renvoyé le résultat. Essayez ceci:

dig yourserver.somedomain.xyz 

Et la réponse devrait vous dire quel (s) serveur (s) a renvoyé le résultat. Le résultat qui vous intéresse ressemblera à ceci:

;; 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 

Vous pouvez également dire à dig dinterroger un serveur DNS spécifique en utilisant dig @server_ip

Commentaires

  • Sur Debian, cela nécessite le dnsutils package.
  • Si vous utilisez un service de masquage / mise en cache DNS exécuté sur votre machine locale, il masquera les vrais serveurs DNS.
  • Ubuntu 18.04 montre simplement le cache DNS local: SERVER: 127.0.0.53#53(127.0.0.53)

Answer

Faites simplement une, nslookup . Une partie de ses résultats inclut le serveur quil utilise.

Dans lexemple ci-dessous, cela montre que le serveur DNS utilisé est en 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 

Commentaires

  • pouvez-vous donner un exemple de ce quil faut entrer dans linvite?
  • Exemple: $ nslookup www.google.com
  • Sur Debian, cela nécessite le paquet dnsutils.
  • Sur un Ubuntu récent, cela pointe à nouveau vers le serveur de cache local 127.0.0.1 comme déjà indiqué dans ce commentaire
  • Dans CentOS 7 il se ferme avec une erreur, mais cest un vm donc jai fait nslookup google.com dans lhôte Windows et jai trouvé le serveur de noms. Ajoutez-le dans /etc/resolv.conf comme: nameserver xx.xx.xx.xx et redémarrez le service network, et tout va bien. Te louerai.

Réponse

Avec la nouvelle commande network-manager nmcli, procédez comme suit:

nmcli --fields ipv4.dns,ipv6.dns con show [connection_name] 

Sur les versions plus récentes de network-manager (comme dans Ubuntu 16.04), les noms de champs sont légèrement différents:

nmcli --fields ip4.dns,ip6.dns con show [connection_name] 

Si vous ne connaissez pas le nom de la connexion, utilisez:

nmcli -t --fields NAME con show --active 

Par exemple, sur les anciennes versions de nmcli:

$ 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 

Commentaires

  • Mes résultats : order «con» «show» is not valid.
  • Cela fonctionne très bien pour moi avec network-manager 1.0.4 sur Ubuntu 15.10. Peut-être avez-vous une version plus ancienne?
  • Le format tabulaire est assez mauvais. Jespère obtenir une colonne comme format similaire à Powershell.
  • Renvoie Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
  • simplement nmcli était tout ce dont javais besoin sur ubuntu 19.04

Réponse

pour obtenir le premier SERVEUR DNS (IP uniquement):

  • cat affichera la configuration DNS
  • grep filtres uniquement nameserver
  • head ne conservera que la première ligne / instance
  • cut prend ladresse IP partie de la ligne (deuxième colonne avec «  » comme séparateur)

Pour mettre DNS ip dans une variable denvironnement, vous pouvez utiliser comme suit:

export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i "^nameserver"|head -n1|cut -d " " -f2) 

Commentaires

  • grep -m 1 ne correspond plus après la première correspondance, vous ne ‘ t avoir à utiliser head
  • Pour alléger encore plus le pipeline, capturer des groupes avec Perl regexp est très soigné, et grep prend un fichier argument: grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf. Je viens de rédiger Capturer des groupes avec lexpression régulière grep perl
  • Il y a ‘ IPv4 et Serveurs DNS IPv6. En outre, les serveurs secondaires existent pour une raison. Lequel cette commande renvoie? Est-il conseillé de prendre le premier et dignorer les autres?

Answer

Si vous utilisez gestionnaire de réseau, vous obtenez probablement tous les paramètres réseau de votre serveur DHCP de votre université.

Si vous ne voulez pas utiliser votre shell pour vérifier vos paramètres DNS (comme décrit par Hesse et Alexios), vous pouvez les voir depuis le panneau « Informations sur le réseau ».

Vous pouvez accéder à ce panneau en appuyant sur le bouton droit de la souris sur licône du gestionnaire de réseau et en sélectionnant « Informations de connexion » dans le menu.

Réponse

Utilisation de 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 

Pour des raisons de compatibilité, systemd-resolve est un lien symbolique vers resolvectl sur de nombreuses distributions comme pour 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 

Commentaires

  • fonctionne parfaitement sur Ubuntu 18.10.

Réponse

Jai Fed ora 25 et avait également une réponse lente similaire sur la ligne de commande aux commandes sudo.

nmcli dev show | grep DNS 

a montré que seul un de mes 3 adaptateurs (deux actifs) avait des entrées DNS. En ajoutant des entrées DNS à la seule carte active qui n’avait pas d’entrée – hop! Tout va bien et le temps de réponse est immédiat.

Commentaires

  • peut-être alternativement

Réponse

Dans Ubuntu> = 15

nmcli device show <interfacename> | grep IP4.DNS 

Remplacez <interfacename> par le vôtre.

Dans Ubuntu < = 14

La commande

 nmcli dev list iface <interfacename> | grep IP4 

Remplacez <interfacename> par la vôtre.

Exemples

 nmcli device show eth0 | grep IP4.DNS 

Ou

 nmcli dev list iface eth0 | grep IP4 

Cela listera tous les serveurs DNS (si vous utilisez plus de one).

Commentaires

  • nmcli dev list iface [devicename] est la bonne commande
  • I ‘ t remarqué < linterface > est masquée car jutilise < >
  • Sur debian, jobtiens une erreur — $ nmcli dev li st iface eth0 Erreur: ‘ dev ‘ command ‘ list ‘ nest pas valide.
  • nmcli est une commande spécifique à RH.
  • Cest la bonne réponse!

Réponse

Sur un Fedora 33 récent, vous pouvez simplement utiliser

# resolvectl dns Global: Link 2 (enp0s31f6): Link 3 (wlp4s0): 1.1.1.1 8.8.8.8 Link 4 (virbr0): Link 5 (virbr0-nic): 

Pour vérifier si systemd-resolved est actif, faites cat /etc/resolv.conf Cela vous dira qui contrôle le fichier.

Si vous voulez plus de détails, vous pouvez utiliser resolvectl status resolvectl statistics, vous pouvez également vider les caches …

Pour résoudre le problème, vous pouvez utiliser journalctl -u systemd-resolved -f -o cat | grep Looking après avoir défini le niveau sur DEBUG: sudo resolvectl log-level debug

Réponse

Dans CentOS, vous pouvez utiliser:

/usr/sbin/named -v 

Réponse

Sur les systèmes où systemd-resolved nest PAS installé:

 $ host -v something.unknown | awk -F "[ #]" "/Received /{print$5}" | uniq 192.168.1.1  

Sur les systèmes sur lesquels NetworkManager sexécute:

$ ( 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 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *