Eine sekundäre Zone mit STACKIT DNS einrichten
sidebar: order: 4
In diesem Tutorial lernen Sie, wie Sie eine sekundäre Zone innerhalb des STACKIT DNS Anycast-Netzwerks einrichten.
Indem Sie dieser Anleitung folgen, richten Sie eine STACKIT-Instanz mit Linux Ubuntu und einem BIND9-DNS-Server als Hidden Primary ein. Der Zugriff aus dem Internet wird durch Security Groups verweigert. Nur die STACKIT DNS Anycast-Nameserver sind berechtigt, den Knoten abzufragen und Zonen über das AXFR-Protokoll zu übertragen. Mit diesem Setup können Sie Ihre Zonen auf dem Hidden Primary verwalten, während diese gleichzeitig global verteilt und durch die STACKIT DNS Anycast-Server geschützt sind.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sie haben ein STACKIT-Kundenkonto: Kundenkonto erstellen
- Sie haben ein STACKIT-Benutzerkonto: Benutzerkonto erstellen
- Sie haben ein STACKIT-Projekt: Projekt erstellen
- Sie verfügen über Grundkenntnisse der STACKIT Compute Engine.
Hidden Primary einrichten
Abschnitt betitelt „Hidden Primary einrichten“Server-Instanz erstellen
Abschnitt betitelt „Server-Instanz erstellen“Erstellen Sie für dieses Handbuch eine Server-Instanz mit dem neuesten Ubuntu-Image. Ein kleines Boot-Volume von 5-10GB sowie ein kleiner Flavor sind ausreichend. Laden Sie Ihren öffentlichen SSH-Schlüssel hoch und weisen Sie Ihrer Instanz eine öffentliche IP-Adresse zu. Stellen Sie sicher, dass Sie von Ihrem SSH-Client aus auf die Instanz zugreifen können, indem Sie den Zugriff auf den TCP-Port 22 von Ihrer Client-IP aus erlauben.
Weitere Informationen finden Sie unter Erstellen einer neuen STACKIT Server-Instanz.
DNS-Primary installieren
Abschnitt betitelt „DNS-Primary installieren“Verwenden Sie die folgenden Befehle, um den DNS-Primary mit bind9 zu installieren:
sudo apt update -ysudo apt install -y bind9 bind9utilsbind9 und Ihre primäre DNS-Zone konfigurieren
Abschnitt betitelt „bind9 und Ihre primäre DNS-Zone konfigurieren“Aktivieren Sie das erweiterte Logging und konfigurieren Sie die primäre DNS-Zone als Master. Für dieses Tutorial verwenden wir myzone.test.. Konfigurieren
Sie Benachrichtigungen (Notify) an die STACKIT Anycast-Nameserver und erlauben Sie Zonen-Updates von localhost. Erstellen Sie die Datei /etc/bind/named.conf.local mit dem folgenden Inhalt:
logging { category xfer-out { default_syslog; }; category xfer-in { default_syslog; }; category notify { default_syslog; }; category lame-servers { default_syslog; }; category general { default_syslog; }; category default { default_syslog; };};
zone "myzone.test" IN { type master; file "/var/cache/bind/myzone.test.db"; notify explicit; also-notify { 83.136.34.51; }; allow-update { 127.0.0.1; };};Erstellen Sie den initialen Inhalt Ihrer primären Zone in der Datei /var/cache/bind/myzone.test.db:
; Zone file for myzone.test.;; The full zone file;$ORIGIN myzone.test.@ 3600 IN SOA myzone.test. hostmaster.myzone.test. 2023051000 7200 3600 1209600 30 3600 IN NS ns1.stackit.cloud. 3600 IN NS ns2.stackit.zone.
www IN A 127.0.0.1 IN AAAA ::1Überprüfen Sie die Konfiguration, laden Sie bind9 neu und verifizieren Sie, dass Ihre konfigurierte Zone funktioniert:
named-checkconfsystemctl reload nameddig +short myzone.test. SOA @127.0.0.1Sie sollten folgendes Ergebnis erhalten:
myzone.test. hostmaster.myzone.test. 2023051000 7200 3600 1209600 30Und führen Sie einen zweiten Test durch:
dig +short www.myzone.test. @127.0.0.1Sie sollten folgendes Ergebnis erhalten:
127.0.0.1Zugriff für Zonentransfer erlauben
Abschnitt betitelt „Zugriff für Zonentransfer erlauben“Damit der STACKIT DNS Anycast-Server DNS-Zonen von Ihrem primären Nameserver übertragen kann, erlauben Sie bitte den Netzwerk-Zonentransfer und den Abfragezugriff von der folgenden IP:
- Fügen Sie eine Security-Regel hinzu, um TCP-Ingress Port 53 für 83.136.34.51 zu erlauben.
- Fügen Sie eine Security-Regel hinzu, um UDP-Ingress Port 53 für 83.136.34.51 zu erlauben.
Sekundäre Zone erstellen
Abschnitt betitelt „Sekundäre Zone erstellen“Erstellen Sie im STACKIT Portal eine neue sekundäre Zone und fügen Sie Ihre öffentliche IP als primären DNS-Server hinzu. Weitere Informationen finden Sie unter Verwalten von DNS-Zonen.
Initialen Zonentransfer verifizieren
Abschnitt betitelt „Initialen Zonentransfer verifizieren“Sie können den erfolgreichen initialen Zonentransfer in den Logs Ihres Primary verifizieren:
journalctl --unit named --followDort sollten Sie zwei Zeilen sehen, die dieser ähneln:
May 16 12:08:06 primary named[2172]: client @0x7f780c1d1208 83.136.34...#51029 (myzone.test): transfer of 'myzone.test/IN': AXFR started (serial 2023051000)May 16 12:08:06 primary named[2172]: client @0x7f780c1d1208 83.136.34...#51029 (myzone.test): transfer of 'myzone.test/IN': AXFR ended: 1 messages, 6 records, 213 bytes, 0.004 secs (53250 bytes/sec) (serial 2023051000)Ihre Zone öffentlich auflösen
Abschnitt betitelt „Ihre Zone öffentlich auflösen“Nun kann Ihre Zone global über das STACKIT DNS Anycast-Netzwerk aufgelöst werden, während der direkte Zugriff auf Ihren Primary geschützt ist. Prüfen Sie dies von einem beliebigen anderen Host mit Internetzugang:
dig +short myzone.test. SOA @ns1.stackit.cloud.Sie sollten die folgende Ausgabe erhalten:
myzone.test. hostmaster.myzone.test. 2023051000 7200 3600 1209600 30dig +short www.myzone.test. @ns1.stackit.cloud.Sie sollten die folgende Ausgabe erhalten:
127.0.0.1dig +short myzone.test. SOA @<your-public-primary-ip>Sie sollten die folgende Ausgabe erhalten:
;; connection timed out; no servers could be reacheddig +short www.myzone.test. @<your-public-primary-ip>Sie sollten die folgende Ausgabe erhalten:
;; connection timed out; no servers could be reachedEinen Datensatz hinzufügen
Abschnitt betitelt „Einen Datensatz hinzufügen“Fügen wir den Datensatz www2.myzone.test. zur Zone auf Ihrem Primary hinzu und verifizieren wir, dass er lokal aufgelöst wird:
nsupdate> server 127.0.0.1> zone myzone.test.> update add www2.myzone.test. 600 IN A 192.0.2.1> send> quitdig +short www2.myzone.test. @127.0.0.1Sie sollten die folgende Ausgabe erhalten:
192.0.2.1Beachten Sie, dass bind9 Benachrichtigungen (Notifies) für die aktualisierte Zone versendet, woraufhin die Zone erneut vom STACKIT DNS-Netzwerk übertragen wird:
journalctl --unit named --followDort sollten Sie drei Zeilen sehen, die dieser ähneln:
May 16 12:10:17 rc0-primary-docs named[2496]: zone myzone.test/IN: sending notifies (serial 2023051002)May 16 12:10:17 rc0-primary-docs named[2496]: client @0x7f8f880a9508 83.136.34.30#36005 (myzone.test): transfer of 'myzone.test/IN': AXFR started (serial 2023051002)May 16 12:10:17 rc0-primary-docs named[2496]: client @0x7f8f880a9508 83.136.34.30#36005 (myzone.test): transfer of 'myzone.test/IN': AXFR ended: 1 messages, 8 records, 250 bytes, 0.001 secs (250000 bytes/sec) (serial 2023051002)Neuen Datensatz öffentlich auflösen
Abschnitt betitelt „Neuen Datensatz öffentlich auflösen“Nun kann der neue Datensatz ebenfalls global über das STACKIT DNS Anycast-Netzwerk aufgelöst werden:
dig +short www2.myzone.test. @ns1.stackit.cloud.Sie erhalten die folgende Ausgabe:
192.0.2.1