7. DNS server

우리의 리눅스 박스가 도메인 이름을 가지고 있으며, 네임 서버를 운영해야 한다면 tinydns를 사용한다.

7.1. 서비스 디렉토리

tinydns-conf를 사용하여 서비스 디렉토리를 다음과 같이 만든다.

tinydns-conf dns dnslog /var/dns 1.2.3.4

7.2. 서비스 시작

svscan 으로 하여금 새로 만든 서비스를 시작하도록 /service에 링크를 걸어준다.

ln -s /var/dns /service

5초 이내에 tinydns 데몬이 시작될 것이다.

7.3. 설정하기

리눅스 박스의 도메인이 kldp.org 라 한다면 다음과 같이 설정해준다.

cd /var/dns/root/
./add-ns kldp.org 1.2.3.4
./add-ns 3.2.1.in-addr.arpa 1.2.3.4

이제 웹/메일/ftp 서버등도 돌아가고 있으므로, 다음과 같이 설정한다. 예:

cd /var/dns/root/

./add-host www.kldp.org 1.2.3.4
./add-alias kldp.org 1.2.3.4
./add-alias ftp.kldp.org 1.2.3.4
./add-mx mail.kldp.org 1.2.3.4

make

이 설정들은 /var/dns/root/data 에 텍스트 형태로 저장되며 수정후에는 tinydns가 사용할수 있는 cdb 형태로 만들어 주기 위해 make 나 tinydns-data 를 실행한다.

이미 설치한 dnscache가 참조하도록:

echo "1.2.3.4" > /var/dnscache/root/servers/kldp.org

7.4. 확인하기

이제 까지의 설정이 제대로 되었는지 tinydns-get으로 확인해보자. tinydns-get은 현재 디렉토리의 data.cdb 파일을 읽어 정보를 출력한다.

$ cd /service/dns/root/
$ tinydns-get a kldp.org

1 kldp.org:
77 bytes, 1+1+1+1 records, response, authoritative, noerror
query: 1 kldp.org
answer: kldp.org 86400 A 1.2.3.4
authority: kldp.org 259200 NS a.ns.kldp.org
additional: a.ns.kldp.org 259200 A 1.2.3.4