BIND kann als Master oder Slave konfiguriert werden, um die DNS-Anfrage für jede Zone zu bedienen. Wenn der BIND als Slave konfiguriert ist, erhält er die Kopie der Zonendaten vom Master-Server, indem er die Zonenübertragungsmethode verwendet.
Im vorherigen Beitrag hatten wir den DNS-Server auf CentOS 7 konfiguriert, der als Quelle für den Slave-Server fungieren wird.
Umgebung
Domänenname:itzgeek.local | ||
---|---|---|
primary.itzgeek.local | 192.168.1.10 | Master-DNS-Server |
secondary.itzgeek.local | 192.168.1.20 | Slave-DNS-Server |
Darin haben wir zwei Server mit den Namen primär und sekundär. Der primäre wurde bereits als Master für die Domäne itzgeek.local konfiguriert.
Jetzt konfigurieren wir den sekundären Server als Slave-DNS-Server für itzgeek.local.
Auf dem Master-Server
Konfigurieren Sie BIND auf dem Master-Server, um den Zonentransfer zu einem sekundären Server zuzulassen, bearbeiten Sie die Datei /etc/named.conf in primary.itzgeek.local.
vi /etc/named.conf
Fügen Sie den folgenden Eintrag in der Datei hinzu. Die Server, die in Allow-Transfer erwähnt werden, können Zonen vom Master-Server übertragen.
options { . . . allow-transfer { 192.168.1.20; }; also-notify { 192.168.1.20; }; . . . }
Fügen Sie Ihre sekundären DNS-Serverinformationen in die Forward-Lookup-Datei unter primary.itzgeek.local.
einvi /var/named/fwd.itzgeek.local.db
Datensätze sehen wie folgt aus.
@ IN SOA primary.itzgeek.local. root.itzgeek.local. ( 1002 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;Name Server Information @ IN NS primary.itzgeek.local. ;Secondary Name server @ IN NS secondary.itzgeek.local. ;IP address of Primary Name Server primary IN A 192.168.1.10 ;IP address of Secondary Name Server secondary IN A 192.168.1.20 ;Mail exchanger itzgeek.local. IN MX 10 mail.itzgeek.local. ;A - Record HostName To IP Address www IN A 192.168.1.100 mail IN A 192.168.1.150 ;CNAME record ftp IN CNAME www.itgeek.local.
Starten Sie den BIND-Dienst neu.
systemctl restart named
Fügen Sie eine Zulassungsregel in der Firewall hinzu, um Übertragungszonen vom Masterserver zuzulassen.
firewall-cmd --permanent --add-port=53/tcp firewall-cmd --reload
Auf Slave-Server
Es ist an der Zeit, eine Slave-Zonen-Deklaration auf dem sekundären Server hinzuzufügen, stellen Sie sicher, dass Sie die folgenden Pakete auf dem sekundären Server installieren.
yum -y install bind bind-utils
Bearbeiten Sie /etc/named.conf Datei. Kommentieren Sie die folgende Zeile aus, damit BIND auf allen Schnittstellen lauschen kann.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Fügen Sie Ihr Netzwerk in der folgenden Zeile hinzu. Ich habe 192.168.1.0/24 hinzugefügt damit die Clients aus dem Netzwerk 192.168.1.0/24 den DNS nach der Übersetzung des Namens in die IP abfragen können.
options { . . . allow-query { localhost; 192.168.1.0/24; }; . . . }
Fügen Sie die Slave-Zone wie unten beschrieben hinzu.
zone "itzgeek.local" IN { type slave; masters { 192.168.1.10; }; file "slaves/fwd.itzgeek.local.db"; }; zone "1.168.192.in-addr.arpa" IN { type slave; masters { 192.168.1.10; }; file "slaves/1.168.192.db"; };
itzgeek.local – Domänenname
Sklave – Sekundärer DNS
fwd.itzgeek.local.db &1.168.192.db – Slave Forward &Reverse Lookup-Datei
Starten Sie den BIND-Dienst unter secondary.itzgeek.local
neusystemctl restart named
Fügen Sie eine Zulassungsregel in der Firewall hinzu, damit Clients eine Verbindung zum DNS-Server zur Namensauflösung herstellen können.
firewall-cmd --permanent --add-port=53/udp firewall-cmd --reload
Überprüfen Sie die Suche nach www.itzgeek.local mit secondary.itzgeek.local (192.168.1.20)
[root@client ~]# dig @192.168.1.20 www.itzgeek.local
Ausgabe:
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> @192.168.1.20 www.itzgeek.local ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5314 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.1.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS secondary.itzgeek.local. itzgeek.local. 604800 IN NS primary.itzgeek.local. ;; ADDITIONAL SECTION: primary.itzgeek.local. 604800 IN A 192.168.1.10 secondary.itzgeek.local. 604800 IN A 192.168.1.20 ;; Query time: 0 msec ;; SERVER: 192.168.1.20#53(192.168.1.20) ;; WHEN: Wed Jul 17 21:53:45 IST 2019 ;; MSG SIZE rcvd: 140
Aufzeichnungsaktualisierung
Wenn Sie einen DNS-Eintrag auf dem Masterserver ändern, vergessen Sie nicht, die Seriennummer in der Zonendatei zu ändern, und führen Sie den folgenden Befehl auf dem Masterserver aus, um die Zone neu zu laden.
Ändern Sie itzgeek.local &1.168.192.in-addr.arpa mit Ihren Zonennamen.
### Forward Zone ### rndc reload itzgeek.local ### Reverse Zone ### rndc reload 1.168.192.in-addr.arpa
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man einen Slave-DNS-Server unter CentOS 7 / RHEL 7 einrichtet.