Route 53 규칙 및 아웃바운드 엔드포인트에서 역방향 DNS 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 7월 16일

Amazon Route 53 해석기 규칙 및 아웃바운드 엔드포인트를 설정했습니다. 이러한 규칙 및 엔드포인트는 온프레미스 DNS 서버에서 Virtual Private Cloud(VPC)의 역방향 DNS를 관리하기 위해 구성되었습니다. 하지만 의도한 대로 작동하지 않습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

역방향 DNS 조회를 사용하여 IP 주소의 도메인 이름을 반환할 수 있습니다. 역방향 DNS 레코드의 형식은 네임스페이스 "in-addr.arpa" 형식을 따릅니다. 여기서, 하위 도메인은 IP 주소 8진수를 역순으로 표시됩니다. 레코드 유형은 포인터(PTR)입니다.

예를 들어, CIDR 범위가 172.31.0.0/16인 Virtual Private Cloud(VPC)가 있다고 가정합니다. VPC에는 IP 주소가 172.31.2.23인 인스턴스가 있습니다. 이 VPC의 역방향 영역은 31.172.in-addr.arpa입니다. 이 인스턴스의 IP 주소에 대한 역방향 레코드는 23.2.31.172.in-addr.arpa입니다.

dig 또는 nslookup을 실행하여 DNS 응답을 확인할 수 있습니다. 이러한 도구를 사용하면 IP 주소를 직접 테스트하고 사용자를 대신하여 역방향 조회를 수행할 수 있습니다. 다음 출력 예제에서는 쿼리가 IP 주소 172.31.2.23으로 직접 전송됩니다. dig 및 nslookup 모두 23.2.31.172.in-addr.arpa 이름에 대해 해석을 수행합니다.

dig와 함께 -x 파라미터를 사용하여 역방향 DNS 해석을 수행할 수 있습니다. 이 파라미터를 사용하면 dig가 자동으로 이름, 클래스 및 유형 인수를 추가합니다. dig가 올바른 이름(23.2.31.172.in-addr.arpa), 클래스(IN) 및 레코드 유형(PTR)을 자동으로 쿼리하는지 확인하려면 QUESTION 섹션을 참조하십시오.

dig -x 172.31.2.23:

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> -x 172.31.2.23
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58812
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; 
OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;23.2.31.172.in-addr.arpa.    IN    PTR

;; 
ANSWER SECTION:
23.2.31.172.in-addr.arpa. 60    IN    PTR    testresolution.com.

IP 주소에서 nslookup은 역방향 조회를 수행합니다.

nslookup 172.31.2.23
23.2.31.172.in-addr.arpa    name = testresolution.com.

​해결 방법

쿼리 흐름 이해

VPC 및 아웃바운드 엔드포인트에서 해석기 규칙을 사용할 때 쿼리 흐름을 이해하는 것이 중요합니다. 흐름을 이해하면 잠재적 문제가 발생할 수 있는 위치를 식별하고 문제 해결 방법을 안내할 수 있습니다. 흐름은 다음과 같습니다.

  1. VPC의 클라이언트가 동일한 VPC 내 주소에 대해 역방향 DNS 해석을 수행합니다.
  2. 쿼리가 VPC DNS 해석기(VPC CIDR 범위 + 2)에 도착합니다.
  3. 쿼리는 VPC의 해석기 규칙과 일치합니다.
  4. 쿼리는 아웃바운드 엔드포인트에서 VPN 또는 AWS Direct Connect 연결을 통해 대상 IP 주소로 전송됩니다.
    참고: 대상 IP 주소는 VPC의 CIDR 범위에 대한 역방향 DNS를 관리하는 온프레미스 DNS 서버입니다.

예상 및 실제 DNS 응답 식별

dig 및 nslookup을 사용하여 온프레미스 DNS 서버의 IP 주소로 직접 쿼리를 수행합니다. 이러한 도구는 올바른 레코드 이름을 확인하려고 시도합니다. 반환된 실제 DNS 응답 코드를 기록해 두십시오. 예상치 못한 응답 코드가 반환되어도 규칙 또는 엔드포인트 구성에 문제가 있음을 나타내지 않을 수 있습니다. 예:

  • NXDOMAIN은 예상치 못한 응답이지만, 유효한 DNS 응답일 수 있습니다. 이 응답은 쿼리되는 서버에 요청된 레코드가 없음을 나타냅니다.
  • SERVFIL은 쿼리 경로에 제한 시간 초과 또는 기타 문제가 있음을 나타냅니다. 이 응답이 반환되면 이 문서에서 나중에 설명하는 대로, 추가 조사가 요구됩니다.
  • ANSWER SECTION이라는 예상치 못한 응답은 다른 규칙이 사용되었음을 나타낼 수 있습니다.

