Rekursiver DNS-Server antwortet mit CNAME, gibt jedoch den A-Datensatz nicht zurück

779
ryans11

Ich habe einen rekursiven DNS-Server, der an meine primären DNS-Server weiterleitet, um eine Auflösung zu erhalten.

Nimm das Beispiel

Ich habe den folgenden CNAME:

server1.example1.com. 300 IN CNAME server1.example2.com 

Und das relevante A:

server1.example2.com IN A X.X.X.X 

Das Problem, mit dem ich konfrontiert bin, ist, dass der rekursive Server nur den CNAME-Datensatz zurückgibt, wenn ich ein A durchführe, digund nicht für den A-Datensatz antwortet. Ich habe durch einen TCP-Dump überprüft, dass die Primärdateien die CNAME & A-Datensätze definitiv an den rekursiven digServer zurückgeben, jedoch nicht wieder an den Befehl oder an einen Client, der auf diesen Server zeigt. Ich habe andere rekursive Nameserver und es funktioniert gut. Beachten Sie jedoch, dass dies nur für domänenübergreifende CNAMES der Fall ist

 bash-4.1# dig @recurisveserver server1.example1.com.   ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> @recurisveserver server1.example1.com. ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49412 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0  ;; QUESTION SECTION: ;server1.example1.com. IN A  ;; ANSWER SECTION: server1.example1.com. 300 IN CNAME server1.example2.com.  ;; Query time: 0 msec ;; SERVER: 10.73.241.88#53(10.73.241.88) ;; WHEN: Mon Mar 5 15:52:31 2018 ;; MSG SIZE rcvd: 76 

Nslookup gibt eine leere Antwort

 > server1.example1.com Server: recursiveserver Address: x.x.x.x  Name: server1.example1.com 
