| 구분 | 키 | 값 |
|---|---|---|
| A 레코드 | example.com |
171.93.85.34 |
| PTR 레코드 | 34.85.93.171.in-addr.arpa |
example.com |
PTR 레코드는 DNS의 역방향 조회(Reverse DNS) 를 위한 레코드임. 일반적인 DNS 조회가 도메인 이름 -> IP 주소 방향이라면, PTR 레코드는 IP 주소 -> 도메인 이름 방향의 매핑을 담당함.
host나 nslookup, dig로 IP를 질의하면 자동으로 PTR레코드 키를 자동으로(IP 옥텟을 역순으로 적는다) 만들고, 이걸 바탕으로 PTR레코드의 값을 가져온다. 즉 이렇게 역방향 DNS질의 했을때 나오는건 해당 PTR레코드의 값이다.
참고로 A레코드 키로 사용되는 도메인과, PTR레코드의 값에 사용되는 도메인은 별개다. 별도로 관리할 수 있음. 보통 A 레코드는 도메인 소유자가 설정하고, PTR 레코드는 IP 대역 소유자(ISP, 클라우드 사업자 등) 가 설정하기 때문에 관리 주체가 다르다.
내가 살펴본 한 IP는 host로 질의했을때
ip: 34.180.126.41 domain: 41.126.180.34.bc.googleusercontent.com.
위와 같은 도메인을 확인할 수 있다. 이렇게 PTR레코드의 값이 마치 PTR레코드 키(원 IP 옥텟을 뒤집은 키) 처럼 생긴건, 그냥 실제로 ISP나 클라우드 사업자가 PTR 레코드 값을 대강 이렇게 붙인 것임. 도메인에 별도 의미있는 이름을 붙이지 않은 것.
A 레코드: mail.example.com → 171.93.85.34
PTR 레코드: 171.93.85.34 → 171.93.85.34.bc.googleusercontent.com
A레코드의 도메인과 PTR레코드의 값이 불일치할 수 있다. 그래서 나온 개념이 FCrDNS라는 것임. Forward-Confirmed Reverse DNS의 약자이다. 정방향과 역방향 조회했을때 모두 일치하는지 검증하는 방식임.
만약 FCrDNS를 위해 A레코드의 키와 PTR레코드의 값을 일치시켜놓치 않으면 FCrDNS적용시 실패한다. 이러면 메일서버같은데서는 스팸처리할 가능성이 높아짐. 그래서 관리하는 운영자가 PTR 도메인 값을 의도적으로 일치하도록 설정해줘야 한다.