DNS SERVFAIL 문제를 해결하려면 어떻게 해야 하나요?

6분 분량
0

Amazon Route 53에서 내 도메인을 확인할 때 “SERVFAIL” 응답을 받습니다.

해결 방법

문제: 타사 네임 서버(NS)가 AWS 퍼블릭 해석기의 IP 주소를 차단함

타사 NS가 퍼블릭 해석기의 IP 주소를 차단하면 퍼블릭 도메인에 대한 쿼리를 해결할 때 SERVFAIL 응답이 표시됩니다. 이것은 하나의 AWS 리전에서 문제를 해결하든, 여러 AWS 리전에서 문제를 해결하든 관계없이 발생합니다. 하지만 8.8.8.8 또는 1.1.1.1과 같은 일부 퍼블릭 DNS 해석기에 대해 동일한 DNS 쿼리를 해결하면 NOERROR 응답이 반환됩니다.

이 문제를 해결하려면 타사 DNS 공급자에게 문의하여 허용 목록을 생성하십시오. SERVFAIL 응답이 확인된 AWS 리전의 모든 AWS 퍼블릭 해석기 IP 주소 범위를 목록에 추가합니다.

문제: 퍼블릭 호스팅 영역에 잘못된 하위 도메인 위임이 구성되어 있습니다.

예제

퍼블릭 호스팅 영역 “example.com”에는 “aws.example.com”에 대한 하위 도메인 위임이 구성되어 있습니다. 하위 도메인 위임 구성은 해당 하위 도메인에 대한 권한이 없는 연결할 수 없거나 잘못된 네임 서버를 지정합니다.

도메인 “example.com”의 상위 퍼블릭 호스팅 영역

example.comNSns1.example.com, ns2.example.com, ns3.example.com, ns4.example.com
aws.example.comNSdummy-ns1.com, dummy-ns2.net, dummy-ns3.co.uk, dummy-ns4.org,

도메인 “aws.example.com”의 하위 도메인 호스팅 영역

aws.example.comNSns1-xxx.awsdns-xx.com, ns2-xxx.awsdns-xx.co.uk, ns3-xxx.awsdns-xx.net, ns4-xxx.awsdns-xx.org
aws.example.comA1.2.3.4

위의 오류를 해결하려면 상위 호스팅 영역 내의 네임 서버 레코드를 하위 도메인 호스팅 영역의 네임 서버와 일치하도록 구성합니다. 사용자 지정 네임 서버를 사용하는 경우 네임 서버에 연결할 수 있는지 확인하십시오.

문제: 도메인 대행업체에 잘못된 네임 서버가 나열되어 있음

도메인 대행업체에 잘못된 네임 서버가 등록되면 SERVFAIL 응답을 받는 두 가지 원인이 있습니다.

  • 도메인 대행업체에서 구성된 네임 서버가 퍼블릭 호스팅 영역에 제공된 네임 서버와 일치하지 않습니다.
  • 대행업체에 구성된 네임 서버가 존재하지만 해당 도메인에 대한 권한이 없습니다.

네임 서버가 존재하지 않는 경우 반복 쿼리를 시작한 후 해석기의 시간이 초과됩니다. 이러한 시간 초과로 인해 쿼리 시간이 크게 지연됩니다. 네임 서버가 응답을 제공할 수 없기 때문에 해석기는 SERVFAIL 응답을 반환합니다.

도메인의 퍼블릭 호스팅 영역

example.comNSns1.example.com, ns2.example.com, ns3.example.com, ns4.example.com

네임 서버는 다음 예와 같이 도메인 대행업체에서 구성됩니다.

whois example.com | grep "Name Server"
Name Server: ns1.test.com  
Name Server: ns2.test.com
Name Server: ns3.test.com  
Name Server: ns4.test.com

이 오류를 해결하려면 다음 작업 중 하나를 수행하십시오.

  • **화이트 레이블 네임 서버가 구현되지 않은 경우:**대행업체의 네임 서버를 퍼블릭 호스팅 영역에 할당된 네임 서버로 교체합니다.
  • **화이트 레이블 네임 서버가 구현된 경우:**대행업체의 네임 서버가 글루 레코드 및 퍼블릭 호스팅 영역의 화이트 레이블 네임 서버에 대한 A 레코드와 동일한지 확인하십시오.

문제: 프라이빗 호스팅 영역에 지원되지 않는 하위 도메인 위임이 구성되어 있습니다.

프라이빗 호스팅 영역에서 하위 도메인 위임이 잘못 구성된 경우 가상 Virtual Private Cloud(VPC) DNS 해석기가 SERVFAIL을 반환합니다.

프라이빗 호스팅 영역

servfail.localNSns-xxx.awsdns-xx.co.uk, ns-x.awsdns-xx.com, ns-xxx.awsdns-xx.org, ns-xxx.awsdns-xx.net.
sub.servfail.localNSns-xxx.awsdns-xx.net.

참고: AWS Management Console을 사용하여 프라이빗 호스팅 영역에 NS 레코드를 생성하여 하위 도메인에 대한 책임을 위임할 수는 없습니다. 대신 AWS Command Line Interface(AWS CLI)를 사용하십시오. Amazon Route 53는 프라이빗 호스팅 영역에서의 하위 도메인 위임을 지원하지 않는다는 점에 유의하십시오.

문제: DNSSEC가 잘못 구성됨

