Wie ersetze ich mdns4_minimal durch BIND?


9

Habe Ubuntu 16.04 LTS Version. Je nach Aufgabe sollte BIND als DNS-Server installiert werden. Ich habe in nsswitch.conf bemerkt:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Könnten Sie bitte erklären , was ist mdns4_minimalund mdns4DNS - Abfragen bedeuten und wie man das System nutzen lokale BIND - Instanz zu lösen?

Ja, ich weiß, wie man BIND startet / stoppt.

systemctl enable bind9
systemctl start/stop bind9.

Antworten:


30

mDNS- oder Multicast-DNS-Dienst

Es wird vom Avahi / Bonjour- Daemon bereitgestellt , mit dem kleine Netzwerkcomputer Namen verwenden können, auch wenn kein zentrales DNS vorhanden ist. Standardmäßig wird die .localDomain verwendet.

  • Wenn Sie nicht .localfür Ihren DNS-Server verwenden, setzen Sie DNS nach mDNS in nsswitch.conf(Standard).

    hosts: files mdns4_minimal dns [NOTFOUND=return] mdns4
    

    Andernfalls .localwird von Ihrem DNS-Server verwendet (keine Verwendung für den MDNS-Dienst)

    hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4
    

Was ist der Unterschied zwischen mdns4_minimal und mdns4?

Um Ihnen zu antworten, ist es besser zu wissen, wie ich solche Informationen sammle und selbst lerne :) ( ##dient als Kommentar, um das Ziel für den Befehl darunter anzugeben)

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

Dokumentation

Nach dem Kompilieren und Installieren nss-mdnsfinden Sie sechs neue NSS-Module in /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.2Löst sowohl IPv6- als auch IPv4-Adressen auf, libnss_mdns4.so.2nur IPv4-Adressen und libnss_mdns6.so.2nur IPv6-Adressen. Aufgrund der Tatsache, dass die meisten mDNS-Responder nur lokale IPv4-Adressen über mDNS registrieren, möchten die meisten Benutzer diese libnss_mdns4.so.2ausschließlich verwenden. Die Verwendung libnss_mdns.so.2oder libnss_mdns6.so.2in einer solchen Situation führt zu langen Zeitüberschreitungen beim Auflösen von Hosts, da die meisten modernen Unix / Linux-Anwendungen zuerst nach IPv6-Adressen suchen und anschließend nach IPv4 suchen.

libnss_mdns{4,6,}_minimal.so(neu in Version 0.8) ist größtenteils identisch mit den Versionen ohne _minimal. Sie unterscheiden sich jedoch in einer Hinsicht. In den Minimalversionen wird es immer verweigert, Hostnamen aufzulösen, die nicht enden, .localoder Adressen, die nicht im Bereich liegen 169.254.x.x(dem von IPV4LL / APIPA / RFC3927 verwendeten Bereich ). Durch die Kombination des _minimalund des normalen NSS-Moduls können wir mDNS autorisierend machen für Zeroconf-Hostnamen und -Adressen (und damit keine zusätzliche Belastung für DNS-Server mit immer fehlgeschlagenen Anforderungen) und verwenden Sie es als Ersatz für alles andere.

IPv6-Unterstützung

  • files& dnsNSS-Module, beide unterstützen neben IPv4 auch das Auflösen von IPv6.
  • Allerdings mdns4& mdns4_minimalsind nur für IPv4.

    Gleiches gilt für mdns6& mdns6_minimalgilt nur für IPv6.

    mdns& mdns_minimalunterstützt sowohl IPv4 als auch IPv6, aber seine Verwendung sollte vermieden werden, wenn nur eine einzige IP-Version im Netzwerk bereitgestellt wird. Da versucht wird, IPv6 aufzulösen, wird dann auf IPv4 zurückgegriffen, was zu einer zusätzlichen Verzögerung führen kann.

    Übrigens ist das aktuelle Standard-Setup von Avahi IPv4, es ist ein dezentraler Dienst. Um mit IPv6 zu arbeiten, sollte der gesamte Computer für die Verwendung von IPv6 nsswitchund avahiauch neu konfiguriert werden .

Gibt es []ähnliche [NOTFOUND=return]?

Ja, wie wir sehen können 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.

Verwandte Fragen:


2
Was ist der Unterschied zwischen mdn4_minimal und mdns4? Sie sehen gleich aus.
Bulat M.

1
Ja zum Beispiel files mdns4_minimal dns [NOTFOUND=return] mdns4. nsswitch werden versuchen /etc/host, dann mdns4_minimal(die versuchen , nur zu lösen .local), dann regelmäßig dns aus /etc/resolv.confdann NICHT GEFUNDEN Meldung zurück. mdns4(versuchen, eine zu lösen) wird nicht verwendet.
user.dz

2
Und was ist der Grund für das Hinzufügen von mdns4 nach [NOTFOUND = return], wenn die Verarbeitung es nicht erreicht (mdns4)?
Bulat M.

2
@BulatM. Es ist deaktiviert. Sie ließen es dort, um den Benutzer über die verfügbaren Optionen zu informieren.
user.dz

1
Gibt es andere [], die [NOTFOUND = return] ähnlich sind?
Bulat M.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.