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 |
메모