다음 이전 차례

4. 새롭게 만들어진 BIND를 설치 합니다.

보통 이전에 rpm이나 기타 다른것으로 설치되어 있는것이 있다면 제거 해도 좋습니다. RedHat을 사용하는 Linux라면 bind, bind-utils, bind-devel, caching-nameserver이 설치되어 있을것입니다. /etc/rc.d/init.d/named 스크립트가 있다면 지우기전에 보관하는것이 좋을것입니다.

4.1 chroot밖에서의 설치

This is the easy part :-). /usr/local/sbin/named 데몬을 실수 방지를 위해 권한을 000줍니다. #chmod 000 /usr/local/sbin/named

4.2 chroot안에서의 설치

named daemon 화일과 named-xfer(zone trandfer를 위한 화일)을 보통 복사 합니다.

 # cp src/bin/named/named /chroot/named/bin
# cp src/bin/named-xfer/named-xfer /chroot/named/bin

4.3 시작 스크립트를 작성합니다.

보통 RedHat 6.0 system에서는 다음과 같습니다. -u 는 실행된 후에 네인서버의 변경될 사용자 ID를 말합니다. -g 는 실행된 후에 네인서버의 변경될 사용자 group를 말합니다. -t 는 chroot를 적용할 디렉토리를 말합니다. >>>>daemon /chroot/named/bin/named -u named -g named -t /chroot/named 원본에는 위와 같았으나 저는 아래같이 수정하였습니다. >>>>daemon /chroot/named/bin/named -u nobody -g nobody -t /chroot/named

아래 스크립트는 /etc/rc.d/init.d/named 에 저장 합니다.

 #!/bin/sh # 
#named           This shell script takes care of starting and stopping #
named (BIND DNS server).  # # chkconfig: 345 55 45 # description: named
(BIND) is a Domain Name Server (DNS) \ # that is used to resolve host
names to IP addresses.  # probe: true
# Source function library.  . /etc/rc.d/init.d/functions
# Source networking configuration.  . /etc/sysconfig/network
# Check that networking is up.  [ ${NETWORKING} = "no" ] && exit 0
[ -f /chroot/named/bin/named ] || exit 0
[ -f /chroot/named/etc/named.conf ] || exit 0
# See how we were called.  case "$1" in
  start)
        # Start daemons.  echo -n "Starting named: " daemon
        /chroot/named/bin/named -u named -g named -t /chroot/named echo
        touch /var/lock/subsys/named ;;
  stop)
        # Stop daemons.  echo -n "Shutting down named: " killproc named
        rm -f /var/lock/subsys/named echo ;;
  status)
        /usr/local/sbin/ndc status exit $?  ;;
  restart)
        /usr/local/sbin/ndc restart exit $?  ;;
  reload)
        /usr/local/sbin/ndc reload exit $?  ;;
  probe)
        # named knows how to reload intelligently; we don't want linuxconf
        # to offer to restart every time /usr/local/sbin/ndc reload
        >/dev/null 2>&1 || echo start exit 0 ;;
  *)
        echo "Usage: named {start|stop|status|restart}" exit 1
esac
exit 0

4.4 설정 변경

named.conf 에 적용된 설정 몇개를 변경해야 할지도 모릅니다. 변경해야 할것들은 아래예들 등입니다.

directory "/etc/namedb"; pid-file "/var/run/named.pid"; named-xfer
"/bin/named-xfer";
(%주의%) 절대 directory 안에다가 /chroot/named/etc으로 적지 마십시요 /chroot가 /라고 생각하므로 위에 설정대로 진행하였다면 보통 /etc/namedb 이렇게 될것 입니다.
다음 이전 차례