Ich suche nach einer Beispielkonfiguration, in der CoreDNS den CNAME-Eintrag aus der Datei (Datei-Plugin) liest und ihn dann mit einem benutzerdefinierten Resolver (Forward-Plugin?) auflöst. Ein Client sollte keinen CNAME-Eintrag, sondern nur A-Einträge erhalten.
Zum Beispiel:
- wenn der Client den CoreDNS auffordert
test.r1.svc
- dann erhält das CoreDNS den
CNAME
Datensatztest IN CNAME test.r2.svc.
- dann fragen Sie den ausländischen Resolver
10.11.12.13:53
nachtest.r2.svc
- und Antwort an den Kunden mit den
A
Aufzeichnungen
Ist es möglich?
Diese Konfiguration funktioniert bei mir nicht:
Corefile
# root
. {
log
errors
}
r1.svc {
file r1.svc
forward r2.svc 10.11.12.13:53
log
errors
}
r1.svc
Datei
$ORIGIN r1.svc.
@ 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
202211241713 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
1209600 ; expire (2 weeks)
3600 ; minimum (1 hour)
)
3600 IN NS a.iana-servers.net.
3600 IN NS b.iana-servers.net.
test IN CNAME test.r2.svc.
Antwort1
Ich könnte mich irren, aber es forward r2.svc 10.11.12.13:53
befindet sich im r1.svc
Block und wird daher nie aufgerufen.
Client asks for test.r1.svc
Server responds that it's a CNAME for test.r2.svc
Client asks for test.r2.svc
Server doesn't know how to process the answer
Durch das Verschieben der forward r2.svc 10.11.12.13:53
Zeile in den .
Block sollte die Verarbeitung der zweiten Anforderung möglich sein.
Antwort2
Ich habe dazu ein Plugin für CoreDNS geschrieben:https://github.com/kinjelom/coredns-recursor