DNS-Slaves - Bind AXFR/IXFR

Für Modifikationen in und um KeyHelp.
Post Reply
User avatar
george
Posts: 87
Joined: Fri 3. Jan 2020, 05:53
Location: AUSTRALIA

DNS-Slaves - Bind AXFR/IXFR

Post by george »

GRUNDLEGENDE HINWEISE ZUM EINSATZ VON DNS-SLAVES | English


KeyHelp richtet standardmäßig Nameserver wie ns.host.serverdomain.com und ns2.host.serverdomain.com ein, aber zusätzliche Nameserver können als Slaves hinzugefügt werden, um die Performance/Zuverlässigkeit zu verbessern. Sobald die Slaves hinzugefügt wurden, bleiben sie durch AXFR/IXFR-Transfers automatisch mit Ihrem primären Nameserver synchronisiert. Diese DNS-Slaves werden für alle gehosteten Domains verfügbar sein. Wenn Sie DNS Slaves verwenden möchten, ist dies die einfachste Art und Weise, dies zu tun - und es funktioniert perfekt auf KeyHelp!

Zuerst, bevor Sie die Änderungen auf Ihrem Server vornehmen:
  • Besuchen Sie Ihren Hosting-Provider oder einen externen DNS-Dienst, loggen Sie sich in die Benutzeroberfläche ein und fügen Sie alle Ihre Website-Domains für Slave-DNS einschließlich Ihrer Server-IP-Adresse hinzu (Anleitung bei Ihrem Provider) - Sie können hier auch den Hostnamen hinzufügen.
  • Besuchen Sie Ihren Domain-Registrator, loggen Sie sich ein, fügen Sie die Slave-Nameserver für jede Website-Domain in den DNS ein.
Nun sind die Host-/Extern-DNS- und Registrar-Einträge fertig, lassen Sie uns die Änderungen auf Ihrem Server vornehmen. Wir müssen die DNS-Slaves zu unserer Bind-Konfiguration hinzufügen, indem wir die IP-Adressen der Slaves verwenden. Öffnen und bearbeiten Sie die Datei:

Code: Select all

/etc/bind/named.conf.options
Diese 2 Abschnitte werden hinzugefügt, mit allen IP-Adressen der DNS-Slaves in Klammern:

allow-transfer { };
also-notify { };

Siehe mein Beispiel unten, die fertige Datei - named.conf.options
Ersetzen Sie einfach die IP-Adressen durch Ihre eigenen, dann speichern Sie die Datei.

Nun überprüfen Sie, ob Ihre gesamte Bind-Konfiguration fehlerfrei ist, öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein (keine Ausgabe bedeutet, dass alles gut ist, sonst wird ein Fehler angezeigt):

Code: Select all

named-checkconf
Wenn kein Fehler vorliegt, starten Sie den Bindungsvorgang erneut und überprüfen Sie den Status:

Code: Select all

service bind9 restart
service bind9 status
Nun können Sie periodisch überprüfen, ob die AXFR/IXFR-Übertragungen an Slaves erfolgreich sind:

Code: Select all

journalctl -eu bind9
Schließlich müssen wir sicherstellen, dass alle DNS-Zonen die Slaves einschließen. Gehen Sie zu Ihrem KeyHelp DNS-Zonen-Editor und fügen Sie NS-Einträge für DNS-Slaves hinzu:

KeyHelp > Domains > DNS-Zonen-Editor

Damit alle neuen Domains automatisch die DNS-Slaves verwenden, fügen Sie diese zu den DNS-Standards der KeyHelp-Datenbank hinzu:
  • Anmeldung bei phpMyAdmin
  • Klicken Sie auf Datenbank "keyhelp".
  • Klicken Sie auf die Tabelle "Einstellungen".
  • Suchen Sie nach |Kategorie "dns"|Name "Nameserver"|Wert "ns..."| - doppelklicken Sie und tragen Sie hier alle Ihre Nameserver, durch Komma getrennt, ein.
Erledigt!


# --------------------------------------------------
# /etc/bind/named.conf.options
# --------------------------------------------------

Code: Select all

