2. djbdns DNS tools

djbdnsqmail의 제작자인 D. J. Bernstein이 만든 Domain Name System 도구이다.

djbdns는 보편적으로 사용되는 BIND(Berkeley Internet Name Domain)를 완전히 대체할수 있으며, 더 안전하고 관리하기 손쉽다. 또한 각각의 역할에 따라 서로 다른 작은 프로그램들로 나누어져 있으므로 요구에 따라 필요한 것만 사용할수 있는 장점을 가지고 있다.

djbdns는 제작자가 보안 구멍에 상금을 걸어 놓았을 만큼 안전을 보증하고 있다. (일반적으로 널리 쓰이지 않고 많이 알려지지 않은 것이 더 안전하다는 것은 ftpd,SMTP 서버등에도 적용된다).

나는 여기서 어떤 DNS 서버가 더 낳다거나 하는 등의 말은 하지 않겠다. 어떤 DNS 서버를 사용할 것인지는 완전히 당신의 판단에 달려있다. 이와 관련된 플레임 워가 있었는데 관심있는 사람들은 읽어보길. http://www.isc.org/ml-archives/bind-users/2000/08/msg01075.html

이 문서에서는 DNS 자체에 대한 설명(문서 참고 [1])은 하지 않으며, djbdns 가 포함하고 있는 모든 프로그램과 기능들을 설명하지 않으므로, 더 자세한 것은 각자 문서를 참고하거나 이 문서의 새버전이 나올때까지 기다린다. ;-)

다음과 같은 상황을 예로 djbdns의 dnscache와 tinydns의 설치와 설정을 설명한다.

                  linux box                  192.168.1.10
    Internet    +-----------+              |--------------- C1
 ---------------|-----      |              | 192.168.1.20
    1.2.3.4     |           | 192.168.1.1  |--------------- C2
                |     ------|--------------| 192.168.1.30
                +-----------+              |--------------- C3

위는 요즘 자주 볼수 있는 설정으로 리눅스 박스에는 두개의 인터페이스로 하나는 인터넷과 연결되어 있으며, 나머지는 내부망에 연결되어 있다.

이 리눅스 박스는 NAT (문서 참고[2])로 내부망의 클라이언트들에게 인터넷 연결을 공유하고 또한, 도메인을 가지고 있어 웹,메일,ftp 서버의 역할도 하고 있다고 가정한다. 이때 인터넷 공인 ip와 내부망에 연결된 ip는 각각 1.2.3.4 와 192.168.1.1 라고 가정한다.

주석

[1]

http://kldp.org/KoreanDoc/html/PoweredByDNS-KLDP/

[2]

http://kldp.org/Translations/html/2.4_NAT-KLDP/2.4_NAT-KLDP.html