DNS 레코드 종류와 문제 진단 가이드
주요 DNS 레코드의 역할과, 실무에서 DNS 문제를 만났을 때 어떤 도구로 어떻게 진단하는지 정리한다.
3 min read
DNS 레코드 종류와 문제 진단 가이드
DNS 레코드는 도메인에 대한 질의에 무엇을 돌려줄지 정의하는 데이터다. 서버 운영, 메일 설정, TLS 인증서 발급 등 인프라 전반에서 다루게 된다.
주요 DNS 레코드
| 타입 | 한 줄 설명 | 예시 | 언제 쓰나 |
|---|---|---|---|
| A | 도메인 → IPv4 | example.com IN A 93.184.216.34 | 웹 서버 주소 지정. 가장 기본 |
| AAAA | 도메인 → IPv6 | example.com IN AAAA 2001:db8::1 | IPv6 환경 |
| CNAME | 도메인 → 다른 도메인 (별칭) | www IN CNAME example.com | 서브도메인을 루트에 연결. 루트(@)에는 사용 불가 |
| MX | 메일 수신 서버 | example.com IN MX 10 mail.example.com | 메일 설정. 숫자 낮을수록 우선 |
| TXT | 임의 텍스트 | example.com IN TXT "v=spf1 ..." | SPF, DKIM, DMARC, 도메인 소유 확인 |
| NS | 권한 네임서버 | example.com IN NS ns1.example.net | 도메인 위임 |
| SOA | 존 메타데이터 | 시리얼, 리프레시, 리트라이 등 | 존당 1개. 존 파일 최상단 |
| PTR | IP → 도메인 (역방향) | 34.216.184.93.in-addr.arpa IN PTR example.com | 메일 서버 역조회. 스팸 필터에 중요 |
| SRV | 서비스 위치 (호스트+포트) | _sip._tcp IN SRV 10 60 5060 sip.example.com | SIP, XMPP, 게임 서버 등 |
| CAA | 인증서 발급 CA 제한 | example.com IN CAA 0 issue "letsencrypt.org" | TLS 인증서 오발급 방지 |
SPF는 예전에 별도 타입이었지만, 지금은 TXT에 넣는 게 표준이다. DNSKEY·DS·RRSIG는 DNSSEC(응답 무결성 보장) 관련 레코드다.
진단 도구
도구가 많지만, 실무에서 쓰는 건 몇 개 안 된다.
dig — 가장 많이 쓰는 도구
상세한 응답 정보(TTL, 플래그, 섹션별 구분)를 보여줘서 원인 분석에 적합하다. Linux/macOS 기본 포함.
dig example.com # A 레코드 조회
dig example.com MX # 특정 타입
dig @8.8.8.8 example.com # 특정 DNS 서버로 질의 (비교용)
dig +trace example.com # 루트→TLD→권한서버 전체 위임 체인 추적
dig -x 93.184.216.34 # IP → 도메인 역방향 조회자세한 옵션은 dig man page 참고.
nslookup — 크로스 플랫폼
Windows, macOS, Linux 어디서든 쓸 수 있다. 빠르게 "이 도메인이 어디로 잡히나" 확인할 때.
nslookup example.com # 기본 DNS로 조회
nslookup -type=mx example.com # 특정 타입
nslookup example.com 8.8.8.8 # 다른 DNS 서버로 비교ipconfig (Windows 전용) — DNS 캐시 관리
Windows에서 DNS 캐시가 의심될 때 쓴다.
ipconfig /displaydns # 로컬 캐시 확인
ipconfig /flushdns # 캐시 초기화ping — DNS 문제 vs 네트워크 문제 구분
ping example.com # 도메인으로 ping → 이름 해석 + 네트워크 동시 확인
ping 93.184.216.34 # IP로 직접 ping → 순수 네트워크만 확인도메인 ping이 실패하고 IP ping이 성공하면 → DNS 문제. 둘 다 실패하면 → 네트워크 문제.
이럴 땐 이렇게
특정 도메인만 안 열린다
nslookup example.com # 내 DNS로 조회
nslookup example.com 8.8.8.8 # 공용 DNS로 비교- 공용 DNS로는 되는데 내 DNS로 안 됨 → ISP/로컬 DNS 문제
- 둘 다 안 됨 → 도메인 자체 문제.
dig +trace로 어느 단계에서 끊기는지 확인
메일이 안 들어온다
dig example.com MX # MX 레코드 있는지, 올바른 서버를 가리키는지
dig mail.example.com A # MX가 가리키는 호스트가 실제로 존재하는지
dig -x <메일서버 IP> # PTR 레코드 확인 (없으면 스팸 필터에 걸림)서버 IP 바꿨는데 예전 서버로 접속된다
dig @8.8.8.8 example.com A # 공용 DNS에 아직 이전 IP가 캐시돼 있는지 확인
dig @1.1.1.1 example.com ATTL이 아직 안 지났으면 이전 IP를 돌려준다. IP 변경 전에 TTL을 미리 낮춰두는 게 좋다 (예: 300초).
간헐적으로 이름 해석이 실패한다
- Windows라면
ipconfig /flushdns로 캐시 초기화 후 재시도 dig example.com을 여러 번 반복해서 응답 시간과 타임아웃 패턴 확인- 내 DNS 서버가 불안정하면
8.8.8.8이나1.1.1.1로 변경 후 재테스트
진단 흐름 요약
1. ping <도메인> / ping <IP> → DNS 문제인지 네트워크 문제인지 구분
2. nslookup <도메인> → 현재 DNS가 뭘 돌려주는지 확인
3. nslookup <도메인> 8.8.8.8 → 내 DNS 문제인지 도메인 자체 문제인지 비교
4. dig +trace <도메인> → 위임 체인 어디서 끊기는지 추적