options {
	directory "/var/cache/bind";

	// If there is a firewall between you and nameservers you want
	// to talk to, you may need to fix the firewall to allow multiple
	// ports to talk.  See http://www.kb.cert.org/vuls/id/800113

	// If your ISP provided one or more IP addresses for stable 
	// nameservers, you probably want to use them as forwarders.  
	// Uncomment the following block, and insert the addresses replacing 
	// the all-0's placeholder.

	// forwarders {
	// 	0.0.0.0;
	// };

	//========================================================================
	// If BIND logs error messages about the root key being expired,
	// you will need to update your keys.  See https://www.isc.org/bind-keys
	//========================================================================
	dnssec-validation auto;

	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };

	allow-transfer {
		127.0.0.1;
		localnets;
		server.IP.address;
		server.IPv6.address;
     104.237.137.10;
     65.19.178.10;
     75.127.96.10;
     207.192.70.10;
     109.74.194.10;
     2600:3c00::a;
     2600:3c01::a;
     2600:3c02::a;
     2600:3c03::a;
     2a01:7e00::a;
		};
     also-notify {
     104.237.137.10;
     65.19.178.10;
     75.127.96.10;
     207.192.70.10;
     109.74.194.10;
     2600:3c00::a;
     2600:3c01::a;
     2600:3c02::a;
     2600:3c03::a;
     2a01:7e00::a;
 };

};
User avatar
george
Posts: 87
Joined: Fri 3. Jan 2020, 05:53
Location: AUSTRALIA

Re: DNS-Slaves - Bind AXFR/IXFR

Post by george »

### SLAVE-KONFIGURATION ###

Dies ist mein Vorschlag zur Einrichtung des SLAVE-DNS-Servers, den ich aus Interesse gepostet habe. Obwohl ich dies noch nicht ausprobiert habe, sollte es funktionieren.

Probieren Sie Konfigurationen wie diese auf dem SLAVE aus:

- Bearbeiten Sie /etc/bind/named.conf.local

Code: Select all

// Vorwärts
zone "host.domain.com" {
  type slave;
  file "/etc/bind/host_domain.conf";
  masters { 192.168.0.1; }; 	//Master Server IP
};
// Umgekehrt
zone "0.168.192.in-addr.arpa" {
  type slave;
  file "/etc/bind/host_domain.rev";
  masters { 192.168.0.1; }; 	//Master Server IP
};
- Machen Sie die Dateien host_domain.conf & host_domain.rev ähnlich wie die der KeyHelp-Domain (siehe /etc/bind/keyhelp_domain.conf)

- Stellen Sie Ihre /etc/bind/named.conf.options nach Geschmack ein, stellen Sie nur sicher, dass Sie die Option einschließen:

Code: Select all

allow-transfer { none; };
- Prüfen Sie, ob die Konfiguration fehlerfrei ist:

Code: Select all

named-checkconf
- Bind-Konfiguration neu laden:

Code: Select all

rndc reload
- TEST

Code: Select all

journalctl -eu bind9
PS: Wenn das funktioniert, werde ich auch auf die englische Version posten.
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DNS-Slaves - Bind AXFR/IXFR

Post by 24unix »

Sorry, dass ich diesen alten Thread hochhole, aber mit ihm habe ich es geschafft, KeyHelp als DNS Server zu nutzen.


Was mir dabei aufgefallen ist:
george wrote: Tue 7. Jan 2020, 14:31
Damit alle neuen Domains automatisch die DNS-Slaves verwenden, fügen Sie diese zu den DNS-Standards der KeyHelp-Datenbank hinzu:
Bei mir war nach der Änderung in der DB die Einstellung für alle Domains gesetzt, es gilt also wohl nicht nur für neu zu erstellende.

Ich habe drauf verzichtet, als Slave den Registrar zu nehmen. Meiner ist DD24.

Da habe ich ein NameSet angelegt, und nutze einen Bind auf einer anderen VM, der als Slave dient.

Bei Bedarf kann ich das mal dokumentieren, ich habe ziemlich lange gebraucht, bis ich mit diesem Thread und weiterer Googelei ein rundes Setup hatte.

Edit: Ich habe heute mein Setup erweitert. Nach der Änderung in der DB wurden die Nameserver für alle Domains übernommen.

Ich verwende meine KeyHelp Server jetzt as hidden primary, und habe dann 3 Slaves in drei unterschiedlichen Netzsegmenten.
ns3 steht bei mir zu Hause, habe FTTH und statische IP, das geht ohne Probleme, habe da aber nur IPv6 aktiv, weil ich mir das NATten der IPv4 gespart habe.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
sickjuicy
Posts: 1
Joined: Tue 18. Jan 2022, 19:20

