So konfigurieren Sie BIND als privaten Netzwerk-DNS-Server unter CentOS 7

Einführung

Ein wichtiger Teil der Verwaltung der Serverkonfiguration und -infrastruktur besteht darin, Netzwerkschnittstellen und IP-Adressen auf einfache Weise nach Namen zu suchen, indem ein ordnungsgemäßes Domain Name System (DNS) eingerichtet wird. Die Verwendung von vollqualifizierten Domänennamen (FQDNs) anstelle von IP-Adressen zur Angabe von Netzwerkadressen vereinfacht die Konfiguration von Diensten und Anwendungen und verbessert die Wartbarkeit von Konfigurationsdateien. Das Einrichten eines eigenen DNS für Ihr privates Netzwerk ist eine hervorragende Möglichkeit, die Verwaltung Ihrer Server zu verbessern.

In diesem Tutorial erfahren Sie, wie Sie mit der BIND-Nameserver-Software (BIND9) unter CentOS 7 einen internen DNS-Server einrichten, mit dem Ihre Virtual Private Server (VPS) private Hostnamen und private IP-Adressen auflösen können Adressen. Auf diese Weise können Sie Ihre internen Hostnamen und privaten IP-Adressen zentral verwalten. Dies ist unverzichtbar, wenn Ihre Umgebung auf mehrere Hosts erweitert wird.

Die Ubuntu-Version dieses Tutorials finden Sie unterhere.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie Folgendes:

  • Einige Server, die im selben Datencenter ausgeführt werden undprivate networking enabled haben

  • Ein neuer VPS als primärer DNS-Server,ns1

  • Optional: Ein neuer VPS als sekundärer DNS-Server,ns2

  • Root-Zugriff auf alle oben genannten (steps 1-4 here)

Wenn Sie mit DNS-Konzepten nicht vertraut sind, wird empfohlen, mindestens die ersten drei Teile unsererIntroduction to Managing DNS zu lesen.

Beispiel Hosts

Für Beispielzwecke nehmen wir Folgendes an:

  • Wir haben zwei existierende VPS namens "host1" und "host2"

  • Beide VPS sind im nyc3-Rechenzentrum vorhanden

  • Bei beiden VPS ist das private Netzwerk aktiviert (und sie befinden sich im Subnetz 10.128.0.0/16).

  • Beide VPS hängen irgendwie mit unserer Webanwendung zusammen, die auf "example.com" ausgeführt wird.

Mit diesen Annahmen entscheiden wir, dass es sinnvoll ist, ein Namensschema zu verwenden, das "nyc3.example.com" verwendet, um auf unser privates Subnetz oder unsere private Zone zu verweisen. Daher lautet der private vollqualifizierte Domänenname (FQDN) vonhost1 "host1.nyc3.example.com". In der folgenden Tabelle finden Sie die relevanten Details:

Host Role Privater FQDN Private IP-Adresse

host1

Generischer Host 1

host1.nyc3.example.com

10.128.100.101

host2

Generischer Host 2

host2.nyc3.example.com

10.128.200.102

Note: Ihr vorhandenes Setup unterscheidet sich, aber die Beispielnamen und IP-Adressen werden verwendet, um zu demonstrieren, wie ein DNS-Server so konfiguriert wird, dass er ein funktionierendes internes DNS bereitstellt. Sie sollten in der Lage sein, dieses Setup einfach an Ihre eigene Umgebung anzupassen, indem Sie die Hostnamen und privaten IP-Adressen durch Ihre eigenen ersetzen. Es ist nicht erforderlich, den Regionsnamen des Datencenters in Ihrem Namensschema zu verwenden. Wir verwenden ihn hier jedoch, um anzuzeigen, dass diese Hosts zum privaten Netzwerk eines bestimmten Datencenters gehören. Wenn Sie mehrere Rechenzentren verwenden, können Sie in jedem Rechenzentrum ein internes DNS einrichten.

Unser Ziel

Am Ende dieses Tutorials haben wir einen primären DNS-Server,ns1, und optional einen sekundären DNS-Server,ns2, der als Backup dient.

