반응형

 



 
• Written by Jung Byung Wook

1. 구성환경
✔ Standalone Domain Name Server
운영체제 : RHEL 6,7,8

DNS Server IP : 192.168.83.131/24
 

 


0. 목차

  • DNS Server 구성
  • DNS Server 검증

1. DNS 네임서버 구성 (Name Server Configuration)

1) DNS 관련 패키지 설치

[root@dns.test /]# yum -y install bind bind-chroot bind-utils
 
 
 

 

2) /var/named.conf 설정

  • 파일 설명 : DNS Zone 설정파일 위치 및 네임서버 데이터베이스 위치 설정 / DNS 접근제어 설정
  • 하기 설정 적용

         ▸ listen-on port 53 { 127.0.0.1};  → listen-on port 53 { any}; 

         ▸ allow-query { localhost } ;       → allow-query { any } ; 

 

1
2
3
4
5
6
7
8
9
10
options {
        listen-on port 53 { any; };      <<< 53번 포트를 모든 클라이언트에서 접근가능.
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };        <<< DNS Query를 모든 클라이언트에서 수행가능.
 

 

3) named.conf 파일 설정 검증

[root@dns.test /]# named-checkconf /etc/named.conf
 

 

4) /etc/named.rfc1912.zones

  • 파일설명Name Server로 특정 도메인정보를 요청할 때,

         ▸ 사용될 Zone의 정의 [역방향, 정방향]

         ▸ Zone 정보가 들어있는 파일 위치

         ▸ 1차, 2차, Root Domain 지정 등의 설정

 

    • 신규로 등록할 도메인이름 및 파일위치 등록
1
2
3
4
5
[root@dns.test /]# vi /etc/named.rfc1912.zones
zone "example.com" IN {      
        type master;
        file "named.example.com.zone";
        allow-update { none; };
 
 

 

 


2. Domain Zone 구성

 1) Domain Zone 파일 생성

    • /var/named/localhost를 복사하여, name.신규도임.com.zone 생성
1
2
[root@dns.test /]# cp /var/named/named.localhost /var/named/named.example.com.zone
[root@dns.test /]# chown root:named /var/named/named.example.com.zone
 

 

 

 2) Domain Zone 파일 생성

    • zone 파일 기본문법을 기반으로 하기와 같이 작성.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@dns.test /]# vi /var/named/named.example.com.zone
$TTL 1D
@    IN SOA    example.com. root.(
                    0    ; serial    //시리얼값
                    1D    ; refresh      //보조 네임서버가 주 네임서버에 접속하는 시간
                    1H    ; retry        //접속 실패시 다시 시도할 시도 간격
                    1W    ; expire    //주네임서버에서 데이터가 없다면 1주 이후에 지워짐
                    3H )    ; minimum    //TTL 설정과 같은 의미
 
                NS    example.com.                //도메인을 소유한 주 DNS의 도메인
dns         IN    A    192.168.83.131                //도메인이 찾아갈 IP주소
host1       IN    A    192.168.83.11                //도메인이 찾아갈 IP주소
host2       IN    A    192.168.83.12                //도메인이 찾아갈 IP주소
host3       IN    A    192.168.83.18                //도메인이 찾아갈 IP주소
 

 


3. DNS 설정 검증 및 적용

  • 구성완료 후, 설정검증 및 Name Server 구동을 위한 설정작업

 1) DNS 설정 검증

  • 설정한 Zone의 Syntax(문법)이나, 오설정이 없었는지 최종검증
1
2
3
4
5
[root@dns.test /]# named-checkconf /etc/named.rfc1912.zones
[root@dns.test /]# named-checkzone example.com /var/named/named.example.com.zone
zone example.com/IN: loaded serial 0
OK
[root@dns.test /]#
 
 

 

 2) 데몬 재시작

    • 설정적용 및 상태확인
1
2
3
[root@dns.test /]# systemctl named restart    // 설정 적용을 위한 named 데몬 재시작
[root@dns.test /]# systemctl enable named     // 재기동시, 자동으로 데몬 시작
[root@dns.test /]# systemctl status named     // named 
 

 

 

 3) 방화벽 허용설정

    • 외부 클라이언트와 통신할 수 있도록 방화벽 허용설정.
1
2
3
[root@dns.test /]# firewall-cmd --permanent --add-service=dns    // DNS Service 방화벽 허용
[root@dns.test /]# firewall-cmd --reload                         // 방화벽 설정 적용
[root@dns.test /]# restorecon --/var/named                   // Selinux에서 /var/named 디렉토리 
cs

 

 4)  Client에서 DNS Query 수행

    • DNS Client에서 정상적으로 해당 호스트정보를 불러들여오는지 확인.
1
2
3
[root@dns.test /]# dig host1.example.com +short
host1.example.com
192.168.83.11
 
 

 

반응형
Posted by 정병욱