Re: DNS-Slaves - Bind AXFR/IXFR

Post by sickjuicy »

Ich selber probiere jetzt auch schon seit einiger zeit es hinzubekommen mit einem Slave Server, habe es bisher noch nicht hinbekommen.
Wäre coll wenn du deine Einstellung für mich/uns dokumentieren könntest vielleicht finde ich dann auch das Problem bei mir.
24unix wrote: Sat 8. Jan 2022, 13:36 Sorry, dass ich diesen alten Thread hochhole, aber mit ihm habe ich es geschafft, KeyHelp als DNS Server zu nutzen.


Was mir dabei aufgefallen ist:
george wrote: Tue 7. Jan 2020, 14:31
Damit alle neuen Domains automatisch die DNS-Slaves verwenden, fügen Sie diese zu den DNS-Standards der KeyHelp-Datenbank hinzu:
Bei mir war nach der Änderung in der DB die Einstellung für alle Domains gesetzt, es gilt also wohl nicht nur für neu zu erstellende.

Ich habe drauf verzichtet, als Slave den Registrar zu nehmen. Meiner ist DD24.

Da habe ich ein NameSet angelegt, und nutze einen Bind auf einer anderen VM, der als Slave dient.

Bei Bedarf kann ich das mal dokumentieren, ich habe ziemlich lange gebraucht, bis ich mit diesem Thread und weiterer Googelei ein rundes Setup hatte.

Edit: Ich habe heute mein Setup erweitert. Nach der Änderung in der DB wurden die Nameserver für alle Domains übernommen.

Ich verwende meine KeyHelp Server jetzt as hidden primary, und habe dann 3 Slaves in drei unterschiedlichen Netzsegmenten.
ns3 steht bei mir zu Hause, habe FTTH und statische IP, das geht ohne Probleme, habe da aber nur IPv6 aktiv, weil ich mir das NATten der IPv4 gespart habe.
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: DNS-Slaves - Bind AXFR/IXFR

Post by OlliTheDarkness »

Moin,
ich versteh nicht ganz wo eure Probleme liegen :lol:

Einstellungen auf dem Master:

Code: Select all


options {
	directory "/var/cache/bind";

	masterfile-format text;

	version none;
	hostname none;
	server-id none;

	allow-transfer 
	{ 
	1a23:4f5:678:6::1;
	1.2.3.4;
	};

	transfers-out 100;

	notify yes;

	minimal-responses no;
	
	also-notify  		
	{
	1a23:4f5:678:6::1;
	1.2.3.4;
	};

	// forwarders {
	// 	0.0.0.0;
	// };

	dnssec-validation auto;

	listen-on-v6 { any; };
};
Einstellungen auf dem Slave:

Code: Select all


options {
	directory "/var/cache/bind";

	version none;
	hostname none;
	server-id none;

	masterfile-format text;

	allow-transfer {"none";};

	allow-update 
	{ 
	# IPs der Master;
	1.2.3.4;
	# usw.
	};

	// forwarders {
	// 	0.0.0.0;
	// };

	dnssec-validation auto;

	listen-on-v6 { any; };
};

Um die neu hinzukommenden Domains auf dem Slave aktuell zu halten, nutz ich nen regelmässigen Sync.
Verbindung hier zwischen Slave und Master erfolgt mittels SSH-Key.

/usr/local/sbin/slavedns-get-zonefiles

Code: Select all


#!/bin/bash

# ------- 1. Server - HN1-------

MASTER=1.2.3.4
MASTERCONFIG=/etc/bind/named.conf.keyhelp
SLAVECONFIG=/etc/bind/named.hn1.slave
MASTERGLUECONFIG=/etc/bind/named.conf.local
SLAVEGLUECONFIG=/etc/bind/glue.hn1.slave

# >>>> Domains übertragen

echo "Server 1 gestartet."

scp -P 57022 root@$MASTER:$MASTERCONFIG $SLAVECONFIG

sed -i 's/master;/slave;\n  masters { 1.2.3.4; 1a21:5f6:643:32::24; };/g' $SLAVECONFIG

# >>>> Glue / Root Domains übertragen

scp -P 57022 root@$MASTER:$MASTERGLUECONFIG $SLAVEGLUECONFIG

