
Wir sind neu bei DNS. Wir versuchen, mit Bind & CentOS einen sekundären DNS-Server für einen vorhandenen primären Server zu konfigurieren (z. B. 142.250.192.110).
Unsere sekundäre Serverkonfiguration ist wie folgt:
listen-on port 53 { 127.0.0.1; any; };
listen-on-v6 port 53 { ::1; any; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
zone "example.com" IN {
type slave;
masters { 142.250.192.110; };
file "slaves/example.forward";
};
zone "192.250.142.in-addr.arpa" IN {
type slave;
masters { 142.250.192.110; };
file "slaves/example.reverse";
};
Bei der Ausführung dig @127.0.0.1 host1.example.com
erhalten wir eine ordnungsgemäße Antwort. Bei der Ausführung mit lokaler IP (Sekundärserver) dig @192.168.1.10 host1.example.com
erhalten wir eine ordnungsgemäße Antwort.
Aber wenn wir den Befehl mit der öffentlichen IP / dem Hostnamen eines sekundären Servers ausführen, z. B.: dig @dns2.example.com host1.example.com
erhalten wir Fehler wie;; connection timed out; no servers could be reached
Bitte schlagen Sie Hilfe zur Lösung dieses Problems vor. Vielen Dank im Voraus für Ihre wertvolle Zeit und Hilfe.
Einige Informationen und Details zur Fehlerbehebung (IP und Hostname sind nicht original):
Primärer DNS: 142.250.192.110 (dns1.example.com)
Sekundärer DNS: 192.168.1.10 (lokale IP), 142.250.192.220 (dns2.example.com)
nslookup dns2.example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: dns2.example.com
Address: 142.250.192.220
dig @127.0.0.1 host1.example.com
- Erfolg
dig @192.168.1.10 host1.example.com
- Erfolg
dig @142.250.192.220 host1.example.com
- Fehlgeschlagen.
dig @dns2.example.com host1.example.com
- Fehlgeschlagen.
tcpdumpzeigt Paketübertragung, mit dig @127.0.0.1
und dig @192.168.1.10
. Aber zeigtKEINE Paketübertragung, mit dig @142.250.192.220
und dig @dns2.example.com
.
Um zu prüfen, ob die Firewall Port 53 blockiert, haben wir den Port mit tcpdump getestet und tcpdump zeigt Paketübertragungen an, wenntelnet 142.250.192.220 53
Notiz:Wir haben eine Firewall, die lokale IPs mit öffentlichen IPs NATt. Wir warten auf die Antwort des Netzwerkteams, ob die Firewall diese Dig-Anfrage blockiert.
Antwort1
Überprüfen Sie immer die Protokolle auf beiden Servern. Stellen Sie sicher, dass der Slave die Zone abrufen konnte. Ein Schritt besteht darin, die Übertragung manuell dig @192.168.1.10 axfr example.com
vom Slave aus durchzuführen, wobei @192.168.1.10
sich der Master in der Slave-Konfiguration befindet.
allow-transfer { };
könnte auf dem Master erforderlich sein, damit der Slave die Zone abrufen kann. Auch dies steht alles in den Protokollen.
Überprüfen Sie immer zuerst den lokalen Zugriff. Überprüfen Sie mit netstat -anp, ob der Server richtig zuhört, und überprüfen Sie erneut die Protokolle. Versuchen Sie als letzten Ausweg tcpdump, um zu sehen, welche Pakete wohin gehen und ob es eine Antwort gibt.