반응형


만일 설치부터 필자를 계속 따라오신 분이라면 현재의 서버엔 BIND 9가 설치되어 있을 것이다.

확인해 보도록 하자.

 

# rpm -qa | grep bind
bind-libs-9.2.4-2
bind-utils-9.2.4-2
ypbind-1.17.2-3
bind-9.2.4-2
bind-chroot-9.2.4-2

 

네임서버도 설치되어 있나 확인해 보자.

# rpm -qa | grep name
caching-nameserver-7.3-3


 

이젠 서버에선 DNS를 설정할 준비가 끝났다.

 

아래 점섬내의 글은 BIND가 설치되지 않으신 분들만 보도록 하자~~

=======================================================================================

1. 설치

설치는 간단하게 rpm 설치 하는 법만 설명하도록 하겠습니다.
RH9에서 DNS와 관련된 패키지는 다음과 같습니다. (bind9)


bind-9.2.1-16          : DNS (도메인 이름 시스템) 서버.
bind-devel-9.2.1-16 : bind DNS 개발을 위해 필요한 파일들과 라이브러리들이 포함되어 있습니다.
bind-utils-9.2.1-16   : DNS 네임 서버들을 질의(query)하는 유틸리티.
caching-nameserver-7.2-7  : 캐싱 네임 서버를 설정하는데 필요한 설정 파일들.
redhat-config-bind-1.9.0-13 : Red Hat DNS 설정 도구.

 

위 패키지들 중에 bind-devel-9.2.1-16 는 설치하지 않도록 하겠습니다. ^^;

개발에 필요한 것이기 때문이죠.
위 패키지들을 rpm -qa | grep bind 해서 확인하시고 있을경우 삭제합니다.

 

# rpm -e --nodeps bind-libs-9.2.4-2
# rpm -e --nodeps bind-utils-9.2.4-2
# rpm -e --nodeps ypbind-1.17.2-3

 

다음과 같이 설치하세요

 

# rpm -Uvh /home/free/e-cnn/dns/bind-utils-9.2.1-16.i386.rpm
# rpm -Uvh /home/free/e-cnn/dns/bind-9.2.1-16.i386.rpm
# rpm -Uvh /home/free/e-cnn/dns/redhat-config-bind-1.9.0-13.noarch.rpm
# rpm -Uvh /home/free/e-cnn/dns/caching-nameserver-7.2-7.noarch.rpm

 

이렇게 설치가 끝났다면, dns 실행 준비가 된 것 입니다.

- CentOS 4.1 설치시 패키지선택에서 DNS 이름서버를 선택하면 위의 내용이 모두 설치됨.
  (위와 같은 설치과정을 거칠 필요가 없음)

=======================================================================================

 

이해를 돕기위해 사용되는 예제에서 필자는 test.net 이란 가상의 도메인과 192.168.1.100 이란 공인IP를 사용하것으로 하겠다. (참고로 192.168.~ 로 시작되는 IP는 99% 공유기 IP이다.)

설마 아래의 내용을 보고 실제로 test.net으로 따라하시는 분은 없을거라 믿는다..

 

우선 도메인을 구입하기 위해서 whois.co.kr 에 접속했다.

test.net이란 도메인을 검색했더니 다행스럽게도 소유자가 없는 도메인으로 나와서

바로 회원으로 가입하고 1년 사용료 2만얼마를 내고 도메인을 구입했다.

 

네임서버를 지정하기 위해서 [내 도메인 관리]의 [호스트 관리] 메뉴로 들어가서...

ns.test.net 이란 호스트을 만들고 IP입력란에 192.168.1.100 라고 입력한후 호스트명 생성을 클릭.

 

[내 도메인 관리] - [네임서버 변경]으로 들어가서 1차 네임서버에 ns.test.net , 2차 네임서버는 whois에서 제공하는 네임서버명을 입력하고 저장했다.

(참고로 com 이나 .net은 외국도메인이라 적용되는데 평균 24시간정도가 소요된다.)

 

이제 다시 CentOS로 들어와서...

 

1.서버에서 도메인을 제일 먼저 찾는 곳

# vi /etc/hosts
=======================================================================================
127.0.0.1        test.net      localhost
192.168.1.100  ns.test.net  ns
=======================================================================================
위와 같이 바꾸도록 하자

 

2.서버에서 쓸 dns

# vi /etc/resolv.conf
=======================================================================================
domain test.net
search test.net
nameserver 192.168.1.100
nameserver 168.126.63.1
nameserver 168.126.63.2
=======================================================================================

 

