Load To Technical Architect

[Linux] Name Server 구성 본문

Linux/CentOS

[Linux] Name Server 구성

고지식한청춘 2021. 12. 24. 17:00
728x90

Name Server란?

우리가 주소창에 영어로 된 도메인 www.naver.com을 입력하면 네이버 메인 화면으로 접속되는데

 

네이버 메인 화면으로 접근하는동안 수 우리 PC에서는 수 많은 Name Server에 질의를 던진다.

 

주소창에 도메인을 입력하면 PC는 설정된 Name Server에 위의 도메인의 아이피가 무엇인지 질의한다.

 

테스트를 해보고싶다면 cmd창을 열고 아래의 명령어를 입력하여보자

nslookup www.naver.com

도메인 www.naver.com은 사실 www.naver.com. 인 것을 아는가?

 

만약 PC에 설정된 Name Server에 입력한 도메인 주소가 저장되어있지 않다면

 

질의 순서는 이렇다.

 

1. .(Root) Name Server에 질의

2. com Name Server에 질의

3. naver.com Name Server에 질의

 

 

Name Server 구성 방법

1. name server package 설치

# yum -y install bind

 

 

2. named.conf 수정

# vi /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.root.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

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

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

options에 listen-on port 53, listen-on-v6 port 53, allow-query 부분만 수정해준다.

 

 

 

3. zone 추가

# vi /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};
zone "dnstest.com" IN {
        type master;
        file "dnstest.com.db";
};

맨 마지막 dnstest.com 부분을 원하는 도메인으로 추가한다.

 

 

 

4. 레코드 추가

# cd /var/named

# vi dnstest.com.db
$TTL 1D
@       IN SOA  @ ns.dnstest.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       192.168.10.134
www     A       192.168.10.134

3번에서 구성한 file명과 동일하게 파일을 작성하고 자신의 환경에 맞게 아이피 및 레코드를 추가한다.

 

 

 

5. named service 시작

# systemctl start named

 

 

 

6. PC DNS 주소 변경

 

 

 

 

 

7. 확인

 

완료

728x90
Comments