Hier ist eine Tabelle mit Beispielnamen und IP-Adressen:

Host Role Privater FQDN Private IP-Adresse

ns1

Primärer DNS Server

ns1.nyc3.example.com

10.128.10.11

ns2

Zweiter DNS Server

ns2.nyc3.example.com

10.128.20.12

Beginnen wir mit der Installation unseres primären DNS-Servers ns1.

Installieren Sie BIND auf DNS-Servern

Note: Text, der inred hervorgehoben ist, ist wichtig! Es wird oft verwendet, um etwas zu kennzeichnen, das durch Ihre eigenen Einstellungen ersetzt werden muss oder das geändert oder einer Konfigurationsdatei hinzugefügt werden sollte. Wenn Sie beispielsweisehost1.nyc3.example.com sehen, ersetzen Sie es durch den vollqualifizierten Domänennamen Ihres eigenen Servers. Wenn Siehost1_private_IP sehen, ersetzen Sie es durch die private IP-Adresse Ihres eigenen Servers.

Installieren Sie auf beiden DNS-Servernns1 undns2 BIND mit yum:

sudo yum install bind bind-utils

Bestätigen Sie die Eingabeaufforderung durch Eingabe vony.

Nachdem BIND installiert ist, konfigurieren wir den primären DNS-Server.

Konfigurieren Sie den primären DNS-Server

Die Konfiguration von BIND besteht aus mehreren Dateien, die in der Hauptkonfigurationsdateinamed.conf enthalten sind. Diese Dateinamen beginnen mit "named", da dies der Name des Prozesses ist, den BIND ausführt. Wir beginnen mit der Konfiguration der Optionsdatei.

Bind konfigurieren

Der Prozess von BIND ist alsnamed bekannt. Daher verweisen viele Dateien auf "named" anstelle von "BIND".

Öffnen Sie unterns1 die Dateinamed.conf zur Bearbeitung:

sudo vi /etc/named.conf

Erstellen Sie über dem vorhandenenoptions-Block einen neuen ACL-Block mit dem Namen "vertrauenswürdig". Hier definieren wir eine Liste von Clients, von denen wir rekursive DNS-Abfragen zulassen (d. H. Ihre Server, die sich im selben Datencenter befinden wie ns1). Anhand unserer privaten IP-Beispieladressen fügen wir unserer Liste der vertrauenswürdigen Clientsns1,ns2,host1 undhost2 hinzu:

/etc/named.conf — 1 of 4

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

Nachdem wir unsere Liste der vertrauenswürdigen DNS-Clients haben, möchten wir den Blockoptionsbearbeiten. Fügen Sie der Direktivelisten-on port 53die private IP-Adresse von ns1 hinzu und kommentieren Sie die Zeilelisten-on-v6aus:

/etc/named.conf — 2 of 4

