지난 며칠 동안 등록 기관의 DNS 레코드를 내 DNS 서버에 연결했지만 DNS가 전파되지 않는 이상한 상황에 직면했습니다. 나는 이전에 이 작업을 성공적으로 수행했지만 지금까지는 이것이 나에게 사소한 것처럼 보였습니다. 그래서 도메인이 2일 이상 확산되었을 때 등록 담당자와 대결하기로 결정했고 그가 저를 지적했습니다.http://leafdns.com조항은 다음과 같습니다:
ns1.mydomain.com - 이름 서버는 mydomain.com에 대해 권한이 없습니다. ns2.mydomain.com - 이름 서버는 mydomain.com에 대해 권한이 없습니다. 상위 이름 서버 나열된 이름 서버 중 도메인 성별 및 권한에 대한 응답이 없습니다. 이 오류는 치명적이며 도메인을 확인할 수 없습니다.
왜 이런 일이 일어나는지 혼란스러워서 다음과 같은 다른 서비스를 방문했습니다.https://viewdns.info/dnsreport/이것은 다음과 같이 명시되어 있습니다.
모든 네임서버가 응답하는지 확인하세요. 이런! 상위 서버에 나열된 다음 이름 서버가 DNS 요청에 응답하지 않습니다: ns1.mydomain.com ns2.mydomain.com
네임서버는 TCP 연결을 허용합니다: 이런! 포트 53에서 TCP를 사용하여 다음 이름 서버에 연결할 수 없습니다: ns1.mydomain.com ns2.mydomain.com
방화벽에 문제가 있다고 생각하기 시작해서 어제부터 모든 트래픽을 허용할 때까지 방화벽을 만지작거렸지만 위 보고서에서 아무 것도 변경되지 않았다는 것을 알게 되었습니다! 무슨 일이에요? 이제 남은 것은 BIND뿐입니다. BIND에 문제가 있는 것 같습니다. 우리는 왜 의사소통을 할 수 없나요? 이전에 syslog를 잠깐 살펴보았는데 오류가 발견되지 않았습니다.
그래서 BIND 상태를 확인하고 재부팅하여 다시 상태를 확인했습니다. 집에 쓸 내용이 없습니다.
답변1
그래서 syslog를 지우고 BIND를 다시 시작하기로 결정했습니다.시스템 로그를 한 줄씩 확인해보니 다음과 같은 내용이 눈길을 끌었습니다.
/var/lib/bind/mydomain.com.hosts:20: unknown RR type 'mydomain.com.'
zone mydomain.com/IN: loading from master file /var/lib/bind/mydomain.com.hosts failed: unknown class/type
zone mydomain.com/IN: not loaded due to errors.
all zones loaded
/var/lib/bind/mydomain.com.hosts를 열었는데, 확실히 20행에 BIND가 내 ns1 영역을 로드하지 못하게 하는 문제가 있었습니다.
mydomain.com. IN CAA 0 issue "letsencrypt.org" mydomain.com. IN CAA 0 issuewild ";"
이 라인을 제거하면 모든 문제가 해결되었고 영역이 로드되었으며 BIND는 동료들과 다시 대화를 시작했습니다.
그 이유는 이 줄이 잘못 정의되었기 때문입니다.
이 줄은 다음과 같이 2개의 별도 줄로 정의되어야 합니다.
mydomain.com. IN CAA 0 issue "letsencrypt.org" mydomain.com. IN CAA 0 issuewild ";"
이것이 다른 사람들에게 도움이 되기를 바랍니다.
고쳐 쓰다:추가 조사를 통해 이 버그 보고서에 설명된 대로 Virtualmin의 버그로 인해 이것이 발생했다는 사실을 발견했습니다.https://www.virtualmin.com/node/66527.
Virtualmin>시스템 설정>서버 템플릿>기본 설정>BIND DNS 도메인>새 도메인에 대한 BIND DNS 레코드에서 두 줄 이상을 지정하면 새 도메인을 생성할 때마다 이 줄이 한 줄로 병합됩니다. 이것이 문제의 근본 원인입니다.