쿼리가 VPC DNS 해석기에 도착하는지 확인

쿼리를 VPC의 규칙과 일치시키려면 쿼리가 VPC DNS 해석기에 도착해야 합니다. VPC 설정에서 [DNS 지원(DNS Support)]이 활성화되었는지 확인합니다.

해석기 IP 주소를 확인하려면 dig 및 nslookup의 서버 필드를 참조하십시오.

dig:

;; SERVER: 172.31.0.2#53(172.31.0.2)

nslookup:

Server:		172.31.0.2

일치하는 가장 구체적인 규칙 찾기

쿼리가 VPC DNS 해석기에 도착하면 해당 VPC의 규칙과 일치시켜야 합니다. 규칙을 평가할 때 가장 구체적인 규칙과 일치시킵니다. 내부적으로 소스 및 연결된 VPC의 모든 IP 주소에 대한 모든 역방향 조회를 포함하도록 규칙이 생성됩니다. 이러한 규칙은 AWS Management Console에 표시되지 않습니다. 이러한 규칙을 자동 정의된 규칙이라고 하며, 이 규칙은 Route 53 해석기에서 생성됩니다.

  1. VPC 및 연결된 VPC에서 자동 정의된 규칙을 식별합니다. 전송 게이트웨이를 통해 연결된 피어링된 VPC 또는 VPC가 있는 경우(DNS 지원(DNS support)이 활성화된 경우), 연결된 각 CIDR의 역방향 해석에 대해 생성된 모든 규칙을 기록합니다.
    참고: DNS 호스트 이름이 true로 설정되면 해석기는 이러한 자동 정의된 규칙을 생성합니다. 자동 정의된 규칙을 재정의하려는 경우 동일한 도메인 이름에 대해 조건부 전달 규칙을 생성할 수 있습니다.
  2. DNSSupport 및 DNSHostnames가 활성화된 경우 VPC에 연결된 프라이빗 호스팅 영역을 기록합니다.
    참고: 해석기 전달자 규칙과 프라이빗 호스팅 영역이 중첩되는 경우 해석기 규칙이 우선합니다. 그런 다음, 쿼리가 온프레미스 서버로 전달됩니다.
  3. 쿼리에 대해 규칙 및 연결된 프라이빗 호스팅 영역의 목록을 비교하여 선택된 규칙과 쿼리 이동 위치를 확인합니다.

아웃바운드 엔드포인트 문제 해결

  • 규칙에 지정된 대상 IP 주소로 쿼리를 전송하도록 아웃바운드 엔드포인트가 구성되었는지 확인합니다.
  • 아웃바운드 엔드포인트에서 사용하는 보안 그룹이 온프레미스 DNS 서버의 IP 주소 및 포트로 아웃바운드 TCP 및 UDP 트래픽을 허용하는지 확인합니다.
  • ACL(액세스 제어 목록)이 온프레미스 DNS 서버의 IP 주소 및 포트로 TCP 및 UDP 트래픽을 허용하는지 확인합니다. 또한 ACL은 휘발성 포트(1024 - 65535)로의 트래픽도 허용해야 합니다.
  • 온프레미스 서버의 IP 주소가 VPN 또는 Direct Connect 연결로 이어진 경로가 아웃바운드 엔드포인트의 라우팅 테이블에 있는지 확인합니다.

아웃바운드 엔드포인트가 라우팅 테이블에 지정된 연결을 통해 쿼리를 전송할 수 있는지 확인

온프레미스 DNS 해석기의 IP 주소로 직접 dig 또는 nslookup을 실행하여 VPN 또는 Direct Connect 연결이 통신을 허용하는지 확인할 수 있습니다. 또한 ICMP(Internet Control Message Protocol)에서 연결 문제를 제외할 수 있도록 온프레미스 호스트로 ping을 전송할 수도 있습니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?