순서는 다음을 따른다
1. 기존 설치된 패키지 확인 -> 2. 업데이트 및 패키지 설치 -> 3. DNS서버
설정 -> 4. Zone파일 생성 및 링크 -> 5. 서비스 시작 및 확인
1. 기존 설치된 패키지 확인
[root@localhost ~]# rpm -qa | grep bind //설치된 바인드
확인
bind-9.3.4-10.P1.el5
bind-devel-9.3.4-10.P1.el5
bind-utils-9.3.4-10.P1.el5
bind-chroot-9.3.4-10.P1.el5
bind-libs-9.3.4-10.P1.el5
ypbind-1.19-11.el5
[root@localhost
~]# rpm -qa | grep name //설치된 네임서버
확인
caching-nameserver-9.3.4-10.P1.el5
2. 업데이트 및 패키지 설치
만약 위와 같은 서비스가 없다면 설치를 해준다.
# yum -y install bind*
# yum -y install
caching-nameserver*
3. DNS서버 설정
우선적을 IP세팅이 잘 되어있는지 확인을 해야 한다.
# ifconfig 를 확인하여 자신이
원하는 ip에 DNS서비스를 돌릴 준비가 되어 있는지 확인하며 수정하여 준다. IP세팅은 여기를 참고 하도록 한다.
# vi /etc/resolv.conf //DNS를 수정하여 준다.
; generated by /sbin/dhclient-script
search
test.net
nameserver 192.168.0.34
# vi /etc/sysconfig/network //네트웍을 다음과 같이 설정해
준다.
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=ns.jiho.net
# vim /etc/named.caching-nameserver.conf //네임서버의 권한을
아래와 같이 수정 해준다.
listen-on port 53 { any ;
};
query-source port
53;
allow-query { any ;
};
match-clients {
any ; };
match-destinations { any ; };
설명을 더하자면 포트 개방과 쿼리의 허용에 대한 내용이다. 파일을 열어보면 localhost 등 제한적인 서비스를
하게 되어 있는데 여기서 any로 설정하게 되면 모든 질의에 대해 응답을 하게 되는 것이다.
# vim /etc/named.rfc1912.zones //네임데몬 존파일
수정
여기에서 아래에 만들 존 파일을 언급하고 링크하게 된다. 수식에 맞춰 잘 작성하자. 참고로 내용을
아래에 추가만 하면 된다.
순방향
zone "test.net" IN
{ // 연결할 서버 혹은 DNS 의 주소를 적는다.
type
master;
file "test.net.zone"; // zone 파일
지정.
allow-update { none; };
};
역방향
zone "0.168.192.in-addr.arpa" IN
{ // 역방향은 ip.in-addr.arpa 형식으로 만든다.
type master;
file "0.168.192.zone"; // zone 파일 지정
allow-update
{ none; };
};
4. Zone파일 생성 및 링크
# cd /var/named/chroot/var/named
//이동한다.
[root@localhost named]# ls
-al
합계 52
drwxr-x--- 4 root named 4096 6월 18 09:31 .
drwxr-x--- 6
root named 4096 6월 18 09:08 ..
drwxrwx--- 2 named named 4096 6월 18 09:27
data
-rw-r----- 1 root named 198 10월 13 2012
localdomain.zone
-rw-r----- 1 root named 195 10월 13 2012
localhost.zone
-rw-r----- 1 root named 427 10월 13 2012
named.broadcast
-rw-r----- 1 root named 1892 10월 13 2012
named.ca
-rw-r----- 1 root named 424 10월 13 2012
named.ip6.local
-rw-r----- 1 root named 426 10월 13 2012
named.local
-rw-r----- 1 root named 427 10월 13 2012
named.zero
drwxrwx--- 2 named named 4096 7월 27 2004 slaves
파일을 보면 localhost.zone 파일이 있는데 지금
이게 없다면 caching-nameserver 가 없거나 잘못 설치된 것이니 설치를 해야
한다.
cp명령어를 이용하여 zone파일을 만들어 준다.
#cp localhost.zone test.net.zone // test.net 의 zone 파일을
만든다.
#cp localhost.zone 0.168.192.zone // teet.net 의 역방향 zone 파일을
만든다.
0.168.192.zone 서버의 맨 마지막 끝자리를 뺀 3자리에 zone을 붙여서 만들어 낸다.
[test.net.zone]
$TTL 86400
@ IN
SOA @ root (
42 ;
serial (d. adams)
3H ;
refresh
15M ;
retry
1W ;
expiry
1D ) ;
minimum
IN NS
ns.test.net.
IN A 127.0.0.1
IN
AAAA ::1
ns IN A
192.168.0.34
www IN A 192.168.0.34
ftp
IN A 192.168.0.34
[0.168.192.zone]
$TTL 86400
@ IN SOA
@ root (
42 ;
serial (d. adams)
3H ;
refresh
15M ;
retry
1W ;
expiry
1D ) ;
minimum
IN NS @
IN
A 127.0.0.1
IN AAAA ::1
34
IN PTR www.test.net.
34 IN
PTR ftp.test.net.
34 IN
PTR ns.test.net.
이제 파일 퍼미션을 주도록 한다. 파일 퍼미션을 주는 이유는 chroot의 제한
때문이다.
기존에는 chroot 상위에 존 파일을 올렸는지 지금은 링크로 대체 하고 있다.
# chown named:named /var/named/chroot/var/named/jiho.net.zone
# chown named:named /var/named/chroot/var/named/1.16.172.zone
* 루트 권한을 줘도 되는데...권장되지는 않는다.
ex #
chown root:named /var
다음은 /var/named 폴더에 링크파일을 넣을 차례이다. 해당 폴더로 이동하여
# ln -s /var/named/chroot/var/named/jiho.net.zone
jiho.net.zone
# ln -s /var/named/chroot/var/named/1.16.172.zone
1.16.172.zone
이렇게 하면 링크파일이 생성된다. 이제는 실행할 일만
남았다.
# service named start 를 하면 서비스가 실행이 될 것이다. 만약 오류가 난다면 해당하는
파일로 가서 수정을 하면 되겟다.
또한 존 파일이나 기타 파일을 수정한다면 재시작 해주어야 한다.
# service named restart 를 이용하도록 한다.
서비스 시작시 자동실행
# chkconfig --list |
grep named
named 0:off 1:off 2:on
3:on 4:on 5:on 6:off //이 상태가 되어야 한다.
설정법
# chkconfig --level 5 named on
# chkconfig named
on
grep 해보면 위와 같이 변경 된 것을 확인 할 수 있다.
2차 네임 서버 구성 하는 방법
= 1차 네임 서버의 설정 =
1. 〔 rndc.key 를 이용한 동기화 방법
〕
- 1차 네임서버의 /etc/rndc.key 값을 2차 네임서버의 /etc/rndc.key값을 동일하게
수정한다.
[root@backup named〕# more /etc/rndc.key
key "rndckey"
{
algorithm hmac-md5;
secret
"3MueARgOApRyrgACga6jqWZPzFIp83uyns97bMAdz0ylJ8LHQZ8NO";
};
2. 〔 1차 네임서버의 named.conf 설정 〕
-
named.conf파일에 "allow-transfer" 항목를 추가 등록한다.................
options
{
directory "/var/named";
dump-file
"/var/named/data/cache_dump.db";
statistics-file
"/var/named/data/named_stats.txt";
//query-source address * port
53;
allow-transfer { 192.168.1.2; }; // 2차 DNS
IP..
};
3. 〔 /etc/rndc.key 등록 〕
- 기본으로
include "/etc/rndc.key"; 로 등록되어 있음. ( zone 설정 항목보다 상위에 라인에 등록)
- 또는
rndc.key 값을 직접 등록한다.
key "rndckey" {
algorithm
hmac-md5;
secret
"3MueARgOApRyrgACgalqOZPzFIp83uyns97bMAdz0ylJ8LHQZ8NO";
};
- 둘장
하나만 설정하면 됩니다.
4. 〔 ZONE 파일 설정〕
- zone 설정
시 allow-update, allow-transfer 항목 추가
zone "bansong.hs.kr" IN
{
type master;
file
"named.bansong";
allow-update { key rndckey; };
allow-transfer { key rndckey; };
};
또는
rndc.key값이 아닌 IP를 직접등록하는 아래 방식도 있다
allow-update { localhost;
192.168.1.2; };
allow-update { localhost; 192.168.1.2;
};
= 2차 네임 서버의 설정 =
5.
〔 named.conf 설정〕
- named.conf 파일에 server 항목를
등록한다.
server 192.168.1.1{ // 1차네임서버
IP등록
keys {rndckey;};
};
6.
〔 ZONE 파일 설정〕
- zone 설정 시 type , masters 항목 추가
zone
"bansong.hs.kr" IN {
type slave;
file
"named.slave.bansong";
masters { 192.168.1.1; }; // 1차네임서버
IP등록
};
7. 〔 named 재 실행 및 /var/name/chroot/var/named
백업파일 확인〕
- 설정이 끝나면 named 데몬 재실행 후 /var/log/messages 파일로 동작 여부를
확인한다.
- 2차 네임서버의 /var/named/chroot/var/named에 zone 파일 생성 되는지 확인한다.
-
마지막으로 dig 및 nslookup 명령을 이용하여 동작여부를 확인한다.