다운로드: ftp://ftp.isc.org/isc/bind/src
프로그램: bind-8.2-src.tar.gz, bind-8.2-doc.tar.gz
가. 사전 작업
1. 설치되어 있는지 알아내기
$ rpm -qa|grep bind
bind-8.2-6
bind-utils-8.2-6
2. 구버전 삭제하기
$ rpm -e caching-nameserver-?.?-?
$ rpm -e bind-4.?.?-?
$ rpm -e bind-utils-4.?.?-?
3. 새버전 설치하기
$ rpm -ivh bind-8.1.2-5.i386.rpm
$ rpm -ivh bind-utils-8.1.2-5.i386.rpm
$ rpm -ivh caching-nameserver-5.2-1.noarch.rpm
4. 소스로부터 설치
$ cd /usr/local
$ tar -zxvfp bind-8.2-doc.tar.gz
$ tar -zxvfp bind-8.2-src.tar.gz
$ cd ./bind-8.2-src
$ make clean
$ make depend
$ make all
$ make install
나. 환경 설정
DNS를 설정하기위한 파일들
1. /etc/resolv.conf
2. /etc/named.conf
3. /var/named/도메인.zone
4. /var/named/도메인.rev
5. /etc/hosts
6. /etc/host.conf
7. /etc/named.boot
※6과7번파일을 vi에디터를 이용하여 만들어야만 합니다.
/var/nemed 밑에 named.local, named.ca 파일은 그냥 사용
1. /etc/resolv.conf # DNS 서버의 IP 주소를 리눅스에 알려주는 역할
search top.co.kr # 검색 도메인, 호스트 이름을 뺀 도메인
nameserver 127.0.0.1 # 자신이 DNS 서버가 될 경우
nameserver 192.168.1.156 # 자신이 가지고 있는 IP주소
2. /etc/named.conf # DNS의 BIND가 동작할 때 필요한 설정파일. 핵심적 역할
# ; 행구분, { } 설정영역, // 주석, . 루트
options { // BIND와 관련된 것
directory "/var/named"; // 기준 디렉토리
};
zone "." { // 캐쉬 파일. 수정할 것 없음
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" { // localhost를 위한 Primary 도메인 설정
type master; // 수정할 것 없음
file "named.local";
};
// BIND가 관리할 도메인을 명시한다
// zone "관리할 도메인 이름" {
// type {hint|master|slave};
// file "존 파일의 이름";
// master { [마스터서버의 IP주소 ]; }
// };
zone "top.co.kr" { // 자신이사용할 도메인
type master; // master 자신이 수정하고 관리할 때, slave 다른 네임서버에서 관리
file "top.zone";
};
zone "1.168.192.in-addr.arpa" { // IP주소를 도메인 네임으로 역변환
type master;
file "top.rev";
};
3. /var/named/도메인.zone # /etc/named.conf 에서 만든 zone 파일을 /var/named/ 밑에 만든다
@ IN SOA ns.top.co.kr. root.top.co.kr. (
2000050501; Serial # 편집한 날짜
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
IN NS ns.top.co.kr. # 필수, NS는 Name Server을 의미, 끝에 . 주의
IN A 192.168.1.156 # 필수, A는 Name Server의 IP 주소
IN HINFO i586 LINUX # HINFO는 해당 주소에 대한 정보
IN MX 10 top.co.kr. # MX는 Mail서버를 의미
;
localhost IN A 127.0.0.1 # 필수, 호스트들의 정의
ns IN A 192.168.1.156
www IN A 192.168.1.156
mail IN A 192.168.1.156
ftp IN A 192.168.1.156
w3 IN CNAME www # 호스트에 대한 별명
4. /var/named/도메인.rev # IP 주소로부터 도메인 찾게 하기
@ IN SOA ns.top.co.kr. root.top.co.kr. (
2000050501 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
;
IN NS ns.top.co.kr.
1 IN PTR www.top.co.kr.
2 IN PTR mail.top.co.kr.
3 IN PTR ftp.top.co.kr.
4 IN PTR w3.top.co.kr.
5. hosts내용
127.0.0.1 localhost localhost.localdomain (이건 도메인에대한 설명)
192.168.1.156 top.co.kr top
다. DNS의 시작
$ cd /etc/rc.d/init.d
$ ./named restart
부팅시 기동
$ vi /etc/rc.d/init.d/rc.init
if [ -f /usr/sbin/named ]
then
echo -n "start named"
/usr/sbin/named
fi
라. 테스팅
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> ns.top.co.kr # 입력
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: ns.top.co.kr
Address: 192.168.1.156 # 정상
> www.top.co.kr # 입력
Server: localhost
Address: 127.0.0.1
Non-authoritative answer:
Name: www.top.co.kr
Address: 192.168.1.156 # 정상