DNS 이름 해석 구조부터 Zone 파일 구성까지 정리

2025. 4. 16. 22:02·Linux

 


공부하면서 자주 헷갈렸던 DNS 구조랑 설정 내용들을 한 번 싹 정리했다.
특히 a.b.google.com.처럼 복잡한 도메인 구조가 실제로 어떻게 해석되는지부터,
zone 파일 안에 있는 RR(Resource Record) 구성까지 쭉 정리!


🧱 DNS 도메인 구조

예시 도메인: a.b.google.com. ← 맨 끝에 점(.)은 root를 의미함
DNS는 트리 구조처럼 위에서부터 아래로 점점 좁혀지면서 이름을 해석함

🔹 Root Name Server (.)

  • 인터넷 DNS 체계의 가장 상위
  • **TLD 정보(com, net, kr 등)**를 가지고 있음

 

  • root IP 주소운영 기관
A.root-servers.net 198.41.0.4 VeriSign, Inc.
B.root-servers.net 199.9.14.201 University of Southern California (ISI)
C.root-servers.net 192.33.4.12 Cogent Communications
D.root-servers.net 199.7.91.13 University of Maryland
E.root-servers.net 192.203.230.10 NASA Ames Research Center
F.root-servers.net 192.5.5.241 Internet Systems Consortium, Inc.
G.root-servers.net 192.112.36.4 U.S. Department of Defense (NIC)
H.root-servers.net 198.97.190.53 U.S. Army Research Lab
I.root-servers.net 192.36.148.17 Netnod
J.root-servers.net 192.58.128.30 VeriSign, Inc.
K.root-servers.net 193.0.14.129 RIPE NCC
L.root-servers.net 199.7.83.42  ICANN
M.root-servers.net 202.12.27.33 WIDE Project (Japan)


 


🔹 1차 도메인 서버 (TLD 서버)

  • 최상위 도메인 서버
  • TLD = Top-Level Domain

종류

  • 🌍 일반 TLD (gTLD): com, net, org, info...
  • 🏳️‍🌈 국가 코드 TLD (ccTLD): kr, jp, us, uk, cn...

🔹 2차 도메인 (Second-Level Domain)

  • 보통 기업이나 기관 이름이 여기에 해당
    예: google, naver, daum

국가 도메인(ccTLD) 아래엔 분류 도메인도 있음

  • 예: ac.kr(대학), co.kr(회사), go.kr(정부), or.kr(비영리)

🔹 서브 도메인

  • 2차 도메인 아래 추가로 붙는 도메인
    예: mail.google.com, docs.naver.com 등

🧭 사용자의 도메인 질의 흐름

사용자 → 웹브라우저(도메인 입력) → Resolver → DNS 질의 순서대로 처리

Resolver가 하는 일

  1. /etc/hosts 파일 먼저 확인
  2. 시스템에 남아 있는 DNS 캐시 확인
  3. 없다면 네임 서버에 질의 요청

💬 네임 서버가 질의 처리하는 방식

  1. 자신의 zone 파일 먼저 확인
  2. DNS 캐시에 응답 데이터 있으면 전달
  3. 없으면 반복 질의 or 응답 실패 처리

⚙️ DNS 설정 파일들 (Linux 기준)

파일 경로 역할

/etc/named.conf DNS 서버 프로그램 기본 설정
/etc/named.rfc1912.zones 서비스할 zone 목록 등록
/var/named/ 실제 zone 파일 저장 위치

named 데몬을 실행해야 DNS 서비스가 시작됨!


📄 Zone 파일 구조와 RR(Resource Record)

Zone 파일은 도메인 정보를 담고 있는 핵심 파일
그 안에 있는 하나하나의 정보가 RR (리소스 레코드)
RR 기본 형식:

이름   TTL   Class   Type   Option   Data

예시:

ns     IN    A       192.168.50.200

각 항목 설명

📛 name

  • 질의 받을 도메인 이름
  • kh.com이라는 존에서 name이 www이면 → www.kh.com

※ 도메인 이름 끝에 .이 없으면 존 이름이 자동으로 붙음


⏱ TTL (Time To Live)

  • 해당 RR 정보가 DNS 캐시에 저장되는 시간(초 단위)
  • TTL 지나면 다시 질의하게 됨

🌍 Class

  • 네트워크 환경 지정 (대부분 IN → Internet)

📘 Record Type (RR Type)

타입 설명

SOA Start Of Authority. 존의 시작. 동기화 설정 포함 (serial 등)
NS Name Server. 이 존을 관리하는 DNS 서버의 도메인 주소
A IPv4 주소 매핑
AAAA IPv6 주소 매핑
CNAME 별칭(별명) 레코드. 다른 도메인 이름을 가리킴
MX 메일 서버 정보

⚙️ Option

  • 특정 레코드에서만 사용하는 설정 값
  • 보통은 생략되는 경우가 많음

📨 Data

  • RR의 진짜 값, 즉 질의에 대한 응답 내용
  • A 레코드라면 → IP 주소
  • NS 레코드라면 → DNS 서버 도메인 주소

📌 SOA 레코드 안에 들어가는 동기화 관련 값

@   IN  SOA  ns.kh.com.  admin.kh.com. (
        2025041601 ; serial
        3600       ; refresh
        600        ; retry
        86400      ; expire
        60         ; minimum
)
  • serial: 존 파일이 변경됐는지 확인하는 숫자
  • refresh: 보조 네임서버가 언제 주기적으로 동기화 시도할지
  • retry: 동기화 실패 시 재시도 간격
  • expire: 완전히 실패했을 때 몇 초까지 기존 데이터 유지할지
  • minimum: 캐시에 저장할 최소 시간 (※ TTL 없을 때 적용)

💡 TTL이 있으면 TTL이 우선이고, 없을 때만 minimum 사용


✅ 마무리 요약

  • 도메인은 root부터 서브도메인까지 점(.) 기준으로 단계적으로 이름 해석됨
  • DNS 질의는 hosts → cache → name server 순서로 진행됨
  • zone 파일에는 RR이 들어 있고, 정확한 문법에 따라 작성해야 함
  • SOA 레코드는 동기화 관련 핵심 설정값이 들어있는 RR

 

'Linux' 카테고리의 다른 글

리눅스 파일 다운로드,패키지 관리 프로그램 (RPM, DNF)  (0) 2025.04.16
리눅스 권한  (0) 2025.04.16
리눅스의 확장 권한, 파일 속성, 프로세스 관리, 백그라운드 실행 방식  (0) 2025.04.16
DNS 서버 종류 & 영역 전송 정리  (0) 2025.04.16
🌐 DHCP 개념, DORA 정리, 서버-클라이언트 설정방법 (리눅스)  (0) 2025.04.16
'Linux' 카테고리의 다른 글
  • 리눅스 권한
  • 리눅스의 확장 권한, 파일 속성, 프로세스 관리, 백그라운드 실행 방식
  • DNS 서버 종류 & 영역 전송 정리
  • 🌐 DHCP 개념, DORA 정리, 서버-클라이언트 설정방법 (리눅스)
햅삐root
햅삐root
happyroot 님의 블로그 입니다. IT 보안 정리💛
  • 햅삐root
    햅삐한 root
    햅삐root
  • 전체
    오늘
    어제
    • 전체보기 IT (123)
      • Linux (21)
      • Network (23)
      • packet tracer& GNS3 (10)
      • Cryptology (7)
      • WEB (16)
      • DB (16)
      • Hacking (28)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Hack
    injectionvector
    sqlinjection
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
햅삐root
DNS 이름 해석 구조부터 Zone 파일 구성까지 정리
상단으로

티스토리툴바