GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Besoin d'ajouter des serveurs de noms à Resolv.conf ?

J'utilise Ubuntu 18.04 (mis à jour à partir d'une version antérieure) qui utilise Network Manager et résolu par systemd pour la résolution de noms. Au démarrage, ma connexion Ethernet enp0s31f6 est mis en place par Network Manager et reçoit trois adresses de serveur de noms via DHCP, 10.1.13.10 , 10.1.141.10 , 10.1.13.36 . Exécution de nmcli affiche les trois serveurs de noms sous "Configuration DNS". Exécution de systemd-resolve --status les affiche sous une section "Lien 2 (enp0s31f6)". Je peux envoyer un ping à chacun. Aucune autre connexion n'est active.

testuser ☼ systemd-resolve --status
Global
          DNS Domain: (my org's domain)
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (wlp4s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (enp0s31f6)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.1.13.10
                      10.1.141.10
                      10.1.13.36
          DNS Domain: (my org's domain)

Cependant, lorsque j'essaie de résoudre un nom, même le nom de l'un des serveurs de noms, dig affirme que "la connexion a expiré :aucun serveur n'a pu être atteint".

testuser ☼ dig dcpdc001.(my org's domain)

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> dcpdc001.(my org's domain)
;; global options: +cmd
;; connection timed out; no servers could be reached

Notez que ce nom doit être résolu en 10.1.13.10 , le premier serveur de noms.

J'ai configuré resolvconf pour utiliser les mises à jour dynamiques. /etc/resolv.conf pointe vers /run/resolvconf/resolv.conf . Ce fichier contient uniquement (sans commentaires) :

nameserver 127.0.0.53
search (my orgs local search domain)

Si j'ajoute nameserver 10.1.13.10 à ce fichier manuellement, du coup dig peut se résoudre à nouveau, et tout ce qui a besoin de voir les noms locaux peut le faire. La suppression du serveur de noms casse cela à nouveau.

Je ne connais pas grand chose aux serveurs. Ils font partie d'un réseau Windows, mais je peux les utiliser si je modifie resolv.conf manuellement donc je ne pense pas que ce soit le problème, et cela implique que je n'ai pas besoin d'être authentifié auprès du domaine pour les utiliser. (Je peux m'authentifier sur le domaine via Ubuntu en utilisant Realmd/SSSD, mais pas si je ne peux pas résoudre le contrôleur de domaine...)

Le journalctl entrées pour systemd-resolved n'affichent que quelques messages sur "Utilisation d'un ensemble de fonctionnalités dégradées… pour le serveur DNS", mais ils ne font référence qu'au troisième serveur de noms, pas aux autres. Rien pour le serveur de noms principal.

Comment puis-je faire fonctionner la résolution de nom sans avoir à modifier manuellement resolv.conf à chaque démarrage ?

J'assume le contenu de mon resolv.conf signifie que Network Manager ou Systemd a une sorte de résolveur de mise en cache local en cours d'exécution ? Si oui, le contourner résoudrait-il les choses ?

En relation :Impossible d'ajouter des clés de dépôt ?

J'ai augmenté le niveau de journalisation de systemd-resolved et journalctl -f -u systemd-resolved affiche :

Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Got DNS stub UDP query packet for id 19836
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Looking up RR for dcpdc001.(org domain) IN A.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Switching to DNS server 10.1.13.10 for interface enp0s31f6.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Cache miss for dcpdc001.(org domain) IN A
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Transaction 12728 for <dcpdc001.(org domain) IN A> scope dns on enp0s31f6/*.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using feature level UDP+EDNS0+DO+LARGE for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Using DNS server 10.1.13.10 for transaction 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Sending query packet with id 12728.
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Processing query...
Jul 20 10:33:23 heerij-ubuntu systemd-resolved[2352]: Timeout reached on transaction 12728.

Réponse acceptée :

Systemd est livré avec un résolveur "stub", résolu par systemd, qui, selon eux, n'est pas réellement destiné à être utilisé comme serveur DNS :

Eh bien, résolu n'est pas censé être un serveur DNS, il est censé être exactement assez bon pour que les clients DNS de type libc puissent résoudre leurs problèmes, et nous transportons suffisamment d'informations pour que le bit AD soit défini.

Pour une raison quelconque, Ubuntu est configuré pour l'utiliser comme serveur DNS et, en fait, le seul.

Un commentaire sur le bogue # 1624320 indique que systemd-resolved a trois modes de fonctionnement, et le second est ce qui a résolu mon problème. A savoir :

$ sudo rm -f /etc/resolv.conf
$ sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Ubuntu
  1. Serveurs de noms personnalisés

  2. Comment apporter des modifications dans resolv.conf permanent dans Ubuntu [Astuce rapide]

  3. Qu'est-ce qui écrase /etc/resolv.conf à chaque démarrage ?

  4. Le serveur de noms 127.0.1.1 dans Resolv.conf ne disparaîtra pas ! ?

  5. resolv.conf continue d'être écrasé lorsque dnsmasq est redémarré, ce qui interrompt dnsmasq

Ubuntu - Comment faire fonctionner Resolv.conf à l'ancienne sur les distributions Linux modernes ?

Comment ajouter automatiquement des espaces de travail, uniquement si j'en ai besoin ?

Plusieurs fichiers Smb.conf ?

Comment mettre à jour resolv.conf sur Ubuntu

Comment modifier resolv.conf ?

Comment rendre l'adresse du serveur de noms permanente dans /etc/resolv.conf ?