Tan Kim

DNS (Domain Name System)

도메인 이름을 IP 주소로 변환하는 분산 계층형 시스템.

조회 흐름

브라우저 → 로컬 캐시 확인
       → OS hosts 파일 확인
       → 로컬 DNS 리졸버 (ISP)
         → 루트 네임서버 (.에 대한 정보)
         → TLD 네임서버 (.com, .net 등)
         → 권한 네임서버 (example.com의 실제 IP)
       ← IP 반환 + TTL 동안 캐시

DNS 레코드 타입

타입 설명 예시
A 도메인 → IPv4 example.com → 93.184.216.34
AAAA 도메인 → IPv6 example.com → 2606:2800::
CNAME 도메인 → 도메인 (별칭) www → example.com
MX 메일 서버 지정 mail.example.com
TXT 텍스트 정보 (인증, SPF 등) v=spf1 include:...
NS 네임서버 지정 ns1.example.com
SOA 존 권한 정보 기본 TTL, 관리자 등
PTR IP → 도메인 (역방향) 34.216.184.93 → example.com

TTL (Time To Live)

  • 캐시 유효 시간 (초 단위)
  • 짧을수록 변경 반영 빠름, 길수록 DNS 쿼리 감소
  • 도메인 이전 전에 TTL을 줄여두는 것이 권장

주요 명령어

# DNS 조회
nslookup example.com
dig example.com
dig example.com A        # A 레코드만
dig example.com MX       # MX 레코드
dig +short example.com   # IP만 출력
 
# 역방향 조회
dig -x 93.184.216.34
 
# 특정 DNS 서버로 조회
dig @8.8.8.8 example.com
 
# 캐시 플러시 (Windows)
ipconfig /flushdns

공개 DNS 서버

제공자 주소
Google 8.8.8.8, 8.8.4.4
Cloudflare 1.1.1.1, 1.0.0.1
OpenDNS 208.67.222.222

메모