3.도메인에 대하 ip를 찾을 때 참조할 순서
# vi /etc/host.conf
=======================================================================================
order hosts,bind

==> 초기 설치시 이렇게 되어 있으며, 의미는 /etc/hosts파일부터 찾고, bind에서 찾는다는의미
=======================================================================================

 

4.Zone 파일 및 케시 DNS서버에 대한 설정

# vi /etc/named.conf
=======================================================================================
options {
        directory "/var/named";        // zone 파일을 저장할 디렉토리
        // query-source address * port 53;  // DNS 서버의 ip와 포트 설정 (기본)
controls { //==> 127.0.0.1 에서 rndc로 접속시 컨트롤 가능하다는 의미
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
// 캐시 네임 서버 설정
zone "." IN {
        type hint;
        file "named.ca";
};
// localhost 에 대한 설정
zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };  //다이나믹 하게 업데이트를 허용할것인지 설정한다. 대부분 none
};
// 127.0.0.X 에 대한 역 도메인
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};
include "/etc/rndc.key";
=======================================================================================

 

위 파일 내용들은 caching-nameserver에서 기본적으로 생성되는 것들이다. 대부분의 서버에서 별다른 설정하지 않고 사용하면 되고, 중요한 것은 다음 줄부터이다. test.net 이라는 도메인을 셋팅하도록 하겠다.

 

named.conf파일의 맨 아랫 줄에 아래의 내용을 추가한다.

=======================================================================================
zone "test.net" IN {
type master;
file "test.net.zone";
allow-update { none; };
};

zone "1.168.192.in-addr.arpa" { //reverse domain - IP가 역으로 입력되어 있는 것에 주목~!!
type master;
file "test.net.rev";
allow-update { none; };
};
=======================================================================================

 

zone 파일명은 test.net.zone으로 하였다.

위에서 추가한 도메인에 대한 zone 파일을 만들도록 하자..

 

# vi /var/named/chroot/var/named/test.net.zone
=======================================================================================
$TTL    86400
@       IN      SOA     ns.test.net. root.ns.test.net.  (
                2005101311 ; Serial
                28800      ; Refresh
                14400      ; Retry
                3600000    ; Expire
                86400 )    ; Minimum
                IN      NS      ns.test.net.
                IN      MX  0   mail.test.net.
;
localhost       IN      A       127.0.0.1
@                 IN      A       192.168.1.100
www            IN      A       192.168.1.100

mail              IN      A       192.168.1.100
*                  IN      A       192.168.1.100
=======================================================================================
# ln -s /var/named/chroot/var/named/test.net.zone /var/named/test.net.zone

(반드시 심볼릭 링크를 걸어야 한다~~!!!)


# vi /var/named/chroot/var/named/test.net.rev
=======================================================================================
$TTL    86400
@       IN      SOA     ns.test.net. root.ns.test.net.  (
                2005101312 ; Serial
                28800      ; Refresh
                14400      ; Retry
                3600000    ; Expire
                86400 )    ; Minimum
                IN      NS      ns.test.net.
;
100             IN      PTR     ns.test.net.
100             IN      PTR     www.test.net.
100             IN      PTR     test.net.
=======================================================================================
위에서 100이란 숫자는 IP의 제일 마지막에 해당하는 숫자이다.

# ln -s /var/named/chroot/var/named/test.net.rev /var/named/test.net.rev

 

자.. 이제 모든 설정은 끝났다.. 사실 이제부턴 네임서버를 변경한 후 하루정도가 지나야 확실한 결과를 얻을 수 있다. 또한 방화벽을 설치했다면 외부에서 네임서버로 접근할 수 없으니 주의한다. 네임서버의 포트는 42로 방화벽에서 이 포트를 풀어야 한다.


설치와 설정이 끝났다면, DNS 서버를 시작하도록 한다.


(1) 시작
# /etc/rc.d/init.d/named start

 

(2) 재시작
# /etc/rc.d/init.d/named reload

 

(3) 정지
# /etc/rc.d/init.d/named stop

 

(4) 서버시작시 자동으로 실행

# ntsysv

named 라는 서버스에 체크하고 OK로 저장하고 나오도록 한다.

 

(5) 호스트 네임 검사
# grep named /var/log/messages

 

(6) 설정한 도메인 확인하기

# nslookup

> server 168.126.63.1

> set type=any

> test.net
[출처] [CentOS] DNS 네임서버 설정 (BIND 9)|작성자 진아남편

 

반응형

+ Recent posts