named.conf 설정 ( centos 6 버전 )

# vi /etc/named.conf

-> DNS 데몬 설정 파일


# 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.
//

options {
        //listen-on port 53 { 127.0.0.1; };

        listen-on port 53 { any; };

        -> DNS 서버의 port 번호 설정과 접근 할 수 있는 IP 설정 옵션

        -> DNS port 53에 대한 모든 IP가 접근 가능하도록 설정
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

        -> zone 파일 디렉토리 설정 옵션
        dump-file       "/var/named/data/cache_dump.db";

        -> cache dump 파일이 생성되는 파일의 디렉토리 설정 옵션

        statistics-file "/var/named/data/named_stats.txt";

        -> 통계파일이 생성되는 디렉토리와 파일의 이름을 지정하는 설정 옵션
        memstatistics-file "/var/named/data/named_mem_stats.txt";

        -> memory관련 통계파일이 생성되는 디렉토리와 파일의 이름을 지정하는 설정 옵션

        allow-query     { any; };

        -> DNS 서버의 쿼리를 허용할 ip 대역 설정

        recursion yes;

        -> 외부에서 Name Server를 지정하여 허용/차단 옵션

        dnssec-enable yes;

        -> DNSSEC 서명검증 기능 설정 (공개키 암호화방식으로 데이터 위조-변조 공격을 막는 설정 )

        -> DNSSEC ( Domain Name System Security Extension ),bind 9버전 부터 적용
        dnssec-validation yes;

        -> DNSSEC 검증 확인 설정
        dnssec-lookaside auto;

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

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

         -> DLV ( DNSsec Lookaside Validator )
};

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

->Name Server의 실행에 있어 디버깅시에 참조 할 수 있는 log파일 생성 위치를 지정하는 설정 옵션


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

-> "." 루트 도메인 지정  

​-> type : hint(루트도메인을 지정), master(1차 네임서버), slave(2차 네임서버) 

-> file   : Name Server에 대한 설정을 named.ca라는 파일에서 참조하는 설정

-> named.ca 파일은 13개의 루트 네임서버의 정보가 있다. 

-> 루트 네임서버가 13개일 경우 493Byte으로 UDP 연결이 가능하지만 

    루트 네임서버가 13개 이상일 경우 512Byte가 넘어서 TCP 연결로 해야하기 때문에 부하가 많아 생겨 13개까지 루트 네임서버가 있다.


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

-> 외부 설정파일 설정 옵션
include "/etc/named.root.key";

-> root 영역을 위한 DNSKey 파일  


# named-checkconf /etc/named.conf

-> conf 파일 정상적인지 체크




named.rfc1912.zones 설정 ( centos 6 버전 )

# vi /etc/named.rfc1912.zones

-> zone 관련 외부 설정 파일

