bind 컴파일


 CentOS 4.x 에서 named 최신버전으로 업그레이드하기

 

1. 설치전 필수 참조 사이트

Bind 9.4.2 버전 업그레이드시 주의점  http://cafe.naver.com/dnspro/8955

 

필독1. 업그레이드후 RFC규약변화, Zone파일문법검사, 디폴트값 변경으로 서비스가 안될수 있으니 반드시 백업후 진행해야합니다.

필독2. DNS BIND는 취약점이 계속 발견되고 있기때문에, 가능하다면 1년에 1번씩정도 업그레이드 하기를 권고합니다.

  

 

2. 소스 다운로드 받기

[root@localhost tmp]# ftp ftp.isc.org
Name (ftp.isc.org:root): ftp

Password:  <그냥 enter치세요>

ftp> cd   isc
ftp> cd  bind9

ftp> cd 9.6.1-P1 

ftp> ha
ftp> bi
ftp> mget  *.gz        


 

 

3. 기존 설정 백업하기

1) named.conf  및  named데몬 백업받아 놓기

2) 패치후 디폴트 값의변경으로 서비스가 안되는 현상이 발생될수 있으니 슬레이브 서버1대에서부터 진행.

   문제시 백업한 named 로 원복바랍니다.

 

[root@localhost tmp]# cp   /etc/named.conf    named.conf-20070422
[root@localhost tmp]# /usr/sbin/named -v
BIND 9.2.4
[root@localhost tmp]# cp    /usr/sbin/named     /usr/sbin/named-924

 


4. 압축 풀기  & 

tmp #tar zxvf bind-9.4.0.tar.gz

1) Case1 => bind-9.6.1 이상버전 Vi로 소스수정할 필요 없다 (Centos 기준 )

2) Case2 => Vi로 소스경로를 수정해주고 컴파일 해야 장애가 나지 않는다

bind-9.4.0# vi  bin/named/include/named/globals.h

EXTERN const char *             ns_g_defaultpidfile     INIT(NS_LOCALSTATEDIR
                                                             "/run/named.pid");
EXTERN const char *             lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
                                                            "/run/lwresd.pid");


이후
                                                             "/named.pid");
EXTERN const char *             lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
                                                            "/lwresd.pid");

 5. 컴파일하기

bind-9.4.0 # ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run/named --enable-threads

 

bind-9.4.0# make

bind-9.4.0# make install

 

bind-9.4.0# ps -ef |grep named
named     8147     1  0 05:02 ?        00:00:00 /usr/sbin/named -u named -t /var/named/chroot
root     20195  4102  0 05:27 pts/2    00:00:00 grep named

// 컴바일후 바로 확인해야 한다.  OS에 따라 데몬이 죽는경우가 발생한다.

 

//데몬이 떠있는경우 데몬을 한번 내리고 다시 시작하기

bind-9.4.0# kill -9 8147 && /usr/sbin/named -u named -t /var/named/chroot

 

//데몬이 죽어있는경우 빨리 띠워주기

bind-9.4.0]# /usr/sbin/named -u named -t /var/named/chroot

 

//데몬 확인

# ps -ef |grep named
named    20197     1 23 05:27 ?        00:00:00 /usr/sbin/named -u named -t /var/named/chroot
root     20202  4102  0 05:27 pts/2    00:00:00 grep named

 

//업그레이드 된 버전확인

# /usr/sbin/named -v
BIND 9.4.0

 

//rndc확인

# rndc reload
server reload successful

 

5. 컴파일한 최신 바인드 바이너리 백업받기
[root@localhost bind-9.4.0]# cp       /usr/sbin/named        /usr/sbin/named-940

 

감사합니다.