
아마도 평범한 질문일지도 모르지만 나는 이것에 몇 달 동안 시간을 낭비했습니다. 다른 로그/출력/설명/등이 필요한 경우 그냥 물어봐 :)
미리 감사드립니다!
내가 필요한 것
- 영역은
local.example.com
로컬 서버에 의해 관리됩니다.10.20.0.9
- 로컬 서버(10.20.0.0/24)는 네트워크 내에서만 액세스할 수 있습니다.하지만
- 호스트 이름은
xxx.local.example.com
인터넷을 통해 전 세계적으로 확인할 수 있습니다.
내가 지금까지 가지고 있는 것
다음과 같이 CloudFlare를 DNS 공급자로 사용하고 있습니다.이 가이드, 다음을 설정했습니다.
- CloudFlare의 기록:
ns.example.com A 10.20.0.9 (local DNS server) loc.example.com NS ns.example.com (delegation to local DNS)
- 내 로컬 DNS 서버에 파일을 기록합니다(
10.20.0.9
bind9 사용).loc.example.com. IN SOA ns.example.com. hostmaster.example.com. ( 1628517915 3600 600 24H 3600 ) s1.loc.example.com. IN A 10.20.0.9
내 문제
CloudFlare가 NS 조회 요청에 예상대로 loc.example.com
응답 하지 않습니다. ns.example.com
대신 "서버 오류"로 인해 요청이 실패합니다(마지막 CLI 로그 참조).
CLI 출력
dig ns.example.com
; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> ns.example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10036 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ;; QUESTION SECTION: ;ns.example.com. IN A ;; ANSWER SECTION: ns.example.com. 300 IN A 10.20.0.9 ;; Query time: 111 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) ;; WHEN: Mon Aug 09 16:42:06 CEST 2021 ;; MSG SIZE rcvd: 66
따라서 이름 서버는 로컬 IP로 확인됩니다. 좋습니다!
dig @10.20.0.9 NS loc.example.com
; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> @10.20.0.9 NS loc.example.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47653 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 7fa7e218d1c20f1e113b236e61113fb96c1b101d374cbde7 (good) ;; QUESTION SECTION: ;loc.example.com. IN NS ;; ANSWER SECTION: loc.example.com. 3600 IN NS ns.example.com. ;; Query time: 1 msec ;; SERVER: 10.20.0.9#53(10.20.0.9) ;; WHEN: Mon Aug 09 16:46:17 CEST 2021 ;; MSG SIZE rcvd: 96
로컬 DNS 서버는 하위 도메인을 담당한다는 것을 알고 있습니다.
dig @10.20.0.9 s1.loc.example.com
; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> @10.20.0.9 s1.loc.example.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38039 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 7790b2d359140e5f04be8596611140927c7321fefc1fbbe9 (good) ;; QUESTION SECTION: ;s1.loc.example.com. IN A ;; ANSWER SECTION: s1.loc.example.com. 3600 IN A 10.20.0.1 ;; AUTHORITY SECTION: loc.example.com. 3600 IN NS ns.example.com. ;; Query time: 1 msec ;; SERVER: 10.20.0.9#53(10.20.0.9) ;; WHEN: Mon Aug 09 16:49:54 CEST 2021 ;; MSG SIZE rcvd: 119
따라서 로컬 DNS는 로컬 호스트를 확인할 수 있습니다.
dig @1.1.1.1 NS loc.example.com
; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> @1.1.1.1 NS loc.example.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 33748 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; OPT=15: 00 16 ("..") ;; QUESTION SECTION: ;loc.example.com. IN NS ;; Query time: 12 msec ;; SERVER: 1.1.1.1#53(1.1.1.1) ;; WHEN: Mon Aug 09 16:51:45 CEST 2021 ;; MSG SIZE rcvd: 57
여기에 문제가 있습니다.CloudFlare는 NS 레코드 요청에 응답하지 않습니다. 왜:오?