CoreDNS가 파일(파일 플러그인)에서 CNAME 레코드를 읽은 다음 사용자 지정 확인자(포워드 플러그인?)를 사용하여 이를 해결하는 예제 구성을 찾고 있습니다. 클라이언트는 CNAME 레코드를 가져오지 않고 A 레코드만 가져와야 합니다.
예를 들어:
- 클라이언트가 CoreDNS에 요청하는 경우
test.r1.svc
- 그런 다음 CoreDNS가
CNAME
기록을 얻습니다.test IN CNAME test.r2.svc.
- 그런 다음 외국 해결사
10.11.12.13:53
에게 요청하십시오.test.r2.svc
A
그리고 기록 으로 클라이언트에게 응답
가능합니까?
이 구성은 나에게 적합하지 않습니다.
Corefile
# root
. {
log
errors
}
r1.svc {
file r1.svc
forward r2.svc 10.11.12.13:53
log
errors
}
r1.svc
파일
$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.
답변1
내가 틀렸을 수도 있지만 블록 forward r2.svc 10.11.12.13:53
에 있으므로 r1.svc
호출되지 않습니다.
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
forward r2.svc 10.11.12.13:53
라인을 블록으로 이동하면 .
두 번째 요청을 처리할 수 있습니다.
답변2
이를 위해 CoreDNS용 플러그인을 작성했습니다.https://github.com/kinjelom/coredns-recursor