1
[Verschleiern Sie nicht, was Sie sowieso für die Welt veröffentlichen] (http://jdebp.eu./FGA/dont-obscure-your-dns-data.html). Die Leute können es nicht selbst herausfinden und Ihnen sagen, was passiert. Sie müssen den Benutzern auch mitteilen, was die Proxy-DNS-Serversoftware ist, die sich auf diese Weise verhält und wie Sie sie eingerichtet haben. Hierfür gibt es mögliche Erklärungen, aber in der Frage gibt es nicht annähernd genügend Informationen, um festzustellen, dass sie die richtigen Antworten für die vorliegende Situation sind. JdeBP vor 6 Jahren 0
Sie müssen auch die IP-Adresse angeben. Unter https://unix.stackexchange.com/questions/417101/ finden Sie nur ein Beispiel für eine Frage, die die wichtige, ungepflegte korrekte IP-Adresse enthält, die sich als der Schlüssel zur Antwort herausstellte. JdeBP vor 6 Jahren 0
"Proxy-DNS-Server" gilt nicht - das OP verwendet BIND für autorisierende und rekursive DNS. davidgo vor 6 Jahren 0
[Auflösungs-Proxy-DNS-Server _ist_ Proxy-DNS-Dienst] (http://jdebp.eu./FGA/dns-server-roles.html). JdeBP vor 6 Jahren 0

1 Antwort auf die Frage

-1
davidgo

Das alles sieht für mich richtig aus. Ein CNAME verweist auf einen anderen Domänennamen. Der Client muss jedoch eine zweite Suche durchführen, um den zurückgegebenen CNAME in einen A-Datensatz zu konvertieren. Daher würden Sie nicht erwarten, dass dig oder nslookup eine IP-Adresse zurückgibt.

Danke David, also wenn ich mit dem gleichen Befehl grabe, ist das einzige, was anders ist, dass ich im digging @working rekursiven Server die richtige Antwort mit cname und A record `zurückbekomme. FRAGE ABSCHNITT:; server1.example1.com. IN EINEM ;; ANTWORTEN ABSCHNITT: server1.example1.com. 592 IN CNAME server1.example2.com. server1.example2.com. 1200 IN A 10.xxx .......... Auch nslookup auf dem Client gibt den Datensatz zurück und die Auflösung funktioniert einwandfrei. Ich glaube, es sollte den A-Datensatz an den Kunden zurückgeben. Vielen Dank für die Hilfe ryans11 vor 6 Jahren 0
Der erste krasse Hinweis darauf, dass diese Antwort falsch ist, besteht darin, dass sie zunächst über URLs spricht. DNS funktioniert nicht in Bezug auf URLs, und ein auflösender Proxy-DNS-Server sollte wie der Fragesteller alle erforderlichen Back-End-Abfragen ausführen, um eine vollständige Antwort für das Front-End zu erstellen. Von Client-Bibliotheken wird _not_ nicht erwartet, dass sie mehrere Front-End-Abfragen ausführen. JdeBP vor 6 Jahren 1
@JdeBP Vielen Dank, dass Sie eine Antwort gewählt haben, die richtig ist, wenn Sie die URL für den Domainnamen angeben. Ich werde sie ändern. Bitte lesen Sie auch die Antwort von ryans11 sorgfältig - er bestätigt, dass meine Antwort richtig war und half ihm! davidgo vor 6 Jahren 0
@JdeBP - RFC1035 - Abschnitt 3.3.1-Status "CNAME-RRs verursachen keine zusätzliche Abschnittsverarbeitung, aber Nameserver können in bestimmten Fällen die Abfrage unter dem kanonischen Namen erneut starten. Siehe Beschreibung der Nameserver-Logik in [RFC-1034] Einzelheiten." davidgo vor 6 Jahren 0
@JdeBP Weiterhin wird in Abschnitt 7.2 von RFC1035 angegeben: "Der Resolver enthält in der Regel nur sehr starke Hinweise, welche Server in Form von NS-RRs abgefragt werden müssen, und muss möglicherweise die Abfrage als Antwort auf CNAMEs oder den Namenssatz überprüfen Server, die der Resolver abfragt, als Antwort auf Delegierungsantworten, die darauf hinweisen, dass der Resolver Server näher an den gewünschten Informationen benennt. davidgo vor 6 Jahren 0
Sie verstehen einfach nicht, wie DNS-Server funktionieren. Leider helfen Ihnen die RFCs nicht, da sie leicht missverstanden werden können, so wie Sie sie hier missverstanden haben. Dieser Teil von RFC1035 beschreibt das Verhalten eines _content_-Servers und nicht eines Servers, der die Aufgabe der Abfrageauflösung ausführt. Der Jargon _name Server_ in diesen RFCs hat eine ganz besondere Bedeutung und ist nicht so, wie Sie denken. JdeBP vor 6 Jahren 0
@JdeBP - Der Klarheit halber wird in Abschnitt 2.1 bestätigt, dass der Resolver für das Endbenutzergerät lokal ist. "Aus Sicht des Benutzers sind Domänennamen als Argumente für einen lokalen Agenten, der als Resolver bezeichnet wird, nützlich Domainname. " davidgo vor 6 Jahren 0
@JdeBP - Natürlich nicht - Ich bin seit über 20 Jahren nur ein DNS-Administrator für ISPs und kümmere mich sowohl um autoritatives als auch um rekursives DNS. Ich habe nur Erfahrung mit BIND (einschließlich Split-DNS, rekursiv, nur autorisierend), ProDNS, PureDNS davidgo vor 6 Jahren 0
Warum um alles in der Welt geht man dann auf Müll, wenn Kunden zweite Nachforschungen anstellen, wenn Sie es besser wissen müssen? JdeBP vor 6 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (https://chat.stackexchange.com/rooms/74117/discussion-between-davidgo-and-jdebp). davidgo vor 6 Jahren 0
@JdeBP Ich weiß es nicht besser. Was bedeutet Ihrer Meinung nach RFC1035, wenn in Abschnitt 7.2 Resolver aufgefordert werden, die Abfrage zu überarbeiten oder die Menge der von ihnen gewünschten Nameserver zu überarbeiten? In RFC 1035 wird der Begriff "Content Server" nicht verwendet - Abschnitt 7 trägt den Titel "RESOLVER IMPLEMENTATION". Daher ist es schwer zu glauben, dass er sich auf Inhalte und nicht auf Resolver bezieht. davidgo vor 6 Jahren 0