본문 바로가기

broko Blog!

[centOS] Bind 설치및 named 데몬 실행

반응형
Bind 란?

DNS(Domain Name System)이란 이름과 IP주소를 mapping하여 주는 거대한 분산 네이밍 시스템 방법론이다. 인터넷에 존재하는 수많은 네임서버는 각각 도메인 계층상의 일부분을 관리하고, 정보를 요구하는 client Resolver는 규칙에 따라 분산된 자료중 원하는 정보를 찾을수 있게 해주는 방법을 말한다. BIND(Berkeley Internet Name Domain)는 이러한 DNS를 운용하게 위한 네임서버측의 데몬프로그램으로서 UNIX에서 사용되도록 구현된 프로그램을 말한다. 

- 출처 : 리눅스 포털( www.linux.co.kr)


현재 자신의 시스템에 bind 가 설치되어 있는지 확인합니다.

# rpm -qa | grep bind

설치되어 있다면..


이런식으루 버젼과 함께 출력될껍니다. 버젼 9.3.6-4군요.

암튼..

설치 되어 있지 않다면,  yum 명령으로 간단하게 설치할수 있습니다.

# yum install -y bind-*     //  bind 패키지를 전부 설치합니다.

설치가 끝난후 확인해보니, /etc/named.conf 파일이 생성되야 하는데, 생성이 되질 않습니다.

rpm 설치하면 생성된다고 하던데, yum 으로 설치해서 그런가 봅니다.

따라서, 설정파일을 수동으로 설치해줘야 합니다. ( 파일을 복사해서 넣어줍니다. )

cp -rf /usr/share/doc/bind-9.3.4/sample/etc/ /var/named/chroot/
cp -rf /usr/share/doc/bind-9.3.4/sample/var/named/ /var/named/chroot/var/
/etc/named.conf 의 실제 파일인, /var/named/chroot/etc/named.conf 파일에 하드 링크를 생성합니다.
(심볼링 링크 생성해도 될듯 하지만, 저같은 경우엔 경로 에러가 떠서 하드 링크로 생성했습니다.)
# ln /var/named/chroot/etc/named.conf  /etc/named.conf (필요)
# ln /var/named/chroot/etc/named.root.hints /etc/named.root.hints (필요)
# ln /var/named/chroot/etc/named.rfc1912.zones /etc/named.rfc1912.zones
# ln /var/named/chroot/etc/rndc.conf /etc/rndc.conf
# ln /var/named/chroot/etc/rndc.key /etc/rndc.key
( 이중에 한두개는 이미 생성되어 있다고 나올껍니다. 에러뜨는 바람에 열받아서 스샷을 못찍었음.

또, 5개 전부다 링크 안걸어도 되는데 파일수가 적으니 그냥 5개 다 만들었습니다.)

- 이제 /etc/named.conf 에 바로가기가 생성되었으니..
# service named start    // named 가동
하면 정상적으로 name 데몬이 올라가야 합니다.
근데 자꾸 실패가 뜨더군요. 로그파일을 보니..

   이런 에러가 뜹니다. /etc/named.conf 파일에 ddns_key 옵션이 잘못 인코딩 되어있다는군요.


키값을 입력해주기 위해

/usr/sbin/dns-keygen    // 키 생성을 합니다.



위 내용 입력화면 위 사진처럼 코드가 하나 나옵니다. 드래그로 복사하세요.

# vi /etc/named.conf

99번 줄일겁니다. 저도 막 설치하고 본거니깐요.


key ddns_key
{
algorithm hmac-md5;
         secret "zEERjFjveXxTbQ9sFJIQuROpT1Sy0J2FDOyfsFovAujo5T1qmJdWk0aEQ3jW";
};

secret " xxxxx " 부분이 있죠? "" 안에다가 아까 복사한 rndckey 값을 입력 해줘야 합니다. 기존엔 영문으로 

" use /usr/sbin/dns-keygen to generate TSIG keys

라고 입력되어 있으니, 지우고 붙여넣기 해줍니다.




 드뎌 올라갔네요. 간단하지만, 모르면 개고생 이더군요.

책 뒷부분에 나와있는 내용을 모르고, 엄청 찾아댔습니다.



< 에러 내용 >

- 인증키(rndckey) 미설정으로 에러 발생.

Bind 설치시 rpm 패키지 설치 하면, 자동으로 생성 되지만, 수동으로 설치하면, rndckey가 제대로 생성되지 않기 때문이다.

rndc : 로컬 또는 원격지의 네임서버를 제어하기 위한 관리용 유틸리티 이며, reload, stop, status 등의 작업을 할수있다.

/etc/rc.d/init.d/named 스크립트의 내용을 살펴보면,

/usr/sbin/rndc stop
/usr/sbin/rndc status
/usr/sbin/reload > /dev/null 2>&1 || echo start


항목이 있으므로,  /etc/rc.d/init.d/named  스크립트가 제대로 동작하기 위해선, rndc 가 제대로 설정되어 있어야 한다.


* 네임서버 설정하는 법 포스팅 예정