-> zone 설정을 named.conf에서 설정하지 않고 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 "dongwook.com" IN {

->도메인명 (dongwook.com 도메인명으로 요청이 들어오면 dongwook.zone 파일을 참조해서 질의 응답
           type master; 

           -> MASTER / SLAVE 설정

           file "dongwook.zone";

           -> zone 파일 설정 (정방향)

           allow-update { none; };     

           -> zone 파일 갱신 허용 (any or none)

};



zone "0.168.192.in-addr.arpa" IN {

->192.168.0 대역으로 요청이 들어오면 dongwook.rev 파일을 참조해서 질의 응답
           type master; 

           -> MASTER / SLAVE 설정

           file "dongwook.rev";

           -> zone 파일 설정 (역방향)

           allow-update { none; };     

           -> zone 파일 갱신 허용 (any or none)

};



# named-checkconf /etc/named.rfc1912.zones

-> conf 파일 정상적인지 체크  

-> 아무런 메세지가 발생하지 않으면 OK





정방향 zone파일 새성

도메인 주소를 IP주소로 변경

정방향 zone 파일은 *.zone으로 생성

 

 

# cd /var/named/

--> 링크 파일인 zone 파일 위치

 

# cd /var/named/chroot/var/named

--> zone 파일 위치

--> zone, rev 파일 설정 후  service named restart 하면 chroot 아래 자동으로 파일 생성됨

# cp /var/named/named.localhost /var/named/dongwook.zone

-> named.localhost을 샘플로 이용해서 dongwook.zone 파일 생성

 

# chown root:named dongwook.zone

# chmod 660 dongwook.zone

--> 정방향 zone파일 권한 변경

 

 

정방향 zone 파일 설정

# vi /var/named/dongwook.zone


$TTL    86400

-> Time To Live, 데이터의 수명 (1일) 
다른 네임서버에서 자신의 정보를 가져갔을 때, 그 서버의 캐시에 정보가 얼마나 오랫동안 남아있을지를 결정하는 설정 (초 단위)

-> 도메인 IP을 변경했을 경우 다른 네임서버들은 적용되려면 1하루가 걸린다. ​

@         IN          SOA        localhost. root.localhost.  (

                                       -> localhost. 네임 서버 주소 지정, root.localhost. 관리자 메일 주소
                                      1997022700 ; Serial  

                                      -> 데이터 버전정보나 년월일시간으로 시리얼 값 설정
                                      28800      ; Refresh
                                      -> 2차 네임서버가 1차 네임서버을 재조회 하는 시간

                                      14400      ; Retry

                                      -> Refresh가 안될경우 다시 재조회 하는 시간
                                      3600000    ; Expire

                                      -> Retry이나 1차 네임서버에 데이터가 수정 및 삭제 되었을 경우 해당 정보 삭제하는 시간
                                      86400 )    ; Minimum

                                      -> TTL 값


 

 

          IN           NS           dongwook.com.             : 네임 서버 지정

          IN           MX    10   mail.dongwook.com.       : 메일을 보낼 도메인 또는 주소 

          IN            A             192.168.10.10               : dongwook.com         도메인을 찾아갈 IP 주소 (192.168.10.10 으로 찾음)

ns      IN            A             192.168.10.10                : ns.dongwook.com    도메인을 찾아갈 IP주소 (192.168.10.10 으로 찾음)

www  IN            A             192.168.10.10                : www.dongwook.com 도메인을 찾아갈 IP주소 (192.168.10.10 으로 찾음)

test1   IN            A             192.168.10.101              : test1.dongwook.com  도메인을 찾아갈 IP 주소 (192.168.10.101 으로 찾음)
test2   IN            A             192.168.10.102              : test2.dongwook.com  도메인을 찾아갈 IP 주소 (192.168.10.102 으로 찾음)
mail    IN            A             192.168.10.100              : mail.dongwook.com   도메인을 찾아갈 IP 주소 (192.168.10.100 으로 찾음)
*        IN            A             123.123.123.123             : *.dongwook35.com   모든 서브 도메인이 찾아갈 서버 IP 주소

 

# 특이사항 : 도메인 끝에다가는 항상 '.' 찍어서 마지막을 나타내야한다.

                .을 안찍으면 dongwook.com.dongwook.com 으로 인식함.

 

@           : public domain을 의미  ( 공백 = @ = public domain )

IN           : 우측 설정을 적용

SOA        : Start Of Authority  권한이 시작됨을 의미

NS          : Name Server 네임 서버 지정
NA          : zone을 담당하는 네임 서버 주소

A            : 호스트 이름에 대응하는 IP주소 설정

PTR        : IP 주소에 대응하는 호스트 이름 설정

MX         : Mail Exchanger 메일 서버 지정
CNAME   : 별칭(aliase) 지정

TXT        : 호스트에 대한 텍스트 정보

HINFO     : 호스트의 CPU 정보와 운영체제 정보

MINFO    : 메일박스와 메일 리스트 정보

UINFO     : 사용자 정보

ANY        : 호스트에 관련된 모든 레코드들의 정보 


# named-checkzone "도메인명" "파일명"

# named-checkzone dongwook.com /var/named/dongwook.zone

zone dongwook.com/IN: loaded serial 0
OK

-> zone 파일 설정이 정상적인지 검사

 

 

역방향 rev 파일 새성

IP주소를 도메인으로 변경 (reverse zone)

역방향 rev 파일은 *.rev으로 생성

 

# cd /var/named/

--> 링크 파일인 rev 파일 위치

  

# cp /var/named/dongwook.zone /var/named/dongwook.rev

-> dongwook.zone 파일을 샘플로 이용해서 dongwook.rev 생성


# vi /var/named/chroot/var/named/dongwook.rev

--> 역방향 rev 파일 생성

 

# chmod 640 dongwook.rev

# chown root:named dongwook.rev

--> 역방향 rev 파일 권한 변경

 

 

역방향 zone 파일 설정

# vi /var/named/dongwook.rev


$TTL    86400

-> Time To Live, 데이터의 수명 (1일) 
다른 네임서버에서 자신의 정보를 가져갔을 때, 그 서버의 캐시에 정보가 얼마나 오랫동안 남아있을지를 결정하는 설정 (초 단위)
-> 도메인 IP을 변경했을 경우 다른 네임서버들은 적용되려면 1하루가 걸린다.


@         IN          SOA        localhost. root.localhost.  (

                                       -> @=public domain, localhost. 도메인네임서버 주소, root.localhost. 관리자 메일 주소
                                      1997022700 ; Serial  

                                      -> 데이터 버전정보나 년월일시간으로 시리얼 값 설정
                                      28800      ; Refresh
                                      -> 2차 네임서버가 1차 네임서버을 재조회 하는 시간

                                      14400      ; Retry

                                      -> Refresh가 안될경우 다시 재조회 하는 시간
                                      3600000    ; Expire

                                      -> Retry이나 1차 네임서버에 데이터가 수정 및 삭제 되었을 경우 해당 정보 삭제하는 시간
                                      86400 )    ; Minimum

                                      -> TTL 값


 

 


           IN           NS              dongwook.com.           : 
10        IN           PTR            dongwook.com.           : 192.168.10.10 주소에 대해서 dongwook.com 도메인과 매칭
10        IN           PTR            www.donwook.com.     : 192.168.10.10 주소에 대해서 www.dongwook.com 도메인과 매칭
101       IN           PTR            test1.dongwook.com.   : 192.168.10.101 주소에 대해서 test1.dongwook.com 도메인과 매칭
102       IN           PTR            test2.dongwook.com.   : 192.168.10.102 주소에 대해서 test2.dongwook.com 도메인과 매칭
100       IN           PTR            mail.dongwook.com.    : 192.168.10.100 주소에 대해서 mail.dongwook.com 도메인과 매칭 


# 특이사항 : 도메인 끝에다가는 항상 '.' 찍어서 마지막을 나타내야한다.

               .을 안찍으면 dongwook.com.dongwook.com 으로 인식함.


@           : public domain을 의미  ( 공백 = @ = public domain )

IN           : 우측 설정을 적용

SOA        : Start Of Authority  권한이 시작됨을 의미

NS          : Name Server 네임 서버 지정
NA          : zone을 담당하는 네임 서버 주소

A            : 호스트 이름에 대응하는 IP주소 설정

PTR        : IP 주소에 대응하는 호스트 이름 설정

MX         : Mail Exchanger 메일 서버 지정
CNAME   : 별칭(aliase) 지정

TXT        : 호스트에 대한 텍스트 정보

HINFO     : 호스트의 CPU 정보와 운영체제 정보

MINFO    : 메일박스와 메일 리스트 정보

UINFO     : 사용자 정보

ANY        : 호스트에 관련된 모든 레코드들의 정보


# named-checkzone "도메인명" "파일명"

# named-checkzone 192.168.0.10 /var/named/dongwook.rev
zone 192.168.0.10/IN: loaded serial 0
OK

-> zone 파일 설정이 정상적인지 검사

 

 

/etv/resolv.conf

# vi /etc/resolv.conf

nameserver 192.168.10.10

-> DNS 서버 IP 설정

-> 다른 네트워크에 있는 IP에 해당하는 도메인과 매칭(찾아) 시켜주는 파일(외부적으로 사용)


/etc/hosts, /etc/resolve.conf 차이점

-> /etc/hosts은 특정 서버의 호스트명을 관리하는 파일이다.

     인터넷이 미미하던 시절에는 /etc/hosts에다가 호스트명을 관리하고

     다른 서버에도 동일하게 내용을 복사해서 넣어줘야 하지만 관리할 서버가 많아지면서 호스트 이름이 중복이 되거나

     오타가 나면서 관리가 불가능해졌다. 그래서 이런 문제점을 해결하려고 나온 것이 DNS이다. 

-> /etc/hosts에서 정의된 내용이 없을 경우 /etc/resolve.conf 정의된 내용을 참조한다. 


Posted by 겸겸사
,