DNS 레코드 종류와 문제 진단 가이드

주요 DNS 레코드의 역할과, 실무에서 DNS 문제를 만났을 때 어떤 도구로 어떻게 진단하는지 정리한다.

3 min read

DNS 레코드 종류와 문제 진단 가이드

DNS 레코드는 도메인에 대한 질의에 무엇을 돌려줄지 정의하는 데이터다. 서버 운영, 메일 설정, TLS 인증서 발급 등 인프라 전반에서 다루게 된다.


주요 DNS 레코드

타입한 줄 설명예시언제 쓰나
A도메인 → IPv4example.com IN A 93.184.216.34웹 서버 주소 지정. 가장 기본
AAAA도메인 → IPv6example.com IN AAAA 2001:db8::1IPv6 환경
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개. 존 파일 최상단
PTRIP → 도메인 (역방향)34.216.184.93.in-addr.arpa IN PTR example.com메일 서버 역조회. 스팸 필터에 중요
SRV서비스 위치 (호스트+포트)_sip._tcp IN SRV 10 60 5060 sip.example.comSIP, 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 A

TTL이 아직 안 지났으면 이전 IP를 돌려준다. IP 변경 전에 TTL을 미리 낮춰두는 게 좋다 (예: 300초).

간헐적으로 이름 해석이 실패한다

  1. Windows라면 ipconfig /flushdns로 캐시 초기화 후 재시도
  2. dig example.com을 여러 번 반복해서 응답 시간과 타임아웃 패턴 확인
  3. 내 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 <도메인>         → 위임 체인 어디서 끊기는지 추적

참고자료