tinydns / djbdns 설치방법

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 설치방법
Scroll to top