Bis gestern hatte ich einen dedizierten Server mit 2 IPs und Plesk. NS und NS2 laufen auf demselben Server, ich verwende Plesk, um die Domänendatensätze hinzuzufügen. Alles hat wunderbar funktioniert.
Gestern musste ich einen weiteren Server kaufen, also beschloss ich, ihn auch als DNS-Server zu verwenden, aber ohne Plesk. Ich installierte bind9 (https://help.ubuntu.com/community/BIND9ServerHowto#Secondary_Master_Server_configuration) und ich habe die folgenden Zeilen zu named.local.conf hinzugefügt:
zone "my-domain" {
type slave;
file "/var/cache/bind/db.my-domain.com";
masters { MY_SERVER_IP; };
};
Andere Einstellungen habe ich nicht geändert. Auf der oben genannten Website habe ich eine andere Änderung in der conf-Datei gesehen, aber ehrlich gesagt weiß ich nicht, was das ist, und ich habe sie nicht hinzugefügt:
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters { @ip_master; };
};
Auf dem (A) Server: In Plesk, Tools & Einstellungen -> DNS-Vorlageneinstellungen >> Vorlage für Übertragungsbeschränkungen, habe ich die IP meines (B) Servers zur Liste der zugelassenen Server hinzugefügt.
Nachdem ich den Bind neu gestartet habe, sieht alles gut aus ((B) Syslog:
zone my-domain.com/IN: Transfer started.
transfer of 'my-domain.com/IN' from MY-SERVER-IP#53: connected using 192.96.206.50#49370
zone my-domain.com/IN: transferred serial 1425047310
transfer of 'my-domain.com/IN' from MY-SERVER-IP#53: Transfer completed: 1 messages, 14 records, 417 bytes, 0.094 secs (4436 bytes/sec)
zone my-domain.com/IN: sending notifies (serial 1425047310)
Für meine Domänen habe ich die Server aktualisiert:
- ns.a-server.com (Server A – Plesk)
- ns2.a-server.com (Server A – Plesk)
- ns3.b-server.com (Server B)
Das Ergebnis @ns3.b-server.com my-domain.com
sieht gut aus.
Ich hatte die Konfiguration anderer Anwendungen auf dem Server noch nicht abgeschlossen und beschloss, ihn für eine Nacht abzuschalten. Am Morgen war ich überrascht, als ich versuchte, my-domain.com anzupingen:
ping: cannot resolve my-domain.com: Unknown host
Soweit ich weiß, versucht der Client, die IP des Servers vom Master-DNS-Server zu erhalten. Wenn dieser nicht erreichbar ist, versucht er es beim Slave-Server. In dieser Situation habe ich den Slave-Server ausgeschaltet. Wo liegt also das Problem/die Fehlkonfiguration?
Soll ich ns2.a-server.com entfernen oder ist das egal?
Antwort1
Es ist nicht klar, wo Sie das ausführen ping
. Aber Ihre Annahme, dass
Der Client versucht, die IP des Servers vom Master-DNS-Server abzurufen.
ist schlichtweg falsch. Der DNS-Client kontaktiert die Server von /etc/resolv.conf und nur diese Server. Der Server entscheidet sich, nur auf eine der folgenden Arten zu antworten:
- Wenn es sich
master
um eine Domäne handelt, antwortet es basierend auf seinen eigenen Zonendateien (seiner eigenen lokalen Festplatte und sonst nichts); die Antwort ist maßgebend und beendet die Verarbeitung - Wenn es sich
slave
um eine Domäne handelt, antwortet es basierend auf seinen eigenen Zonendateien (seiner eigenen lokalen Festplatte und sonst nichts); die Antwort ist maßgebend und beendet die Verarbeitung - Wenn dies nicht der Fall ist, leitet es die Anfrage an weiter
forwarders
; es beendet die Verarbeitung - wenn nicht
master
, nichtslave
und nichtforwarders
konfiguriert, versucht der Server die Anfrage selbst aufzulösen, indem er den DNS im gesamten Internet abfragt (rekursive Abfrage – für abccom. versucht er, "." dann "com." dann "c.com." dann "bccom." dann "abccom." aufzulösen, indem er verschiedene Server abfragt, wie durch verschiedene NS-Einträge angegeben); die Antwort kann vom Server zwischengespeichert werden, sie ist nicht maßgebend und beendet die Verarbeitung
In Ihrem Fall slave
könnte Ihre eigene Zonendatei aufgrund einer Zeitüberschreitung nicht mehr funktionieren und Sie können aus irgendeinem Grund keine neue Zonendatei abrufen master
. Dies ist nur eine der möglichen Ursachen.