DNS 서비스 연동을 할 일이 있어, DNS 레코드 타입에 대해서 서치하면서 정리했다.
원래 A, NS, CNAME 등 자주 쓰이는 레코드들 밖에 몰랐는데, 이번 기회에 여러가지 다른 레코드들에 대해서도 알게 되었다. 일단 1차로 연동한 레코드 타입들에 대해서 정리하고, 다른 레코드들은 서비스에 추가하게 되면 더 업데이트할 예정이다.
A 레코드
가장 많이 쓰이는 레코드이다. 호스트에 대한 IPv4의 값을 가진다. 도메인 이름을 DNS 요청하면, IPv4 값을 준다.
ex) 123.123.123.123
AAAA 레코드
호스트에 대한 IPv6의 값을 가진다.
ex) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334
CNAME 레코드
도메인 이름의 별칭(Alias)을 지정할 때 사용한다. A레코드나 AAAA레코드처럼 DNS 요청 시, 바로 IP를 반환해주는 것이 아니라, "다른 도메인"의 IP값을 받아온다. 호스트에 대해 다른 호스트의 값을 가진다.
ex) www.abcd.com
CAA 레코드
DNS Certification Authority Authorization (CAA)
특정 도메인의 CA (Certificate Authority) 가 어디인지를 알려준다.
<flag> <tag> <value> 값을 가진다.
ex) 0 issue abcd.com
LOC 레코드
LOC 레코드는 호스트에 대한 지리적 위치 정보를 지정하는데 사용한다.
<Latitude degrees> <Latitude min> <Latitude sec> <Direction(North|South)> <Longitude degrees> <Longitude min> <Longitude sec> <Direction(East|West)> <Altitude meters> <Size> <Precision horiz. meters> <vert. meters>
값을 가진다.
ex) 51 56 0.123 N 5 54 0.000 E 4.00m 1.00m 10000.00m 10.00m
MX 레코드
메일서버에 대한 정보를 나타낸다.
<Priority> <Target> 값을 가진다. Priority 값은 메일 서버가 여러개일 때, 우선순위를 지정한다.
ex) 10 mail.abcd.com.
PTR 레코드
IP값으로 도메인을 질의하는 역방향 질의에서 사용된다.
<Domain name> 값을 가진다.
ex) target.test.com
SPF 레코드
발송한 메일서버의 IP와 DNS에 설정되어있는 TXT의 IP값이 다를 경우, 수신측에서 메일을 차단하는 방식이다.
특정 IP 외에 다른 IP에서 오는 메일을 차단하고자 할 때 사용한다.
ex) "v=spf1 ip4:192.168.0.1/16-all"
SRV 레코드
SRV(Service record)는 DNS(Domain Name System)에서 서비스의 위치(호스트네임 과 포트번호)를 저장하기 위해서 사용하는 레코드다.
_service._proto.name. TTL class SRV priority weight port target.
- service : http, mysql과 같은 서비스의 대표 이름.
- proto : 서비스가 사용하는 전송 프로토콜(transport protocol). TCP나 UDP를 주로 사용한다.
- name : 서비스를 위한 도메인 이름
- TTL : DNS time to live 필드
- class : DNS class 필드로 항상 IN이다.
- priority : 호스트의 우선순위. 낮은 값이 우선순위가 더 높다.
- weight : priority가 같을 때, 어느 호스트가 더 중요한지를 알려주기 위해서 사용한다. 값이 클 수록 더 중요하다.
- port : 서비스를 찾기 위한 UDP 혹은 TCP 포트번호
- target : 서비스를 찾기 위한 호스트 이름
ex) 호스트명 : _sip._tcp.test.co.kr
ex) 값 : 0 10 5060 sip.example.com.
TXT 레코드
TXT(텍스트) 레코드는 소유한 도메인에 간단한 텍스트 데이터를 입력하는 기능이다.
ex) "test test setsetsetse"