본문 바로가기

:) IT / OS/Linux

DNS Server 구축 (Bind)

@ RHEL 4

 

Bind - Berkeley Internet Name Daemon의 약자로 네임 서버를 위한 서버측 데몬 프로그램

 

 

 

1. BIND 파일 다운로드 ( https://www.isc.org/downloads )

     └ bind-9.8.2.tar.gz

 

 

 

2. 설치과정

 

 1. 파일 압축풀기

# tar xvfz bind-9.8.2.tar.gz

 

 2. 폴더 이동 및 설치 전 환경설정

# cd bind-9.8.2
# ./configure --prefix=/usr/local/dns

 

 3. 설치

# make && make install

 : make 완료 후, make install 수행

 

 

 

3. named.conf 설정  

 

 named.conf  (/usr/local/dns/etc/named.conf)

 : server.com or naver.com 입력 시, 해당 zone 파일에서 설정한 내용에 맞게 ip를 돌려준다.

 

options {
        directory "/var/named";
        dump-file "/var/tmp/named_dmp.db";
        statistics-file "/var/tmp/named.stats";
        pid-file "/var/run/named.pid";
};

 zone "server.com" IN {
        type master;
        file "zone-server.com";
};
 

 

zone "naver.com" IN {
        type master;
        file "zone-naver.com";
};
 

 

 

 

named.conf 주요 문법

 

options {
    directory "디렉토리명";                 - 네임 서버 데이터베이스 파일이 들어있는 디렉토리
    dump-file "덤프파일명";                - 정보가 갱신될 때 저장되는 파일 
    statistics-file "통계파일명";           - 통계처리 용도의 파일
};

zone "도메인이름" IN {
    type hint or master or slave;            
    file "파일명";                                - options의 directory에 생성될 도메인 이름의 상세 설정 파일 (zone file)

    allow-update { IP or none } ;         - 2차 네임 서버의 주소. 생략하면 none

};

 

 

 

 

4. Zone 파일 생성

 

zone-server.com (/var/named/zome-server.com)

 

$TTL    3H
@       SOA     @       root.   ( 1 1D 1H 1W 1H )
         IN         NS     @
         IN         A       172.16.7.112

 

ns      IN      A       172.16.7.112

www  IN      A       172.16.7.112

 

 

zone-naver.com (/var/named/zone-naver.com)

 : naver.com 입력 시, naver 가 아닌 google.com 으로 이동하도록 지정

 

$TTL 86400 

@    SOA     @      root.    ( 2 1D 1H 1W 1H )

IN         NS    @
IN        A       74.125.71.105

 

www   IN      A       74.125.71.105

 

 

* 도메인으로 표시할 때에는 끝에 반드시 . 을 붙이고, IP로 표시할 때에는 . 을 붙이지 않음

 

 

 

Zone FIle 문법

 

 ; (세미콜론)

 주석
 $TTL

 Time To Live의 약자, 질의해 간 다른 네임 서버가 해당 IP주소를 캐시에 저장하는 기간

  ex) 86400 = 86400초 = 1일 , 3H = 3시간

 @

 /etc/named.conf에 정의 된 도메인을 의미함.

  ex) zone-naver.com -> naver.com , zone-server.com -> server.com

 IN

 Internet을 의미, 클래스 이름

 SOA

 Start Of Authority의 약자, 권한의 시작을 의미

serial - 버전정보
refresh -  상위 네임서버에게 업데이트 요청하는 간격
retry - 상위 네임서버에 문제 발생 시 재접속 시도 간격
expire - 상위 네임 서버에 접속 못할 경우 이전의 정보 파기하는 간격
minimum -  이 시간 이후에 정보가 삭제됨

 NS  Name Server의 약자, 설정 된 도메인의 네임 서버 역할을 하는 컴퓨터 지정
 MX

 Mail Exchanger의 약자, 메일 서버 컴퓨터 지정

  ex) IN    MX    10    mail

        : mail server 는 여러개를 지정할 수 있는데, 숫자를 통해 우선순위 지정.

          숫자가 낮을수록 우선순위가 높다.

 A  호스트 이름에 상응하는 IP주소 지정
 CNAME

 호스트 이름에 별칭 부여시 사용

 

 

 

 

5. 설정파일 검사 : 특별한 메세지가 뜨지 않으면 정상

 

 - named.comf 파일 검사

# /usr/local/dns/sbin/named-checkconf /usr/local/dns/etc/named.conf

 

 - zone 파일 검사
     # /usr/local/dns/sbin/named-checkzone zonename /var/named/[zone파일명]

 

[root@server112 ~]# /usr/local/dns/sbin/named-checkconf /usr/local/dns/etc/named.conf
[root@server112 ~]# /usr/local/dns/sbin/named-checkzone server.com /var/named/zone-server.com
zone server.com/IN: loaded serial 1
OK
[root@server112 ~]# /usr/local/dns/sbin/named-checkzone naver.com /var/named/zone-naver.com
zone naver.com/IN: loaded serial 2
OK

 

 

6. named 실행

 

# /usr/local/dns/sbin/named

 

 

 

7. .bash_profile 수정

 : 시작 시 자동으로 구동하게 설정

 

.bash_profile (/root/.bash_profile)

 

* 내용 추가

 

/usr/local/dns/sbin/named