구현

세미 프로젝트- DNS 서버

secudb123 2025. 4. 17. 17:13

 

0. 개요

DNS란

DNS(Domain Name Service)란 다른 Application Layer Protocol(HTTP, FTP, SMTP)등에서 사용자가 제공한 호스트 네임을 IP로 변환하는 데 사용하는 시스템이다. 즉, IP와 이름간 mapping을 진행한다.

 

해당 프로젝트에서 DNS 서버의 역할

cyberguardians.sec, www.cyberguardians.sec이 라는 도메인 네임을 IP주소(192.168.12.3)로 변환해준다. 이를 통해 웹에서 IP주소가 아닌 www.cyberguardians.sec이라는 도메인 주소를 입력하는 것으로도 사이트에 접근이 가능하게 된다. 

 

시스템 구성

컴퓨터 환경은 다음과 같다.

  • IP: 192.168.12.2/24
  • 게이트웨이: 192.168.12.1/24
  • DNS: 192.168.12.2 (단 패키지 설치를 위해 초기 8.8.8.8으로 시작)

 

1. bind 패키지의 설치

우선 named.service를 사용하기 위한 패키지를 설치한다.

설치 가능 패키지를 확인한다.

 

dnf list bind bind‐utils

이후 패키지를 설치한다.

dnf install –y bind bind‐utils

 

그러면 패키지의 설치는 완료된다.

named.service를 활성화하자.

systemctl enable named.service
systemctl start named.service

 

2. named.conf 파일의 수정

첫 번째로 named.conf 파일을 수정한다. 수정될 내용은 아래와 같다.

vi /etc/named.conf
options {
        directory "/var/named";
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "cyberguardians.sec." {
        type master;
        file "cyberguardians.sec.zone";
};

 

3. zone 파일의 생성

이후 named.conf 파일 내부에 지정된 경로대로, zone 파일을 생성한다.

vi /var/named/cyberguardians.sec.zone
$TTL    86400
@   IN   SOA  ns.cyberguardians.sec.   root.ns.cyberguardians.sec. (
         1         ; Serial
         1D        ; Refresh
         1H        ; Retry
         1W        ; Expire
         3H )      ; Minimum
; Name Server
   IN   NS      ns.cyberguardians.sec.
; Host address
          IN     A       192.168.12.3
ns        IN     A       192.168.12.2
www       IN     A       192.168.12.3

zone 파일은 수정할 때마다 Serial 란의 숫자를 변경해줘야 한다.

이어 해당 zone파일의 그룹 소유자를 named로 변경한다.

chgrp named /var/named/cyberguardians.sec.zone

변경 사항을 적용 시키기 위해 named를 재시작한다.

systemctl restart named

 

4. DNS 서버의 검증

named의 동작을 확인하기 위해 기본 DNS를 자신의 IP(192.168.12.2)로 바꾼다. 그 후 nslookup을 이용하여 cyberguardians.sec 도메인에 대해 질의하여 정상적으로 응답이 오는 것을 확인한다. Apache 서버를 구동한 상황이라면 curl을 사용해도 좋다.

nslookup cyberguardians.sec
nslookup www.cyberguardians.sec
nslookup ns.cyberguardians.sec