sed -i 's/master;/slave;\n  masters { 1.2.3.4; 1a21:5f6:643:32::24; };/g' $SLAVEGLUECONFIG

sed -i 's/etc\/bind\/keyhelp_domain.conf/etc\/bind\/keyhelp_domains\/hn1_glue_domain.conf/g' $SLAVEGLUECONFIG

echo "Server 1 abgeschlossen."

systemctl restart bind9

echo "Bind neustart abgeschlossen."

Es geht eventuell auch schöner, aber es funktioniert und tut was es soll.
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DNS-Slaves - Bind AXFR/IXFR

Post by 24unix »

Falls jemand Interesse hat, ich arbeite gerade daran, das zu automatisieren.

Auf jedem DNS-Server, der ein Keyhelp Server sein kann, aber nicht muss kommt das Paket drauf.
Bietet eine REST-Api und eine CLI.

Per Cron kann man health checks auf allen KeyHelp-Servern und DNS-Servern machen.
Denke zum WE habe ich es so weit, dass jemand testen kann, wenn er mag.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
select name from me;
Posts: 579
Joined: Tue 9. Feb 2016, 16:44

Re: DNS-Slaves - Bind AXFR/IXFR

Post by select name from me; »

24unix wrote: Wed 19. Jan 2022, 09:31 Falls jemand Interesse hat, ich arbeite gerade daran, das zu automatisieren.

Auf jedem DNS-Server, der ein Keyhelp Server sein kann, aber nicht muss kommt das Paket drauf.
Bietet eine REST-Api und eine CLI.
Ja, das klingt interessant. Vielen Dank. :)
Viele Grüße, Christian
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DNS-Slaves - Bind AXFR/IXFR

Post by 24unix »

select name from me; wrote: Wed 19. Jan 2022, 19:36
24unix wrote: Wed 19. Jan 2022, 09:31 Falls jemand Interesse hat, ich arbeite gerade daran, das zu automatisieren.

Auf jedem DNS-Server, der ein Keyhelp Server sein kann, aber nicht muss kommt das Paket drauf.
Bietet eine REST-Api und eine CLI.
Ja, das klingt interessant. Vielen Dank. :)
Ich werde spätestens am WE einen Thread dazu aufmachen.

Für mich läuft es schon, aber es ist noch nichts dokumentiert, und den Code muss ich auch noch hübschen …
Auf solche Kommentare haben ich keine Lust: viewtopic.php?p=20736#p20736
Last edited by 24unix on Wed 19. Jan 2022, 23:37, edited 1 time in total.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
24unix
Posts: 1560
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: DNS-Slaves - Bind AXFR/IXFR

Post by 24unix »

OlliTheDarkness wrote: Wed 19. Jan 2022, 00:11

Code: Select all

systemctl restart bind9
Es geht eventuell auch schöner, aber es funktioniert und tut was es soll.
Ach ja, sollte da nicht ein rndc relaod reichen?
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: DNS-Slaves - Bind AXFR/IXFR

Post by OlliTheDarkness »

24unix wrote: Wed 19. Jan 2022, 21:01
OlliTheDarkness wrote: Wed 19. Jan 2022, 00:11

Code: Select all

systemctl restart bind9
Es geht eventuell auch schöner, aber es funktioniert und tut was es soll.
Ach ja, sollte da nicht ein rndc relaod reichen?
Moin, selbstverständlich ist ein Reload hier ausreichend.
Habe es aus meinem Einsatz einfach 1 zu 1 eingefügt (Adressen geändert) und muss an der Stelle nen Service restart machen da dort noch ein Rattenschwanz anderer Abarbeitungen dran hängt die ein restart erforderlich machen

Gruß Olli
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Tobi
Community Moderator
Posts: 2812
Joined: Thu 5. Jan 2017, 13:24

Re: DNS-Slaves - Bind AXFR/IXFR

Post by Tobi »

24unix wrote: Wed 19. Jan 2022, 20:56 Auf solche Kommentare haben ich keine Lust: viewtopic.php?p=20736#p20736
Mach dir deswegen kein Kopf.
Soll erstmal einer kommen und es besser machen als du 😎

KnechtRootRecht hatte jetzt über zwei Jahre Zeit und außer heißer Luft kam nix.
Von sowas würde ich mich nicht runterziehen lassen.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Post Reply