options {
        listen-on port 53 { 127.0.0.1; 10.128.10.11; };
#        listen-on-v6 port 53 { ::1; };
...

Ändern Sie unter diesen Einträgen die Direktive vonallow-transfervon "none" in die private IP-Adresse vonns2. Ändern Sie außerdem die Direktive vonallow-queryvon "localhost" in "vertrauenswürdig":

/etc/named.conf — 3 of 4

...
options {
...
        allow-transfer { 10.128.20.12; };      # disable zone transfers by default
...
        allow-query { trusted; };  # allows queries from "trusted" clients
...

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

/etc/named.conf — 4 of 4

include "/etc/named/named.conf.local";

Speichern und beenden Sie nunnamed.conf. Die obige Konfiguration gibt an, dass nur Ihre eigenen Server (die "vertrauenswürdigen") Ihren DNS-Server abfragen können.

Als Nächstes konfigurieren wir die lokale Datei, um unsere DNS-Zonen anzugeben.

Lokale Datei konfigurieren

Öffnen Sie unterns1 die Dateinamed.conf.local zur Bearbeitung:

sudo vi /etc/named/named.conf.local

Die Datei sollte leer sein. Hier legen wir unsere Vorwärts- und Rückwärtszonen fest.

Fügen Sie die Weiterleitungszone mit den folgenden Zeilen hinzu (ersetzen Sie den Zonennamen durch Ihren eigenen):

/etc/named/named.conf.local — 1 of 2

zone "nyc3.example.com" {
    type master;
    file "/etc/named/zones/db.nyc3.example.com"; # zone file path
};

Angenommen, unser privates Subnetz ist10.128.0.0/16, fügen Sie die umgekehrte Zone mit den folgenden Zeilen hinzu (beachten Sie, dass unser Name der umgekehrten Zone mit „128.10“ beginnt, was die Oktettumkehrung von „10.128“ ist):

/etc/named/named.conf.local — 2 of 2

zone "128.10.in-addr.arpa" {
    type master;
    file "/etc/named/zones/db.10.128";  # 10.128.0.0/16 subnet
    };

Wenn sich Ihre Server über mehrere private Subnetze erstrecken, sich jedoch im selben Datencenter befinden, müssen Sie für jedes einzelne Subnetz eine zusätzliche Zone und Zonendatei angeben. Wenn Sie alle gewünschten Zonen hinzugefügt haben, speichern Sie die Dateinamed.conf.localund beenden Sie sie.

Nachdem unsere Zonen in BIND angegeben wurden, müssen die entsprechenden Vorwärts- und Rückwärtszonendateien erstellt werden.

Forward-Zonendatei erstellen

In der Forward-Zonendatei definieren wir DNS-Einträge für Forward-DNS-Lookups. Wenn der DNS beispielsweise eine Namensabfrage "host1.nyc3.example.com" empfängt, wird in der Weiterleitungszonendatei nach der entsprechenden privaten IP-Adresse vonhost1gesucht.

Erstellen wir das Verzeichnis, in dem sich unsere Zonendateien befinden. Gemäß unserernamed.conf.local-Konfiguration sollte dieser Speicherort/etc/named/zonesein:

sudo chmod 755 /etc/named
sudo mkdir /etc/named/zones

Bearbeiten wir nun unsere Forward-Zone-Datei:

sudo vi /etc/named/zones/db.nyc3.example.com

Zunächst möchten Sie den SOA-Datensatz hinzufügen. Ersetzen Sie den hervorgehobenen FQDN ns1 durch Ihren eigenen FQDN und ersetzen Sie dann den zweiten "nyc3.example.com" durch Ihre eigene Domain. Jedes Mal, wenn Sie eine Zonendatei bearbeiten, sollten Sie den Wert vonserialerhöhen, bevor Sie den Prozess vonnamedneu starten. Wir erhöhen ihn auf „3“. Es sollte ungefähr so ​​aussehen:

/etc/named/zones/db.nyc3.example.com — 1 of 3

@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL

Fügen Sie anschließend Ihre Nameserver-Einträge mit den folgenden Zeilen hinzu (ersetzen Sie die Namen durch Ihre eigenen). Beachten Sie, dass in der zweiten Spalte angegeben ist, dass dies "NS" -Datensätze sind:

/etc/named/zones/db.nyc3.example.com — 2 of 3

; name servers - NS records
    IN      NS      ns1.nyc3.example.com.
    IN      NS      ns2.nyc3.example.com.

Fügen Sie dann die A-Datensätze für Ihre Hosts hinzu, die zu dieser Zone gehören. Dies schließt jeden Server ein, dessen Name mit ".nyc3.example.com" enden soll (ersetzen Sie die Namen und privaten IP-Adressen). Unter Verwendung unserer Beispielnamen und privaten IP-Adressen fügen wir A-Datensätze fürns1,ns2,host1 undhost2 wie folgt hinzu:

/etc/named/zones/db.nyc3.example.com — 3 of 3

; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12

; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102

Speichern und beenden Sie die Dateidb.nyc3.example.com.

Unser letztes Beispiel für eine Forward Zone-Datei sieht folgendermaßen aus:

/etc/named/zones/db.nyc3.example.com — complete

$TTL    604800
@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                  3       ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
; name servers - NS records
     IN      NS      ns1.nyc3.example.com.
     IN      NS      ns2.nyc3.example.com.

; name servers - A records
ns1.nyc3.example.com.          IN      A       10.128.10.11
ns2.nyc3.example.com.          IN      A       10.128.20.12

; 10.128.0.0/16 - A records
host1.nyc3.example.com.        IN      A      10.128.100.101
host2.nyc3.example.com.        IN      A      10.128.200.102

Gehen wir nun zu den Reverse-Zone-Dateien über.

Reverse Zone-Datei (en) erstellen

In Reverse-Zone-Dateien definieren wir DNS-PTR-Einträge für Reverse-DNS-Lookups. Das heißt, wenn der DNS eine Abfrage nach der IP-Adresse "10.128.100.101" empfängt, sucht er in den Reverse-Zonendateien, um den entsprechenden vollqualifizierten Domänennamen "host1.nyc3.example.com" in diesem Fall aufzulösen .

Erstellen Sie aufns1 für jede in der Dateinamed.conf.local angegebene Umkehrzone eine Umkehrzonendatei.

Bearbeiten Sie die Reverse-Zone-Datei, die der innamed.conf.local definierten Reverse-Zone (s) entspricht:

sudo vi /etc/named/zones/db.10.128

Ersetzen Sie auf die gleiche Weise wie die Forward-Zonendatei den markierten FQDN ns1 durch Ihren eigenen FQDN und ersetzen Sie dann den zweiten "nyc3.example.com" durch Ihre eigene Domain. Jedes Mal, wenn Sie eine Zonendatei bearbeiten, sollten Sie den Wert vonserialerhöhen, bevor Sie den Prozess vonnamedneu starten. Wir erhöhen ihn auf „3“. Es sollte ungefähr so ​​aussehen:

/etc/named/zones/db.10.128 — 1 of 3

@       IN      SOA     ns1.nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

Fügen Sie anschließend Ihre Nameserver-Einträge mit den folgenden Zeilen hinzu (ersetzen Sie die Namen durch Ihre eigenen). Beachten Sie, dass in der zweiten Spalte angegeben ist, dass dies "NS" -Datensätze sind:

/etc/named/zones/db.10.128 — 2 of 3

; name servers - NS records
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.

Fügen Sie dannPTR Datensätze für alle Ihre Server hinzu, deren IP-Adressen sich im Subnetz der Zonendatei befinden, die Sie bearbeiten. In unserem Beispiel sind dies alle unsere Hosts, da sie sich alle im Subnetz 10.128.0.0/16 befinden. Beachten Sie, dass die erste Spalte aus den letzten beiden Bytes der privaten IP-Adressen Ihrer Server in umgekehrter Reihenfolge besteht. Stellen Sie sicher, dass Sie Namen und private IP-Adressen entsprechend Ihren Servern einsetzen:

/etc/named/zones/db.10.128 — 3 of 3

; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102

Speichern und beenden Sie die Reverse-Zone-Datei (wiederholen Sie diesen Abschnitt, wenn Sie weitere Reverse-Zone-Dateien hinzufügen müssen).

Unser letztes Beispiel für eine Reverse Zone-Datei sieht folgendermaßen aus:

/etc/named/zones/db.10.128 — complete

$TTL    604800
@       IN      SOA     nyc3.example.com. admin.nyc3.example.com. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
; name servers
      IN      NS      ns1.nyc3.example.com.
      IN      NS      ns2.nyc3.example.com.

; PTR Records
11.10   IN      PTR     ns1.nyc3.example.com.    ; 10.128.10.11
12.20   IN      PTR     ns2.nyc3.example.com.    ; 10.128.20.12
101.100 IN      PTR     host1.nyc3.example.com.  ; 10.128.100.101
102.200 IN      PTR     host2.nyc3.example.com.  ; 10.128.200.102

Überprüfen Sie die BIND-Konfigurationssyntax

Führen Sie den folgenden Befehl aus, um die Syntax dernamed.conf*-Dateien zu überprüfen:

sudo named-checkconf

Wenn Ihre benannten Konfigurationsdateien keine Syntaxfehler aufweisen, kehren Sie zur Shell-Eingabeaufforderung zurück und sehen keine Fehlermeldungen. Wenn es Probleme mit Ihren Konfigurationsdateien gibt, überprüfen Sie die Fehlermeldung und den AbschnittConfigure Primary DNS Server und versuchen Sie es erneut mitnamed-checkconf.

Mit dem Befehlnamed-checkzone können Sie die Richtigkeit Ihrer Zonendateien überprüfen. Das erste Argument gibt einen Zonennamen an, und das zweite Argument gibt die entsprechende Zonendatei an, die beide innamed.conf.local definiert sind.

Führen Sie beispielsweise den folgenden Befehl aus, um die Konfiguration der Vorwärtszone „nyc3.example.com“ zu überprüfen (ändern Sie die Namen entsprechend Ihrer Vorwärtszone und Datei):

sudo named-checkzone nyc3.example.com /etc/named/zones/db.nyc3.example.com

Führen Sie den folgenden Befehl aus, um die Konfiguration der Umkehrzone „128.10.in-addr.arpa“ zu überprüfen (ändern Sie die Nummern entsprechend Ihrer Umkehrzone und Datei):

sudo named-checkzone 128.10.in-addr.arpa /etc/named/zones/db.10.128

Wenn alle Konfigurations- und Zonendateien fehlerfrei sind, sollten Sie bereit sein, den BIND-Dienst neu zu starten.

Starten Sie BIND

BIND starten:

sudo systemctl start named

Jetzt möchten Sie es aktivieren, damit es beim Booten gestartet wird:

sudo systemctl enable named

Ihr primärer DNS-Server ist jetzt eingerichtet und kann auf DNS-Anfragen antworten. Fahren wir mit der Erstellung des sekundären DNS-Servers fort.

Konfigurieren Sie den sekundären DNS-Server

In den meisten Umgebungen empfiehlt es sich, einen sekundären DNS-Server einzurichten, der auf Anforderungen reagiert, wenn der primäre Server nicht mehr verfügbar ist. Glücklicherweise ist der sekundäre DNS-Server viel einfacher zu konfigurieren.

Bearbeiten Sie aufns2 die Dateinamed.conf:

sudo vi /etc/named.conf

[.note] #Note: Wenn Sie diese Anweisungen lieber überspringen möchten, können Sie dienamed.conf-Datei vonns1 kopieren und so ändern, dass die private IP-Adresse vonns2 abgehört und nicht zugelassen wird Übertragungen.
#

Erstellen Sie über dem vorhandenenoptions-Block einen neuen ACL-Block mit dem Namen "vertrauenswürdig". Hier definieren wir eine Liste von Clients, von denen wir rekursive DNS-Abfragen zulassen (d. H. Ihre Server, die sich im selben Datencenter befinden wie ns1). Anhand unserer privaten IP-Beispieladressen fügen wir unserer Liste der vertrauenswürdigen Clientsns1,ns2,host1 undhost2 hinzu:

/etc/named.conf — 1 of 4

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

Nachdem wir unsere Liste der vertrauenswürdigen DNS-Clients haben, möchten wir den Blockoptionsbearbeiten. Fügen Sie der Direktivelisten-on port 53die private IP-Adresse von ns1 hinzu und kommentieren Sie die Zeilelisten-on-v6aus:

/etc/named.conf — 2 of 4

options {
        listen-on port 53 { 127.0.0.1; 10.128.20.12; };
#        listen-on-v6 port 53 { ::1; };
...

Ändern Sie die Direktive vonallow-queryvon "localhost" in "vertrauenswürdig":

/etc/named.conf — 3 of 4

...
options {
...
        allow-query { trusted; }; # allows queries from "trusted" clients
...

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

/etc/named.conf — 4 of 4

include "/etc/named/named.conf.local";

Speichern und beenden Sie nunnamed.conf. Die obige Konfiguration gibt an, dass nur Ihre eigenen Server (die "vertrauenswürdigen") Ihren DNS-Server abfragen können.

Als Nächstes konfigurieren wir die lokale Datei, um unsere DNS-Zonen anzugeben.

Speichern und beenden Sienamed.conf.

Bearbeiten Sie nun die Dateinamed.conf.local:

sudo chmod 755 /etc/named
sudo vi /etc/named/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 einemasters-Richtlinie gibt, die auf die private IP des primären DNS-Servers festgelegt werden sollte. Wenn Sie im primären DNS-Server mehrere Reverse-Zonen definiert haben, müssen Sie diese hier hinzufügen:

/etc/named/named.conf.local

zone "nyc3.example.com" {
    type slave;
    file "slaves/db.nyc3.example.com";
    masters { 10.128.10.11; };  # ns1 private IP
};

zone "128.10.in-addr.arpa" {
    type slave;
    file "slaves/db.10.128";
    masters { 10.128.10.11; };  # ns1 private IP
};

Speichern und beenden Sie nunnamed.conf.local.

Führen Sie den folgenden Befehl aus, um die Gültigkeit Ihrer Konfigurationsdateien zu überprüfen:

sudo named-checkconf

Sobald das ausgecheckt ist, starte BIND:

sudo systemctl start named

Aktivieren Sie BIND, um beim Booten zu starten:

sudo systemctl enable named

Jetzt haben Sie primäre und sekundäre DNS-Server für die Auflösung von privaten Netzwerknamen und IP-Adressen. Jetzt müssen Sie Ihre Server für die Verwendung Ihrer privaten DNS-Server konfigurieren.

Konfigurieren Sie DNS-Clients

Bevor alle Ihre Server in der "vertrauenswürdigen" ACL Ihre DNS-Server abfragen können, müssen Sie jeden von ihnen so konfigurieren, dassns1 undns2 als Nameserver verwendet werden. Dieser Vorgang variiert je nach Betriebssystem. Bei den meisten Linux-Distributionen müssen Sie jedoch Ihre Nameserver zur/etc/resolv.conf-Datei hinzufügen.

CentOS-Clients

Bearbeiten Sie unter CentOS, RedHat und Fedora Linux VPS einfach die Dateiresolv.conf:

sudo vi /etc/resolv.conf

Fügen Sie dann die folgenden Zeilen zum TOP der Datei hinzu (ersetzen Sie Ihre private Domain und die privaten IP-Adressen vonns1 undns2):

/etc/resolv.conf

search nyc3.example.com  # your private domain
nameserver 10.128.10.11  # ns1 private IP address
nameserver 10.128.20.12  # ns2 private IP address

Nun speichern und beenden. Ihr Client ist jetzt für die Verwendung Ihrer DNS-Server konfiguriert.

Ubuntu-Clients

Unter Ubuntu und Debian Linux VPS können Sie die Dateiheadbearbeiten, der beim Bootenresolv.conf vorangestellt wird:

sudo vi /etc/resolvconf/resolv.conf.d/head

Fügen Sie der Datei die folgenden Zeilen hinzu (ersetzen Sie Ihre private Domain und die privaten IP-Adressen vonns1 undns2):

/etc/resolvconf/resolv.conf.d/head

search nyc3.example.com  # your private domain
nameserver 10.128.10.11  # ns1 private IP address
nameserver 10.128.20.12  # ns2 private IP address

Führen Sie nunresolvconf aus, um eine neueresolv.conf-Datei zu generieren:

sudo resolvconf -u

Ihr Client ist jetzt für die Verwendung Ihrer DNS-Server konfiguriert.

Clients testen

Verwenden Sienslookup - im Paket "bind-utils" enthalten -, um zu testen, ob Ihre Clients Ihre Nameserver abfragen können. Dies sollte auf allen Clients möglich sein, die Sie konfiguriert haben und die sich in der „vertrauenswürdigen“ ACL befinden.

Forward-Lookup

Zum Beispiel können wir eine Vorwärtssuche durchführen, um die IP-Adresse vonhost1.nyc3.example.com abzurufen, indem wir den folgenden Befehl ausführen:

nslookup host1

Das Abfragen von "host1" wird zu "host1.nyc3.example.com" erweitert, da die Option "search" auf Ihre private Subdomain festgelegt ist. DNS-Abfragen versuchen, diese Subdomain zu suchen, bevor sie nach dem Host an anderer Stelle suchen. Die Ausgabe des obigen Befehls sieht folgendermaßen aus:

Output:Server:     10.128.10.11
Address:    10.128.10.11#53

Name:   host1.nyc3.example.com
Address: 10.128.100.101

Rückwärtssuche

Fragen Sie den DNS-Server mit der privaten IP-Adresse vonhost1ab, um die umgekehrte Suche zu testen:

nslookup 10.128.100.101

Sie sollten eine Ausgabe sehen, die wie folgt aussieht:

Output:Server:     10.128.10.11
Address:    10.128.10.11#53

11.10.128.10.in-addr.arpa   name = host1.nyc3.example.com.

Wenn alle Namen und IP-Adressen in 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. db.nyc3.example.com unddb.10.128).

Herzliche Glückwünsche! Ihre internen DNS-Server sind jetzt ordnungsgemäß eingerichtet! Jetzt kümmern wir uns um die Pflege Ihrer Zonendatensätze.

DNS-Einträge pflegen

Da Sie nun über ein funktionierendes internes DNS verfügen, müssen Sie Ihre DNS-Einträge so verwalten, dass sie Ihre Serverumgebung genau widerspiegeln.

Hinzufügen von Host zu DNS

Wann immer Sie Ihrer Umgebung einen Host hinzufügen (im selben Datencenter), möchten Sie ihn zum DNS hinzufügen. Hier ist eine Liste der Schritte, die Sie ausführen müssen:

Primärer Nameserver

  • Forward Zone-Datei: Fügen Sie einen "A" -Datensatz für den neuen Host hinzu und erhöhen Sie den Wert von "Serial".

  • Reverse-Zone-Datei: Fügen Sie einen "PTR" -Datensatz für den neuen Host hinzu, und erhöhen Sie den Wert von "Serial".

  • Fügen Sie die private IP-Adresse Ihres neuen Hosts zur "vertrauenswürdigen" ACL hinzu (named.conf.options).

Dann lade BIND neu:

sudo systemctl reload named

Sekundärer Nameserver

  • Fügen Sie die private IP-Adresse Ihres neuen Hosts zur "vertrauenswürdigen" ACL hinzu (named.conf.options).

Dann lade BIND neu:

sudo systemctl reload named

Konfigurieren Sie den neuen Host für die Verwendung Ihres DNS

  • Konfigurieren Sie resolv.conf so, dass Ihre DNS-Server verwendet werden

  • Test mitnslookup

Host aus DNS entfernen

Wenn Sie einen Host aus Ihrer Umgebung entfernen oder ihn einfach aus DNS entfernen möchten, entfernen Sie einfach alle Elemente, die hinzugefügt wurden, als Sie den Server zu DNS hinzugefügt haben (d. H. die Umkehrung der obigen Schritte).

Fazit

Jetzt können Sie die privaten Netzwerkschnittstellen Ihrer Server nach Namen und nicht nach IP-Adresse benennen. Dies erleichtert die Konfiguration von Diensten und Anwendungen, da Sie sich die privaten IP-Adressen nicht mehr merken 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 verschiedene verteilte Konfigurationsdateien bearbeiten zu müssen, was die Wartung vereinfacht.

Sobald Sie Ihr internes DNS eingerichtet haben und Ihre Konfigurationsdateien private FQDNs verwenden, um Netzwerkverbindungen anzugeben, werden Ihre DNS-Server incritical ordnungsgemäß gewartet. Wenn beide nicht mehr verfügbar sind, funktionieren Ihre Dienste und Anwendungen, die darauf angewiesen sind, nicht mehr ordnungsgemäß. Aus diesem Grund wird empfohlen, Ihren DNS mit mindestens einem sekundären Server einzurichten und funktionierende Backups von allen zu führen.