web-dev-qa-db-fra.com

Comment remplacer mdns4_minimal par BIND?

Avoir la version Ubuntu 16.04 LTS. Selon la tâche devrait installer BIND en tant que serveur DNS. J'ai remarqué dans nsswitch.conf a:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Pourriez-vous s'il vous plaît expliquer ce que signifie mdns4_minimal et mdns4 et comment faire en sorte que le système utilise l'instance locale BIND pour résoudre les requêtes DNS?

Oui, je sais comment démarrer/arrêter BIND.

systemctl enable bind9
systemctl start/stop bind9.
7
Bulat M.
  • le service DNS mDNS ou multidiffusion est fourni avec le démon Avahi/Bonjour, qui permet aux ordinateurs de petit réseau d’utiliser des noms même sans présence de DNS central. Il utilise par défaut le domaine .local.

  • Si vous n'utilisez pas .local pour votre serveur DNS, définissez DNS après mDNS nsswitch.conf

    hosts: files mdns4_minimal dns [NOTFOUND=return] mdns4
    

    Sinon, .local est utilisé par votre serveur DNS (aucune utilisation du service mdns)

    hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4
    
  • Quelle est la différence entre mdn4_minimal et mdns4?

    Pour vous répondre, il est préférable de laisser savoir comment je collecte ces informations et d'apprendre par vous-même :) (## est pour le commentaire à dire objectif pour la commande ci-dessous)

    ## Update "locate" database
    ~$ Sudo updatedb
    ## Search for file with "mdns4_minimal" in its name
    ~$ locate mdns4_minimal
    /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
    
    ## Look for which package installs that file
    ~$ dpkg -S /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
    libnss-mdns:AMD64: /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
    
    ## List all files from same package
    ~$ dpkg -L libnss-mdns:AMD64
    /.
    /usr
    /usr/share
    /usr/share/lintian
    /usr/share/lintian/overrides
    /usr/share/lintian/overrides/libnss-mdns
    /usr/share/doc
    /usr/share/doc/libnss-mdns
    /usr/share/doc/libnss-mdns/copyright
    /usr/share/doc/libnss-mdns/README.html
    /usr/share/doc/libnss-mdns/README.Debian
    /usr/share/doc/libnss-mdns/style.css
    /usr/share/doc/libnss-mdns/changelog.Debian.gz
    /lib
    /lib/x86_64-linux-gnu
    /lib/x86_64-linux-gnu/libnss_mdns4.so.2
    /lib/x86_64-linux-gnu/libnss_mdns_minimal.so.2
    /lib/x86_64-linux-gnu/libnss_mdns.so.2
    /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
    /lib/x86_64-linux-gnu/libnss_mdns6.so.2
    /lib/x86_64-linux-gnu/libnss_mdns6_minimal.so.2
    
    ## "README.html" looks the only documentation there, we open it
    ~$ xdg-open /usr/share/doc/libnss-mdns/README.html
    

    Documentation

    Après avoir compilé et installé nss-mdns, vous trouverez six nouveaux modules NSS dans /lib:

    • libnss_mdns.so.2
    • libnss_mdns4.so.2
    • libnss_mdns6.so.2
    • libnss_mdns_minimal.so.2
    • libnss_mdns4_minimal.so.2
    • libnss_mdns6_minimal.so.2


    libnss_mdns.so.2 résout les adresses IPv6 et IPv4, libnss_mdns4.so.2 uniquement les adresses IPv4 et libnss_mdns6.so.2 uniquement les adresses IPv6. Etant donné que la plupart des répondeurs mDNS n'enregistrent que les adresses IPv4 locales via mDNS, la plupart des utilisateurs voudront utiliser libnss_mdns4.so.2 exclusivement. Utiliser libnss_mdns.so.2 ou libnss_mdns6.so.2 dans une telle situation entraîne de longs délais d'attente pour la résolution des hôtes, car la plupart des applications Unix/Linux modernes vérifient d'abord les adresses IPv6, suivies d'une recherche pour IPv4.

    libnss_mdns{4,6,}_minimal.so (nouveauté de la version 0.8) est essentiellement identique aux versions sans _minimal. Cependant, ils diffèrent d'une manière. Les versions minimales refusent toujours de résoudre les noms d’hôte ne se terminant pas par .local ou les adresses qui ne font pas partie de la plage 169.254.x.x (la plage utilisée par IPV4LL/APIPA/RFC3927 .) Combinant le _minimal et les modules NSS normaux nous permettent de faire mDNS faisant autorité pour les noms et adresses d’hôtes Zeroconf (et donc de ne pas créer de charge supplémentaire pour les serveurs DNS avec des demandes toujours défaillantes) et de l’utiliser comme solution de secours pour tout le reste.

  • Support IPv6

    • files & dns Modules NSS, tous deux prennent en charge la résolution IPv6 en plus d’IPv4.
    • Cependant, mdns4 & mdns4_minimal sont uniquement destinés à IPv4.

      Les mêmes pour mdns6 & mdns6_minimal sont uniquement pour IPv6.

      mdns & mdns_minimal prennent en charge IPv4 et IPv6, mais son utilisation doit être évitée si une seule version IP est déployée sur le réseau. Parce qu'il tentera de résoudre en IPv6, puis retombera en IPv4, ce qui peut créer un délai supplémentaire.

      BTW, la configuration par défaut actuelle d’Avahi est IPv4, c’est un service décentralisé. Donc, pour aller avec IPv6, toutes les machines doivent être reconfigurées pour utiliser IPv6 dans nsswitch et avahi également.

  • Existe-t-il d'autres [] similaires à [NOTFOUND=return]?

    Oui, comme on peut le voir à partir de man nsswitch.conf

       An action may also be specified following a service specification.   The  action  modifies
       the  behavior  following  a  result obtained from the preceding data source.  Action items
       take the general form:
    
           [STATUS=ACTION]
           [!STATUS=ACTION]
    
       where
    
           STATUS => success | notfound | unavail | tryagain
           ACTION => return | continue
    
       The ! negates the test, matching all possible results except the one specified.  The  case
       of the keywords is not significant.
    
       The  STATUS  value is matched against the result of the lookup function called by the pre‐
       ceding service specification, and can be one of:
    
           success     No error occurred and the requested entry is returned.  The default action
                       for this condition is "return".
    
           notfound    The  lookup succeeded, but the requested entry was not found.  The default
                       action for this condition is "continue".
    
           unavail     The service is permanently unavailable.  This can  mean  either  that  the
                       required file cannot be read, or, for network services, that the server is
                       not available or does not allow queries.  The default action for this con‐
                       dition is "continue".
    
           tryagain    The  service is temporarily unavailable.  This could mean a file is locked
                       or a server currently cannot accept more connections.  The default  action
                       for this condition is "continue".
    
       The ACTION value can be one of:
    
           return      Return  a result now.  Do not call any further lookup functions.  However,
                       for compatibility reasons, if this is the selected action  for  the  group
                       database and the notfound status, and the configuration file does not con‐
                       tain the initgroups line, the next lookup function is always called, with‐
                       out affecting the search result.
    
           continue    Call the next lookup function.
    

Questions connexes:

19
user.dz