DNS 설치

|


# rpm -qa | grep bind   //  bind 가 설치되있는지 확인하자-
bind-9.3.3-7.el5    //  기본 패키지
bind-utils-9.3.3-7.el5    //  유틸리티
bind-libs-9.3.3-7.el5    //  라이브러리
bind-devel-9.3.3-7.el5    //  개발?

# rpm -qa | grep caching
caching-nameserver-9.3.3-7.el5    //  bind 운영에 필요한 환경설정 파일 모음

이렇게 5개의 rpm 이 설치되어있는지를 확인한다.    //  linux cd 에 찾아보면 다 있다~


rpm -ivh --nodeps bind-9.3.3-7.el5.rpm     // rpm 설치를 해준다. yum 이 없을 경우에 그냥 각자 설치를 해야되고. 의존도는 없게 한다.
rpm -ivh --nodeps bind-libs-9.3.3-7.el5.rpm    
..
..

//    yum 의 경우..
yum install bind <-

//
//

bind 9.3 버젼 부터는 named.conf 에 들어가있지 않고 named.caching-nameserver.conf 에 들어가있다. 

# vi /etc/named.caching-nameserver.conf

// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver 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.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
//      listen-on port 53 { 127.0.0.1; };
         listen-on port 53 { any; };  //  외부 접근이 가능하게 any를 넣어줌.
//      listen-on-v6 port 53 { ::1; };
         directory       "/var/named";    //  zone file 에 대한 기본적인 디렉토리를 설정해준다.
         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";
         query-source    port 53;    //  쿼리를 받아들일 포트
         query-source-v6 port 53;
//      allow-query     { localhost; };
         allow-query     { any; };    //  쿼리를 허용할 IP 대역
};
logging {
        channel default_debug {
                file "data/named.run";    //  디버깅을 위한 로그파일 생성을 위한 위치-
                severity dynamic;
        };
};
view localhost_resolver {
//      match-clients      { localhost; };
//      match-destinations { localhost; };
         match-clients      { any; };    //  로컬 리졸버 허용 클라이언트 지정
         match-destinations { any; };
         recursion yes;
         include "/etc/named.rfc1912.zones";
};
# /etc/rc.d/init.d/named start
Starting named:                                            [  OK  ]

# tail /var/named/data/named.run
zone linux.com/IN/localhost_resolver: sending notifies (serial 42)
shutting down
stopping command channel on 127.0.0.1#953
stopping command channel on ::1#953
no longer listening on 127.0.0.1#53
no longer listening on 192.168.2.43#53
exiting
zone linux.com/IN/localhost_resolver: loaded serial 20090416
running
zone linux.com/IN/localhost_resolver: sending notifies (serial 20090416)

//create - zone file

# 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
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN {
        type hint;
        file "named.ca";
};

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

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

//zone "0.0.127.in-addr.arpa" IN {
//      type master;
//      file "named.local";
//      allow-update { none; };
//};

//zone "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.ip6.local";
//      allow-update { none; };
//};

//zone "255.in-addr.arpa" IN {
//      type master;
//      file "named.broadcast";
//      allow-update { none; };
//};

//zone "0.in-addr.arpa" IN {
//      type master;
//      file "named.zero";
//      allow-update { none; };
//};
zone "linux.com" IN{
        type master;
        file "linux.com.zone";    //  존 파일의 이름
        allow-update { none; };
};

// 존 파일은 기존 파일을 이용해서 만든다.

cp /var/named/localdomain.zone /var/named/linux.com.zone    // 기존에 있는 존 파일을 이름을 복사(이름변경) 해준뒤 편집.

# vi /var/named/linux.com/zone
$TTL    86400   
@               IN SOA  ns.linux.com root.linux.com (  
                                        20090416        ; serial (d. adams)    
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           ns.linux.com.
                IN MX 10        mail.linux.com.
                IN A            192.168.2.199
ns             IN A            192.168.2.199
www         IN A            192.168.2.199
mail           IN CNAME        www
ftp             IN CNAME        @
*               IN CNAME        @

// 존 파일 생성뒤 저장 하고 

    # named-checkconf /etc/named.rfc1912.zone
    # named-checkconf /etc/named.caching-nameserver.conf
    # named-checkzone linux.com /var/named/linux.com/zone
        zone linux.com/IN: loaded serial 20090416
        OK

//  이렇게 정상으로 나오면 끝-

vi /etc/resolv.conf               

# generated by NetworkManager, do not edit!

search local


nameserver 164.124.101.2
nameserver 192.168.2.43     //  기존의 네임서버 외에 추가로 자신이 만든 네임서버를 등록해준다.

//해당 네임서버에서 검색후 없을경우 다음 네임서버로 넘어가서 검색을 할수 있음.


TTL =  time to live 의 약자. 다른 네임서버에서 읽어간 정보가 살아있는 시간이다. 단위 = 초

@ = ORIGIN 의 의미  public domain 을 나타낸다. 여기선 @ = linux.com

IN = IN 다음의 설정을 이용

SOA  ns.linux.com. root.linux.com =  SOA start of authority 해당 도메인에 대한 정보를 갖고 있고 , root.linux.com 이 관리자이다.

20080416       ; serial (d.adams) = 해당 정보의 시리얼 , 보통 날짜로 표시한다.

3H               ; efresh = 리프레쉬 타임 주기

15M             ; retry =  M- S 로 장애 발생시 재 접속 시간.

1W             ; expiry =  존 파일 유효기간. 만약 expiry 시간안에 M 에서 응답을 못받을 경우 S는 데이터의 유효성을 더이상 인정하지 않는다는 뜻.

1D )            ; minimum = TTL 과 같은 의미, 다른 서버에서 존 파일을 갖구 갔을 경우에 그 데이터에 대한 유효성.

IN NS           ns.linux.com. =  네임서버 이름 지칭

IN MX 10        mail.linux.com. =  mailserver 이름 지칭

IN A            192.168.10.200 =  ip 할당

ns              IN A            192.168.10.200 =  nameserver의 ip는     ""

www             IN A            192.168.10.200  = 
www.linux.com  ip할당

mail            IN CNAME        www = mail server의 ip는 www의 설정을 가져온다.

ftp             IN CNAME        @ == ORIGIN 변수의 값을 그대로 사용

*               IN CNAME       



'저장용' 카테고리의 다른 글

APM..  (0) 2009.04.20
php 파일 찾아서 변동이 있는지 확인해보기..  (0) 2009.04.20
raid 0,1,5,10  (0) 2009.04.10
iptables -  (0) 2009.04.10
iptables 셋팅.  (0) 2009.04.10
And