보통 이전에 rpm이나 기타 다른것으로 설치되어 있는것이 있다면 제거 해도 좋습니다. RedHat을 사용하는 Linux라면 bind, bind-utils, bind-devel, caching-nameserver이 설치되어 있을것입니다. /etc/rc.d/init.d/named 스크립트가 있다면 지우기전에 보관하는것이 좋을것입니다.
This is the easy part :-). /usr/local/sbin/named 데몬을 실수 방지를 위해 권한을 000줍니다. #chmod 000 /usr/local/sbin/named
named daemon 화일과 named-xfer(zone trandfer를 위한 화일)을 보통 복사 합니다.
# cp src/bin/named/named /chroot/named/bin # cp src/bin/named-xfer/named-xfer /chroot/named/bin
보통 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
named.conf 에 적용된 설정 몇개를 변경해야 할지도 모릅니다. 변경해야 할것들은 아래예들 등입니다.
directory "/etc/namedb"; pid-file "/var/run/named.pid"; named-xfer "/bin/named-xfer";(%주의%) 절대 directory 안에다가 /chroot/named/etc으로 적지 마십시요 /chroot가 /라고 생각하므로 위에 설정대로 진행하였다면 보통 /etc/namedb 이렇게 될것 입니다.