Networking, Security, Protocols

DNS(Domain Name System)

Somaz 2022. 1. 19. 14:05
728x90
반응형

 

Overview

 

DNS(Domain Name System)는 네트워크에서 도메인이나 호스트 이름을 숫자로 된 IP 주소로 변환해주는 서비스이다.

예를 들어 google.com과 같은 도메인 이름을 사용하면, DNS는 이를 142.250.190.14 같은 IP 주소로 변환하여 해당 서버에 접근할 수 있도록 한다.

DNS는 인터넷에서 웹사이트, 이메일, 기타 네트워크 서비스를 원활하게 이용할 수 있도록 필수적인 역할을 한다.
이번 글에서는 DNS 개념 및 설정, 네임서버 구성 방법에 대해 정리한다.

 

 

 

 

 

 


 

 

1️⃣ DNS 개념 및 동작 원리

DNS는 클라이언트-서버 모델을 기반으로 네트워크 상에서 도메인 네임을 IP 주소로 변환하는 역할을 한다.

 

 

DNS 작동 방식

  1. 사용자가 브라우저에서 www.example.com 입력
  2. 클라이언트가 로컬 DNS 캐시 확인
  3. 로컬 DNS 서버에서 DNS 쿼리 수행
  4. DNS 서버가 example.com의 IP 주소 반환
  5. 사용자는 해당 IP 주소로 요청을 보냄

 

DNS의 주요 구성 요소

  • DNS 클라이언트 (Resolver): DNS 요청을 수행하는 장치
  • DNS 서버 (Name Server): 클라이언트 요청을 받아 적절한 IP 주소를 반환
  • 루트 네임서버 (Root Name Server): 최상위 도메인 정보 관리
  • TLD 네임서버 (Top-Level Domain): .com, .net, .org 같은 최상위 도메인 관리
  • 권한 네임서버 (Authoritative Name Server): 특정 도메인에 대한 최종 IP 정보 관리

 

 

 

 

 

2️⃣ DNS 서버 환경설정

 

필수 패키지 설치

yum install -y bind bind-utils  # CentOS/RHEL
apt install -y bind9 bind9utils  # Ubuntu/Debian
 

DNS 서비스 시작 및 자동 실행

systemctl enable named
systemctl start named

 

 

DNS 서비스 상태 확인

systemctl status named

 

 

 

 

 

3️⃣ DNS 설정 파일 구성

 

DNS 관련 설정 파일들은 /etc 디렉터리에 위치하며, 주요 파일은 다음과 같다.

파일 경로설명
/etc/hosts 로컬 네임서버 설정
/etc/resolv.conf 외부망 및 내부망 연결 설정
/etc/named.conf DNS 서버 전체 설정
/etc/named.rfc1912.zones 정방향 및 역방향 조회 영역 설정
/var/named/s.zone 정방향 조회 (도메인 → IP)
/var/named/s.rev 역방향 조회 (IP → 도메인)

 

 

/etc/hosts (로컬 네임서버 설정)

vi /etc/hosts
...
127.0.0.1 localhost 192.168.1.100 dns-server.local
  • 이 파일은 로컬에서 네임서버가 인식할 수 있도록 IP와 도메인을 매핑한다.

 

 

 

/etc/resolv.conf (외부 네임서버 설정)

vi /etc/resolv.conf
...
nameserver 8.8.8.8 # Google Public DNS nameserver 1.1.1.1 # Cloudflare DNS
  • 외부 도메인 네임을 조회할 수 있도록 네임서버를 설정한다.

 

 

/etc/named.conf (DNS 서버 설정)

vi /etc/named.conf
...
options {
    listen-on port 53 { any; };
    directory "/var/named";
    allow-query { 192.168.1.0/24; localhost; };
};

logging {
    channel default_log {
        file "/var/log/named.log";
        severity info;
    };
};

include "/etc/named.rfc1912.zones";
  • DNS 서비스가 포트 53에서 요청을 수락하고, 로그를 기록하도록 설정한다.

 

 

/etc/named.rfc1912.zones (네임서버 정의 파일)

vi /etc/named.rfc1912.zones
...
zone "somaz.com" IN {
    type master;
    file "s.zone";
    allow-update { none; };
};

zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "s.rev";
    allow-update { none; };
};
  • 정방향 및 역방향 DNS 설정을 위한 파일을 지정한다.

 

 

 

 

4️⃣ Zone 파일 (정방향 및 역방향)

 

 

정방향 조회 파일 (s.zone)

vi /var/named/s.zone
...
$TTL 86400
@   IN  SOA  ns.somaz.com. root.somaz.com. (
        2024031201  ; Serial
        3600        ; Refresh
        1800        ; Retry
        604800      ; Expire
        86400       ; Minimum TTL
)
@   IN  NS  ns.somaz.com.
@   IN  A   192.168.1.100
www IN  A   192.168.1.100

 

  • 도메인 somaz.com 의 IP 주소를 192.168.1.100 으로 설정한다.

 

 

 

역방향 조회 파일 (s.rev)

vi /var/named/s.rev
...
$TTL 86400
@   IN  SOA  ns.somaz.com. root.somaz.com. (
        2024031201  ; Serial
        3600        ; Refresh
        1800        ; Retry
        604800      ; Expire
        86400       ; Minimum TTL
)
@   IN  NS  ns.somaz.com.
100 IN  PTR somaz.com.
  • IP 주소 192.168.1.100somaz.com 과 매핑됨을 정의한다.

 

 

5️⃣ DNS 설정 검증 및 테스트

 

 

설정 파일 문법 검사

named-checkconf
named-checkzone somaz.com /var/named/s.zone
named-checkzone 1.168.192.in-addr.arpa /var/named/s.rev
  • 설정에 오류가 없으면 아무런 출력 없이 종료됨

 

 

DNS 서비스 재시작

systemctl restart named
 
 

 

nslookup 테스트

nslookup somaz.com 192.168.1.100
  • 정상적으로 도메인이 IP 주소로 변환되면 성공! 

 

 

 

 

HTTP Server 까지 구성햇을 시

성공!

 

 

 

 

 

 


 

 

 

 

 

 

마무리

DNS 서버를 구축하면 도메인 네임을 IP 주소로 변환하여 네트워크 접근성을 향상할 수 있다.
이번 글에서는 DNS 개념부터 설정 방법, 테스트까지 DNS 서버 구축 방법을 다루었다.

 

 

정리

  • DNS는 도메인 네임을 IP 주소로 변환하는 서비스
  • 네임서버 구성 시 정방향(s.zone) 및 역방향(s.rev) 조회 설정 필요
  • named-checkconf, named-checkzone으로 설정 오류 확인 필수
  • nslookup 또는 dig 명령어로 DNS 조회 테스트 진행

 

 

이제 DNS 서버를 활용하여 안정적인 네트워크 환경을 구축해보자!

 

 

 


 

 

 

Reference

 

 

728x90
반응형