DNSSEC는 다음과 같은 잘못된 구성 중 하나 이상으로 이루어질 수 있습니다.

  • DNSSEC는 도메인 대행업체 수준에서 설정되며, DNS 호스팅 서비스 쪽에서는 설정되지 않습니다.
  • DNSSEC 서명은 도메인 대행업체 수준 및 DNS 호스팅 서비스 쪽에서 설정됩니다. 그러나 하나 이상의 필수 정보(예: 키 유형, 서명 알고리즘, 퍼블릭 키)가 일치하지 않습니다. 또는 DS 레코드가 올바르지 않습니다.
  • 부모 영역과 하위 영역 간의 신뢰 체인이 설정되지 않았습니다. 부모 영역의 DS 레코드가 자식 영역의 퍼블릭 KSK 해시와 일치하지 않습니다.

이 문제를 해결하려면 Route 53에서 DNSSEC 구성 문제를 식별하고 해결하려면 어떻게 해야 합니까?를 참조하십시오.

문제: Route 53 해석기 인바운드 및 아웃바운드 엔드포인트 체인이 잘못 구성됨

루프 상태의 DNS 트래픽이 이 문제를 유발합니다. 다음 패턴의 트래픽 흐름으로 인해 루프가 발생합니다.

EC2 인스턴스 - VPC DNS 해석기 - (전달 규칙 일치) - 아웃바운드 엔드포인트 - (인바운드 엔드포인트의 대상 IP 주소) - 인바운드 엔드포인트 - VPC DNS 해석기

이 문제를 해결하려면 해석기 엔드포인트를 사용한 루프 구성 방지를 참조하십시오.

문제: Route 53 해석기 아웃바운드 엔드포인트에 연결 문제가 있음

Route 53 해석기 아웃바운드 엔드포인트와 해석기 규칙 대상 IP 주소 간에 연결 문제가 있는 경우 AmazonProvidedDNS는 SERVFAIL을 반환합니다.

이 문제를 해결하려면 다음 단계를 완료합니다.

  • 아웃바운드 엔드포인트에서 생성한 탄력적 네트워크 인터페이스 VPC에서 대상 IP 주소로의 네트워크 연결을 확인합니다.
    1. 네트워크 액세스 제어 목록(네트워크 ACL)을 확인합니다.
    2. 포트 53을 통해 대상 IP 주소로의 TCP 및 UDP 트래픽을 허용하는 아웃바운드 엔드포인트 보안 그룹 송신 규칙이 있는지 확인하십시오.
    3. 대상 IP 주소 끝에 구성된 방화벽 규칙을 확인하십시오.
    4. 아웃바운드 엔드포인트 탄력적 네트워크 인터페이스와 대상 IP 주소 간의 라우팅을 확인합니다.
  • Route 53 해석기 아웃바운드 엔드포인트 탄력적 네트워크 인터페이스는 퍼블릭 IP 주소가 포함되지 않도록 설계되었습니다. 대상 DNS 서버가 퍼블릭 DNS인 경우(예: 8.8.8.8) NAT Gateway의 라우팅 테이블 항목이 있는 프라이빗 서브넷에 아웃바운드 엔드포인트가 생성되었는지 확인합니다.

문제: 부모 영역에 글루 레코드가 누락됨

예제

도메인 “example.com”의 퍼블릭 호스팅 영역에는 하위 도메인의 네임 서버를 가리키는 “glue.example.com”에 대한 하위 도메인 위임이 있습니다. 하지만 다음 예제와 같이 글루 레코드가 퍼블릭 호스팅 영역 “example.com”에 존재하지 않습니다.

도메인 “example.com”의 상위 퍼블릭 호스팅 영역

example.comNSns1.example.com, ns2.example.com, ns3.example.com, ns4.example.com
glue.example.comNSns1.glue.example.com, ns2.glue.example.com, ns3.glue.example.com, ns4.glue.example.com

도메인 “glue.example.com”에 대한 하위 도메인 퍼블릭 호스팅 영역

glue.example.comNSns1.glue.example.com, ns2.glue.example.com, ns3.glue.example.com, ns4.glue.example.com
glue.example.comA1.2.3.4
ns1.glue.example.comA3.3.3.3
ns2.glue.example.comA4.4.4.4
ns3.glue.example.comA5.5.5.5
ns4.glue.example.comA6.6.6.6

이 문제를 해결하려면 상위 도메인 호스팅 영역에서 하위 도메인 “glue.example.com”에 대한 글루 레코드를 생성하십시오.

도메인 “example.com”의 상위 퍼블릭 호스팅 영역

example.comNSns1.example.com, ns2.example.com, ns3.example.com, ns4.example.com
glue.example.comNSns1.glue.example.com, ns2.glue.example.com, ns3.glue.example.com, ns4.glue.example.com
glue.example.comA1.2.3.4
ns1.glue.example.comA3.3.3.3
ns2.glue.example.comA4.4.4.4
ns3.glue.example.comA5.5.5.5
ns4.glue.example.comA6.6.6.6

문제: max-recursion-depth를 초과함

쿼리 도메인이 9보다 큰 깊이로 응답하면 max-recursion-depth가 초과됩니다. 응답은 8개 이하의 CNAME 레코드와 최종 A/AAAA 레코드로 구성된 체인이어야 합니다.

이 문제를 해결하려면 응답의 CNAME 레코드 수를 줄이십시오. 루프를 방지하기 위해 Route 53 해석기는 최대 깊이 9(CNAME 체인 8개와 A/AAAA 레코드 1개)를 지원합니다.

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음