1. 다운로드
http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
2. daemontools 컴파일 및 설치
mkdir –p /package
chmod 1755 /package
daemontools-0.76.tar.gz 파일을 /package 폴더로 복사한 후 압축을 푼다.
cp daemontools-0.76.tar.gz /package
tar -zxvpf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
컴파일 에러 조치를 위한 수정
vi src/error.h 열어서 extern int errno 을 주석처리 or 삭제하고 아래내용 추가 #include <errno.h>
컴파일 & 인스톨
package/install
컴파일 및 설치가 완료되면 아래와 같은 문구가 나온다.
Copying commands into ./command…
Creating symbolic link daemontools -> daemontools-0.76…
Making command links in /command…
Making compatibility links in /usr/local/bin…
Creating /service…
Adding svscanboot to inittab…
init should start svscan now
설치 확인
ps -elf | grep svscan 또는 ps -aux | grep svscan
/bin/sh /command/svscanboot 와 svscan /service 이 구동중인게 확인된다.
3. djbdns / tinydns 컴파일 설치
djbdns-1.05.tar.gz 를 /package 폴더로 복사 후 압축해제
tar -zxvpf djbdns-1.05.tar.gz
cd /package/djbdns-1.05
컴파일 에러 수정
vi error.h extern int errno 를 #include 로 변경
vi src/error.h 열어서 extern int errno 을 주석처리 or 삭제하고 아래내용 추가 #include <errno.h>
컴파일 및 설치
make
make setup check
4. djbdns / tinydns server 설정
사용자계정 생성
/usr/sbin/useradd -s /bin/false tinydns /usr/sbin/useradd -s /bin/false dnslog
tinydns-conf utility 로 설정
tinydns-conf tinydns dnslog /etc/tinydns 192.168.12.5 (서버ip로)
심볼릭링크생성
ln -s /etc/tinydns /service
tinydns 구동확인
svstat /service/tinydns
djbdns / tinydns 데몬의 호스트 설정
cd /service/tinydns/root
vi data
방법1
# cd /var/dnscache/tinydns/root
# ./add-ns test.com 1.23.2.4
# ./add-ns 30.20.10.in-addr.arpa 1.23.2.4
# ./add-mx test.com 1.23.2.4
# ./add-host ns.test.com 1.23.2.4
# ./add-host mail.test.com 1.23.2.4
# ./add-alias ui.test.com 10.20.30.4
# make
이렇게 실행하여 추가하거나
실서버 추가 예제
# ./add-ns domain.com 1.234.56.78 .domain.com:1.234.56.78:a:259200 # ./add-ns 54.175.112.in-addr.arpa 1.234.56.78 .56.234.1.in-addr.arpa:1.234.56.78:a:259200 # ./add-mx domain.com 1.234.56.78 @domain.com:1.234.56.78:a::86400 # ./add-host ns1.domain.com 1.234.56.78 =ns1.domain.com:1.234.56.78:86400 # ./add-alias mail.domain.com 1.234.56.78 +mail.domain.com:1.234.56.78:86400 완성SET .domain.com:1.234.56.78:a:259200 .54.175.112.in-addr.arpa:1.234.56.78:a:259200 =ns1.domain.com:1.234.56.78:86400 =ns2.domain.com:1.234.56.78:86400 @domain.com:1.234.56.78:a::86400 +mail.domain.com:1.234.56.78:86400 +m.domain.com:1.234.56.78:86400 +www.domain.com:1.234.56.78:86400
4. 서버의 resolv.conf 수정
아래 문구를 추가 또는 수정
vi /etc/resolv.conf
with at least these two simple lines:
search domain.com
nameserver 1.234.100.999
참, /etc/resolve.conf의 nameserver 중 제일 위에 nameserver 127.0.0.1도 넣어줘야 합니다.
참고 resolv.conf: http://www.shellhacks.com/en/Setup-DNS-Resolution-With-resolvconf-in-Examples
설치 끝!
5. TinyDNS 구동
svc -u /service/tinydns
<데몬 명령어>
Tinydns 시작 It will turn on after reboot.
svc -u /service/tinydns
Turn off tinydns. It will not turn on after reboot.
svc -d /service/tinydns
Restart tinydns if it is on, but not if it’s off. This is used to restart a service after making a configuration change.
svc -t /service/tinydns
Restart all daemons under the /service directory — typically both tinydns and dnscache.
svc -t /service/*
Check the on/off status of all daemons under the /service directory – typically both tinydns and dnscache.
svstat /service/*
온라인메뉴얼
http://cr.yp.to/djbdns/run-server.html (Official)
http://www.lifewithdjbdns.org/ (추천)
http://www.fredshack.com/docs/djbdns.html
관련 포스팅
- tinydns (djbdns) 설정 샘플 예제
- TinyDNS 설치시 에러관련 에러패치하는 방법
- tinydns 데몬 명령어 및 점검법
- tinydns 설치중 문제발생시 해결방법
- tinydns 네임서버 ip 변경