Einführung
Ein wichtiger Teil der Verwaltung der Serverkonfiguration und-infrastruktur umfasst die Aufrechterhaltung einer einfachen Möglichkeit, Netzwerkschnittstellen und IP-Adressen nach Namen zu suchen, indem ein richtiges Domain Name System (DNS) eingerichtet wird. Die Verwendung von vollständig qualifizierten Domänennamen (FQDNs) anstelle von IP-Adressen zur Angabe von Netzwerkadressen erleichtert die Konfiguration von Diensten und Anwendungen und erhöht die Wartbarkeit von Konfigurationsdateien., Das Einrichten eines eigenen DNS für Ihr privates Netzwerk ist eine großartige Möglichkeit, die Verwaltung Ihrer Server zu verbessern.
In diesem Tutorial erfahren Sie, wie Sie einen internen DNS-Server mithilfe der BIND Name Server-Software (BIND9) unter Ubuntu 18.04 einrichten, mit der Ihre Server private Hostnamen und private IP-Adressen auflösen können. Dies bietet eine zentrale Möglichkeit, Ihre internen Hostnamen und privaten IP-Adressen zu verwalten, was unerlässlich ist, wenn Ihre Umgebung auf mehr als einige Hosts erweitert wird.
Die CentOS-version dieses Tutorials finden Sie hier.,
Voraussetzungen
Um dieses Tutorial abzuschließen, benötigen Sie die folgende Infrastruktur. Erstellen Sie jeden Server im selben Rechenzentrum mit aktiviertem privatem Netzwerk:
- Ein neuer Ubuntu 18.04-Server dient als primärer DNS-Server, ns1
- (empfohlen) Ein zweiter Ubuntu 18.04-Server dient als sekundärer DNS-Server, ns2
- Zusätzliche Server im selben Rechenzentrum, die Ihre DNS-Server verwenden
Konfigurieren Sie auf jedem dieser Server den administrativen Zugriff über eine sudo
Benutzer und eine Firewall, indem Sie unserem Ubuntu 18 folgen.,04 leitfaden zur Ersteinrichtung des Servers.
Wenn Sie mit DNS-Konzepten nicht vertraut sind, sollten Sie mindestens die ersten drei Teile unserer Einführung zur Verwaltung von DNS lesen.
Beispiel Infrastruktur und Ziele
Für die Zwecke dieses Artikels gehen wir von folgendem aus:
- Wir haben zwei Server, die als unsere DNS-Nameserver bezeichnet werden. Wir werden diese in diesem Handbuch als ns1 und ns2 bezeichnen.
- Wir haben zwei zusätzliche Clientserver, die die von uns erstellte DNS-Infrastruktur verwenden. Wir werden diese host1 und host2 in diesem Handbuch aufrufen., Sie können beliebig viele für Ihre Infrastruktur hinzufügen.
- Alle diese Server befinden sich im selben Rechenzentrum. Wir gehen davon aus, dass dies das nyc3-Rechenzentrum ist.
- Auf allen diesen Servern ist das private Netzwerk aktiviert (und befindet sich im Subnetz
10.128.0.0/16
. Sie müssen dies wahrscheinlich für Ihre Server anpassen). - Alle Server sind mit einem Projekt verbunden, das auf „example.com“. Da unser DNS-System vollständig intern und privat ist, müssen Sie keinen Domainnamen kaufen., Die Verwendung einer Domäne, die Sie besitzen, kann jedoch dazu beitragen, Konflikte mit öffentlich routbaren Domänen zu vermeiden.
Mit diesen Annahmen entscheiden wir, dass es sinnvoll ist, ein Namensschema zu verwenden, das „nyc3.example.com“ um auf unser privates Subnetz oder unsere Zone zu verweisen. Daher ist der private vollqualifizierte Domänenname (FQDN) von host1 host1.nyc3.example.com. In der folgenden Tabelle finden Sie die relevanten Details:
Ihr vorhandenes Setup unterscheidet sich, aber die Beispielnamen und IP-Adressen werden verwendet, um zu demonstrieren, wie ein DNS-Server so konfiguriert wird, dass ein funktionierendes internes DNS bereitgestellt wird., Sie sollten dieses Setup einfach an Ihre eigene Umgebung anpassen können, indem Sie die Hostnamen und privaten IP-Adressen durch Ihre eigenen ersetzen. Es ist nicht erforderlich, den Regionalnamen des Rechenzentrums in Ihrem Namensschema zu verwenden, aber wir verwenden es hier, um anzugeben, dass diese Hosts zum privaten Netzwerk eines bestimmten Rechenzentrums gehören. Wenn Sie mehrere Rechenzentren verwenden, können Sie in jedem jeweiligen Rechenzentrum ein internes DNS einrichten.
Am Ende dieses Tutorials haben wir einen primären DNS-Server, ns1, und optional einen sekundären DNS-Server, ns2, der als Backup dient.,
Beginnen wir mit der Installation unseres primären DNS-Servers ns1.
BIND auf DNS-Servern installieren
Rot hervorgehobener Text ist wichtig! Es wird oft verwendet, um etwas zu bezeichnen, das durch Ihre eigenen Einstellungen ersetzt werden muss oder dass es geändert oder einer Konfigurationsdatei hinzugefügt werden sollte. Wenn Sie beispielsweisehost1.nyc3.example.com
, ersetzen Sie es durch den FQDN Ihres eigenen Servers. Wenn Siehost1_private_IP
, ersetzen Sie es durch die private IP-Adresse Ihres eigenen Servers.,
Aktualisieren Sie auf beiden DNS-Servern, ns1 und ns2, denapt
Paketcache, indem Sie Folgendes eingeben:
- sudo apt-get update
Installieren Sie nun BIND:
- sudo apt-get install bind9 bind9utils bind9-doc
Setzen Sie BIND auf IPv4-Modus
Bevor Sie fortfahren, setzen Sie BIND auf IPv4-Modus, da unser privates Netzwerk ausschließlich IPv4 verwendet. Bearbeiten Sie auf beiden Servern die Standardeinstellungsdatei bind9
, indem Sie Folgendes eingeben:
- sudo nano /etc/default/bind9
Fügen Sie am Ende des Parameters OPTIONS
„-4″hinzu., Es sollte wie folgt Aussehen:
. . .OPTIONS="-u bind -4"
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Starten Sie BIND neu, um die Änderungen zu implementieren:
- sudo systemctl restart bind9
Nachdem BIND installiert ist, konfigurieren wir den primären DNS-Server.
Konfiguration des primären DNS-Servers
BIND ‚ s Konfiguration besteht aus mehreren Dateien, die aus der Hauptkonfigurationsdatei named.conf
enthalten sind., Diese Dateinamen beginnen mit named
, da dies der Name des Prozesses ist, den BIND ausführt (kurz für „domain name daemon“). Wir beginnen mit der Konfiguration der Optionsdatei.
Konfigurieren der Optionsdatei
Öffnen Sie auf ns1 dienamed.conf.options
– Datei zum Bearbeiten:
Über dem vorhandenenoptions
– Block erstellen Sie einen neuen ACL-Block (Access control list) mit dem Namen „trusted“. Hier definieren wir eine Liste von Clients, von denen wir rekursive DNS-Abfragen zulassen (z., ihre Server, die sich im selben Rechenzentrum wie ns1 befinden). In unserem Beispiel für private IP-Adressen fügen wir ns1, ns2, host1 und host2 zu unserer Liste vertrauenswürdiger Clients hinzu:
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};options { . . .
Nachdem wir unsere Liste vertrauenswürdiger DNS-Clients haben, möchten wir den Block options
bearbeiten. Derzeit sieht der Anfang des Blocks wie folgt aus:
. . .};options { directory "/var/cache/bind"; . . .}
Fügen Sie unter der Direktive directory
die hervorgehobenen Konfigurationszeilen hinzu (und ersetzen Sie die richtige ns1-IP-Adresse), sodass es ungefähr so aussieht:
Wenn Sie fertig sind, speichern und schließen Sie die Datei named.conf.options
. Die obige Konfiguration gibt an, dass nur Ihre eigenen Server (die „vertrauenswürdigen“) Ihren DNS-Server nach externen Domänen abfragen können.
Als nächstes konfigurieren wir die lokale Datei, um unsere DNS-Zonen anzugeben.,
Konfigurieren der lokalen Datei
Öffnen Sie auf ns1 die named.conf.local
– Datei zum Bearbeiten:
- sudo nano /etc/bind/named.conf.local
Abgesehen von einigen Kommentaren sollte die Datei leer sein. Hier geben wir unsere Vorwärts-und Rückwärtszonen an. DNS-Zonen bezeichnen einen bestimmten Bereich zum Verwalten und Definieren von DNS-Datensätzen. Da unsere Domains alle innerhalb der „nyc3.example.com“ subdomain, wir werden das als unsere Vorwärtszone verwenden., Da sich die privaten IP-Adressen unserer Server jeweils im IP-Bereich 10.128.0.0/16
befinden, richten wir eine Reverse Zone ein, damit wir Reverse Lookups innerhalb dieses Bereichs definieren können.
Fügen Sie die Vorwärtszone mit den folgenden Zeilen hinzu und ersetzen Sie den Zonennamen durch Ihren eigenen und die private IP-Adresse des sekundären DNS-Servers in der Direktive allow-transfer
:
Unter der Annahme, dass unser privates Subnetz 10.128.0.0/16
ist, fügen Sie die umgekehrte Zone mit den folgenden Zeilen hinzu (beachten Sie, dass unser Name der umgekehrten Zone mit „128.,10“, was die Oktettumkehrung von“10.128″ ist):
Wenn sich Ihre Server über mehrere private Subnetze erstrecken, sich aber im selben Rechenzentrum befinden, geben Sie für jedes einzelne Subnetz eine zusätzliche Zone und Zonendatei an. Wenn Sie alle gewünschten Zonen hinzugefügt haben, speichern und beenden Sie die Datei named.conf.local
.
Nachdem unsere Zonen in BIND angegeben sind, müssen wir die entsprechenden Vorwärts-und Rückwärtszonendateien erstellen.,
Erstellen der Forward Zone-Datei
In der Forward Zone-Datei definieren wir DNS-Einträge für Forward DNS-Lookups. Das heißt, wenn der DNS eine Namensabfrage empfängt, „host1.nyc3.example.com“ beispielsweise wird in der Forward Zone-Datei nach der entsprechenden privaten IP-Adresse von host1 gesucht.
Erstellen wir das Verzeichnis, in dem sich unsere Zonendateien befinden. Nach unserem Namen.conf.lokale Konfiguration, dieser Speicherort sollte /etc/bind/zones
:
- sudo mkdir /etc/bind/zones
Wir werden unsere Forward Zone-Datei auf dem Beispiel basieren db.local
Zonendatei., Kopieren Sie es mit den folgenden Befehlen an die richtige Stelle:
- sudo cp /etc/bind/db.local /etc/bind/zones/db.nyc3.example.com
Nun bearbeiten wir unsere Forward Zone — Datei:
- sudo nano /etc/bind/zones/db.nyc3.example.com
Anfangs sieht es ungefähr so aus:
Zuerst möchten Sie den SOA-Datensatz bearbeiten. Ersetzen Sie den ersten “ localhost „durch den FQDN von ns1 und ersetzen Sie dann „root“.localhost “ mit „admin.nyc3.example.com“. Jedes Mal, wenn Sie eine Zonendatei bearbeiten, müssen Sie den seriellen Wert erhöhen, bevor Sie den Prozess named
neu starten. Wir werden es auf „3“erhöhen., Es sollte jetzt ungefähr so aussehen:
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. ( 3 ; Serial . . .
Löschen Sie als nächstes die drei Datensätze am Ende der Datei (nach dem SOA-Datensatz). Wenn Sie nicht sicher sind, welche Zeilen gelöscht werden sollen, werden sie oben mit einem Kommentar „Diese Zeile löschen“ markiert.
Fügen Sie am Ende der Datei Ihre Nameserver-Datensätze mit den folgenden Zeilen hinzu (ersetzen Sie die Namen durch Ihre eigenen). Beachten Sie, dass die zweite Spalte angibt, dass dies „NS“ – Datensätze sind:
. . .; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.
fügen Sie Nun die A-Datensätze für Ihre hosts, die gehören in diese zone. Dies schließt jeden Server ein, mit dessen Namen wir enden möchten „.nyc3.example.com“ (ersetzen Sie die Namen und privaten IP-Adressen). Unter Verwendung unserer Beispielnamen und privaten IP — Adressen fügen wir Datensätze für ns1, ns2, host1 und host2 wie folgt hinzu:
Speichern und schließen Sie die Datei .
Unser letztes Beispiel forward-zone-Datei sieht wie folgt aus:
Nun gehen wir auf die umgekehrte Zone Datei(en).
Erstellen der Reverse-Zone-Datei (en)
Reverse-Zone-Dateien sind, wo wir DNS-PTR-Datensätze für Reverse-DNS-Lookups definieren. Das heißt, wenn der DNS eine Abfrage nach IP-Adresse „10.128.100.101“ erhält, wird er beispielsweise in den Reverse Zone-Dateien nachsehen, um den entsprechenden FQDN aufzulösen. „host1.nyc3.example.com“ in diesem Fall.
Auf ns1, für jede reverse zone angegeben in die named.conf.local
datei, erstellen sie eine reverse zone datei., Wir werden unsere Reverse Zone-Datei(en) auf dem Beispiel db.127
zone file. Kopieren Sie es mit den folgenden Befehlen an die richtige Stelle (Ersetzen des Zieldateinamens, damit es mit Ihrer Definition der umgekehrten Zone übereinstimmt):
- sudo cp /etc/bind/db.127 /etc/bind/zones/db.10.128
Bearbeiten Sie die Datei der umgekehrten Zone, die den in named.conf.local
definierten umgekehrten Zonen entspricht:
- sudo nano /etc/bind/zones/db.10.128
Anfangs sieht es ungefähr so aus:
Auf die gleiche Weise wie die Forward Zone-Datei möchten Sie den SOA-Datensatz bearbeiten und den seriellen Wert erhöhen. Es sollte wie folgt Aussehen:
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. ( 3 ; Serial . . .
Löschen Sie nun die beiden Datensätze am Ende der Datei (nach dem SOA-Datensatz). Wenn Sie nicht sicher sind, welche Zeilen gelöscht werden sollen, werden sie oben mit einem Kommentar „Diese Zeile löschen“ markiert.
Fügen Sie am Ende der Datei Ihre Nameserver-Datensätze mit den folgenden Zeilen hinzu (ersetzen Sie die Namen durch Ihre eigenen)., Beachten Sie, dass die zweite Spalte angibt, dass dies „NS“ – Datensätze sind:
. . .; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.
fügen Sie PTR
Datensätze für alle Server, deren IP-Adressen im Subnetz der zone-Datei, die Sie Bearbeiten. In unserem Beispiel umfasst dies alle unsere Hosts, da sie sich alle im Subnetz 10.128.0.0/16
. Beachten Sie, dass die erste Spalte aus den letzten beiden Oktetten der privaten IP-Adressen Ihrer Server in umgekehrter Reihenfolge besteht., Achten Sie darauf, Namen und private IP-Adressen zu ersetzen, die Ihren Servern entsprechen:
Speichern und schließen Sie die reverse-zone-Datei (wiederholen Sie diesen Abschnitt, wenn Sie benötigen, um mehr hinzuzufügen reverse-zone-Dateien).
Unser letztes Beispiel reverse-zone-Datei sieht wie folgt aus:
Wir sind mit der Bearbeitung unserer Dateien fertig, sodass wir als nächstes unsere Dateien auf Fehler überprüfen können.,
Überprüfen der Bindekonfigurationssyntax
Führen Sie den folgenden Befehl aus, um die Syntax der named.conf*
– Dateien zu überprüfen:
- sudo named-checkconf
Wenn Ihre benannten Konfigurationsdateien keine Syntaxfehler aufweisen, kehren Sie zu Ihrer Shell-Eingabeaufforderung zurück und sehen keine Fehlermeldungen. Wenn es Probleme mit Ihren Konfigurationsdateien gibt, überprüfen Sie die Fehlermeldung und den Abschnitt „Primären DNS-Server konfigurieren“ und versuchen Sie es erneut mit named-checkconf
.
Mit dem Befehl named-checkzone
können Sie die Korrektheit Ihrer Zonendateien überprüfen., Das erste Argument gibt einen Zonennamen an und das zweite Argument gibt die entsprechende Zonendatei an, die beide in named.conf.local
definiert sind.
Zum Beispiel, um zu überprüfen, die „nyc3.example.com“ forward-Zonen-Konfiguration führen Sie den folgenden Befehl aus (ändern Sie die Namen entsprechend Ihrer forward-zone und Datei):
- sudo named-checkzone nyc3.example.com db.nyc3.example.com
Und überprüfen Sie die „128.10.in-addr.,arpa “ reverse zone configuration, führen Sie den folgenden Befehl aus (ändern Sie die Nummern so, dass sie mit Ihrer Reverse Zone und Datei übereinstimmen):
- sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
Wenn alle Ihre Konfigurations-und Zonendateien keine Fehler enthalten, sollten Sie bereit sein, den BIND-Dienst neu zu starten.
BIND neu starten
BIND neu starten:
- sudo systemctl restart bind9
Wenn Sie die UFW-Firewall konfiguriert haben, öffnen Sie den Zugriff auf BIND, indem Sie Folgendes eingeben:
- sudo ufw allow Bind9
Ihr primärer DNS-Server ist jetzt eingerichtet und bereit, auf DNS-Abfragen zu antworten. Fahren wir mit dem Erstellen des sekundären DNS-Servers fort.,
Konfigurieren des sekundären DNS-Servers
In den meisten Umgebungen ist es eine gute Idee, einen sekundären DNS-Server einzurichten, der auf Anforderungen reagiert, wenn der primäre nicht mehr verfügbar ist. Glücklicherweise ist der sekundäre DNS-Server viel einfacher zu konfigurieren.
Bearbeiten Sie auf ns2 dienamed.conf.options
Datei:
Fügen Sie oben in der Datei die ACL mit den privaten IP-Adressen aller vertrauenswürdigen Server hinzu:
acl "trusted" { 10.128.10.11; # ns1 10.128.20.12; # ns2 - can be set to localhost 10.128.100.101; # host1 10.128.200.102; # host2};options { . . .
Fügen Sie unter der Direktive directory
die folgenden Zeilen hinzu:
Speichern und schließen Sie die named.conf.options
Datei. Diese Datei sollte genau wie die named.conf.options
– Datei von ns1 aussehen, außer dass sie so konfiguriert sein sollte, dass sie die private IP-Adresse von ns2 abhört.
Bearbeiten Sie nun dienamed.conf.local
– Datei:
- sudo nano /etc/bind/named.conf.local
Definieren Sie Slave-Zonen, die den Master-Zonen auf dem primären DNS-Server entsprechen., Beachten Sie, dass der Typ „slave“ ist, die Datei keinen Pfad enthält und es eine masters
– Direktive gibt, die auf die private IP-Adresse des primären DNS-Servers festgelegt werden sollte. Wenn Sie mehrere Reverse-Zonen auf dem primären DNS-Server definiert haben, fügen Sie sie alle hier hinzu:
Nun speichern und schließen Sie die named.conf.local
Datei.,
Führen Sie den folgenden Befehl aus, um die Gültigkeit Ihrer Konfigurationsdateien zu überprüfen:
- sudo named-checkconf
Nach dem Auschecken starten Sie BIND neu:
- sudo systemctl restart bind9
Erlauben Sie DNS-Verbindungen zum Server, indem Sie die UFW-Firewall-Regeln ändern:
Jetzt haben Sie primäre und sekundäre auflösung des privaten Netzwerknamens und der IP-Adresse. Jetzt müssen Sie Ihre Clientserver so konfigurieren, dass Sie Ihre privaten DNS-Server verwenden.,
Konfigurieren von DNS-Clients
Bevor alle Ihre Server in der „Trusted“ – ACL Ihre DNS-Server abfragen können, müssen Sie jeden von ihnen so konfigurieren, dass ns1 und ns2 als Nameserver verwendet werden. Dieser Prozess variiert je nach Betriebssystem, aber für die meisten Linux-Distributionen müssen Sie Ihre Nameserver zur Datei /etc/resolv.conf
hinzufügen.
Ubuntu 18.04 Clients
Unter Ubuntu 18.04 wird das Netzwerk mit Netplan konfiguriert, einer Abstraktion, mit der Sie eine standardisierte Netzwerkkonfiguration schreiben und auf inkompatible Backend-Netzwerksoftware anwenden können., Um DNS zu konfigurieren, müssen wir eine Netplan-Konfigurationsdatei schreiben.
Suchen Sie zunächst das Gerät, das Ihrem privaten Netzwerk zugeordnet ist, indem Sie das private Subnetz mit dem Befehl ip address
abfragen:
- ip address show to 10.128.0.0/16
In diesem Beispiel lautet die private Schnittstelle eth1
.
Als nächstes erstellen Sie eine neue Datei in /etc/netplan
mit dem Namen 00-private-nameservers.yaml
:
- sudo nano /etc/netplan/00-private-nameservers.yaml
Fügen Sie den folgenden Inhalt ein., Sie müssen die Schnittstelle des privaten Netzwerks, die Adressen Ihrer ns1-und ns2-DNS-Server sowie die DNS-Zone ändern:
Hinweis: Netplan verwendet das YAML – Datenserialisierungsformat für seine Konfigurationsdateien. Da YAML Einrückung und Leerzeichen verwendet, um seine Datenstruktur zu definieren, stellen Sie sicher, dass Ihre Definition konsistente Einrückung verwendet, um Fehler zu vermeiden.
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Als nächstes weisen Sie Netplan an, die neue Konfigurationsdatei mithilfe von netplan try
zu verwenden., Wenn es Probleme gibt, die zu einem Netzwerkverlust führen, setzt Netplan die Änderungen nach einer Zeitüberschreitung automatisch zurück:
- sudo netplan try
OutputWarning: Stopping systemd-networkd.service, but it can still be activated by: systemd-networkd.socketDo you want to keep these settings?Press ENTER before the timeout to accept the new configurationChanges will revert in 120 seconds
Wenn der Countdown unten korrekt aktualisiert wird, ist die neue Konfiguration zumindest funktionsfähig genug, um Ihre SSH-Verbindung nicht zu unterbrechen. Drücken Sie die EINGABETASTE, um die neue Konfiguration zu akzeptieren.
Überprüfen Sie nun den DNS-Resolver des Systems, um festzustellen, ob Ihre DNS-Konfiguration angewendet wurde:
- sudo systemd-resolve --status
Scrollen Sie nach unten, bis Sie den Abschnitt für Ihre private Netzwerkschnittstelle sehen., Sie sollten die privaten IP-Adressen für Ihre DNS-Server zuerst aufgelistet sehen, gefolgt von einigen Fallback-Werten. Ihre Domäne sollte sich in der „DNS-Domäne“befinden:
Ihr Client sollte jetzt so konfiguriert sein, dass er Ihre internen DNS-Server verwendet.
Ubuntu 16.04-und Debian-Clients
Auf Ubuntu 16.04-und Debian Linux-Servern können Sie die /etc/network/interfaces
– Datei bearbeiten:
- sudo nano /etc/network/interfaces
Suchen Sie die Zeile dns-nameservers
und stellen Sie Ihre eigenen Nameserver vor die Liste, die derzeit vorhanden ist., Fügen Sie unterhalb dieser Zeile eine dns-search
– Option hinzu, die auf die Basisdomäne Ihrer Infrastruktur verweist. In unserem Fall wäre dies „nyc3.example.com“:
. . . dns-nameservers 10.128.10.11 10.128.20.12 8.8.8.8 dns-search nyc3.example.com . . .
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Starten Sie nun Ihre Netzwerkdienste neu und übernehmen Sie die neuen Änderungen mit den folgenden Befehlen. Stellen Sie sicher, dass Sie eth0
durch den Namen Ihrer Netzwerkschnittstelle ersetzen:
- sudo ifdown --force eth0 && sudo ip addr flush dev eth0 && sudo ifup --force eth0
Dies sollte Ihr Netzwerk neu starten, ohne die aktuelle Verbindung abzubrechen., Wenn es richtig funktioniert hat, sollten Sie Folgendes sehen:
OutputRTNETLINK answers: No such processWaiting for DAD... Done
Überprüfen Sie, ob Ihre Einstellungen angewendet wurden, indem Sie Folgendes eingeben:
- cat /etc/resolv.conf
Sie sollten Ihre Nameserver in der Datei /etc/resolv.conf
sowie in Ihrer Suchdomäne sehen:
Ihr Client ist jetzt für die Verwendung Ihrer DNS-Server konfiguriert.
CentOS Clients
Bearbeiten Sie unter CentOS, RedHat und Fedora Linux die/etc/sysconfig/network-scripts/ifcfg-eth0
Datei., Möglicherweise müssen Sie eth0
durch den Namen Ihrer primären Netzwerkschnittstelle ersetzen:
- sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
Suchen Sie nach den Optionen DNS1
und DNS2
und setzen Sie sie auf die privaten IP-Adressen Ihrer primären und sekundären Nameserver. Fügen Sie einenDOMAIN
– Parameter hinzu, der der Basisdomäne Ihrer Infrastruktur entspricht. In dieser Anleitung werden würde „nyc3.example.com“:
. . .DNS1=10.128.10.11DNS2=10.128.20.12DOMAIN='nyc3.example.com'. . .
Speichern und schließen Sie die Datei, wenn Sie fertig sind.,
Starten Sie nun den Netzwerkdienst neu, indem Sie Folgendes eingeben:
- sudo systemctl restart network
Der Befehl kann einige Sekunden lang hängen bleiben, sollte Sie jedoch in Kürze zur Eingabeaufforderung zurückbringen.
Überprüfen Sie, ob Ihre Änderungen angewendet wurden, indem Sie Folgendes eingeben:
- cat /etc/resolv.conf
Sie sollten Ihre Nameserver und Suchdomäne in der Liste sehen:
nameserver 10.128.10.11nameserver 10.128.20.12search nyc3.example.com
Ihr Client sollte nun eine Verbindung zu Ihren DNS-Servern herstellen und diese verwenden können.
Testing Clients
Verwenden Sie nslookup
, um zu testen, ob Ihre Clients Ihre Nameserver abfragen können., Sie sollten dies auf allen Clients tun können, die Sie konfiguriert haben und sich in der ACL „vertrauenswürdig“ befinden.
Für CentOS-Clients müssen Sie das Dienstprogramm möglicherweise installieren mit:
- sudo yum install bind-utils
Wir können mit einer Forward-Suche beginnen.
Forward Lookup
Zum Beispiel können wir eine Forward Lookup durchführen, um die IP-Adresse von host1.nyc3.example.com durch Ausführen des folgenden Befehls:
- nslookup host1
Die Abfrage von“ host1 „wird auf“ host1.nyc3.Beispiel.,com aufgrund der Option search
auf Ihre private Subdomain festgelegt, und DNS-Abfragen versuchen, diese Subdomain zu durchsuchen, bevor Sie an anderer Stelle nach dem Host suchen. Die Ausgabe des obigen Befehls würde wie folgt aussehen:
OutputServer: 127.0.0.53Address: 127.0.0.53#53Non-authoritative answer:Name: host1.nyc3.example.comAddress: 10.128.100.101
Als nächstes können wir Reverse-Lookups überprüfen.,
Reverse Lookup
Um die Reverse Lookup zu testen, fragen Sie den DNS-Server mit der privaten IP-Adresse von host1 ab:
- nslookup 10.128.100.101
Sie sollten eine Ausgabe sehen, die wie folgt aussieht:
Output11.10.128.10.in-addr.arpa name = host1.nyc3.example.com.Authoritative answers can be found from:
Wenn alle Namen und IP-Adressen auf die richtigen Werte aufgelöst werden, bedeutet dies, dass Ihre Zonendateien ordnungsgemäß konfiguriert sind. Wenn Sie unerwartete Werte erhalten, überprüfen Sie unbedingt die Zonendateien auf Ihrem primären DNS-Server (z. B. und db.10.128
).
herzlichen Glückwunsch! Ihre internen DNS-Server sind jetzt ordnungsgemäß eingerichtet!, Jetzt werden wir die Pflege Ihrer Zonenaufzeichnungen abdecken.
Verwalten von DNS-Datensätzen
Nachdem Sie nun über ein funktionierendes internes DNS verfügen, müssen Sie Ihre DNS-Datensätze so verwalten, dass sie Ihre Serverumgebung genau widerspiegeln.
Hinzufügen eines Hosts zu DNS
Wenn Sie Ihrer Umgebung (im selben Rechenzentrum) einen Host hinzufügen, möchten Sie ihn zu DNS hinzufügen., Hier ist eine Liste der Schritte, die Sie ausführen müssen:
Primary Name Server
- Forward zone file: Fügen Sie einen „A“ – Datensatz für den neuen Host hinzu, erhöhen Sie den Wert von „Serial“
- Reverse zone file: Fügen Sie einen „PTR“ – Datensatz für den neuen Host hinzu, erhöhen Sie den Wert von „Serial“
- Fügen Sie die private IP-Adresse Ihres neuen Hosts zur „trusted“ ACL hinzu (
named.conf.options
)
Testen Sie Ihre Konfigurationsdateien:
Dann neu laden BIND:
- sudo systemctl reload bind9
Ihr primärer Server sollte jetzt für den neuen Host konfiguriert werden.,
Sekundärer Nameserver
- Fügen Sie die private IP-Adresse Ihres neuen Hosts zur ACL „trusted“ hinzu (
named.conf.options
)
Überprüfen Sie die Konfigurationssyntax:
- sudo named-checkconf
Dann laden Sie die Bindung neu:
- sudo systemctl reload bind9
Ihr sekundärer Server akzeptiert nun Verbindungen vom neuen Host.,
Neuer Host so konfigurieren, dass Ihr DNS verwendet wird
- Konfigurieren Sie
/etc/resolv.conf
So verwenden Sie Ihre DNS-Server - Testen Sie mit
nslookup
Host aus DNS entfernen
Wenn Sie einen Host aus Ihrer Umgebung entfernen oder ihn einfach aus DNS entfernen möchten, entfernen Sie einfach alle Dinge, die beim Hinzufügen der Server auf DNS (dh die Rückseite der obigen Schritte).
Schlussfolgerung
Nun können Sie auf die privaten Netzwerkschnittstellen Ihrer Server nach Namen und nicht nach IP-Adresse verweisen., Dies erleichtert die Konfiguration von Diensten und Anwendungen, da Sie sich nicht mehr an die privaten IP-Adressen erinnern müssen und die Dateien leichter zu lesen und zu verstehen sind. Außerdem können Sie jetzt Ihre Konfigurationen so ändern, dass sie auf einen neuen Server an einem einzigen Ort, Ihrem primären DNS-Server, verweisen, anstatt eine Vielzahl verteilter Konfigurationsdateien bearbeiten zu müssen, was die Wartung erleichtert.
Sobald Sie Ihr internes DNS eingerichtet haben und Ihre Konfigurationsdateien private FQDNs verwenden, um Netzwerkverbindungen anzugeben, ist es wichtig, dass Ihre DNS-Server ordnungsgemäß gewartet werden., Wenn beide nicht mehr verfügbar sind, funktionieren Ihre Dienste und Anwendungen, die auf sie angewiesen sind, nicht mehr ordnungsgemäß. Aus diesem Grund wird empfohlen, Ihr DNS mit mindestens einem sekundären Server einzurichten und funktionierende Backups aller Server aufrechtzuerhalten.
Leave a Reply