Web-Programming/Linux

LINIX DNS 서버 구축하기

yehza 2014. 7. 30.

LINIX DNS 서버 구축하기





DNS 서비스를 하기 위해선 Bind 라는 프로그램을 설치해야 합니다.
Bind 버전은 9 이상 되어야 합니다. Bind 8 은 더이상 패치되고 있지 않습니다.

Cent 5 에서 yum 으로 설치하면 자동으로 Bind 9 버전이 설치됩니다.

[root@dns ~]# yum install bind
중략..
(1/3): bind-utils-9.3.4-1 100% |=========================| 167 kB    00:00     
(2/3): bind-libs-9.3.4-10 100% |=========================| 836 kB    00:00   

위에서 보는 바와 같이 bind-utils 와 bind-libs 가 의존성에 의해 자동 설치됩니다.

[root@dns ~]# yum install bind-chroot

bind-chroot 를 설치하면 /var/named/chroot 가 생성됩니다.

Cent 5 에서는 bind 패키지를 설치해도 named.conf 와 기타 샘플 파일들이 설치되지 않습니다.
아래처럼 설정 파일과 sample 파일을 복사합니다.

[root@dns chroot]# cp -rf /usr/share/doc/bind-9.3.4/sample/etc/* /var/named/chroot/etc/
[root@dns chroot]# cp -rf /usr/share/doc/bind-9.3.4/sample/var/named/* /var/named/chroot/var/named/

/var/named/chroot/etc/named.conf 파일을 열고 ddns_key 부분을 주석처리 합니다.

/*
key ddns_key
{
        algorithm hmac-md5;
        secret "use /usr/sbin/dns-keygen to generate TSIG keys";
};
*/

이제 named 데몬이 정상 작동할 것입니다. 실제 도메인 추가는 named.rfc1912.zones 파일에 넣어주셔야하며,
/var/named/chroot/var/named 에 zone 파일을 생성하면 됩니다.


zone 파일을 생성하는 방법입니다.

zone 파일의 초기설정은 /var/named/chroot/var/named 에 있는 localhost.zone 이나 
name.local 파일을 참조하시기 바랍니다.

zone 파일의 내용은 대략 아래와 같습니다.

$TTL    86400
@       IN      SOA     ns.test.kr. root.test.kr.  (
                                      2009070700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      ns.test.kr.
        IN      A       61.100.13.181
        IN      MX  10 mail.
mail     IN   A       61.100.13.181
www   IN   A       61.100.13.181
ftp       IN   CNAME   www  

 

$TTL 은 time to live 라는 뜻이며 zone 파일의 제일 첫번째줄에 위치합니다.
캐시 활성화 시간을 결정하면 초 단위입니다. 위에서는 86400 초이니 하루입니다.

두번째 줄의 @는 도메인입니다. named.conf 에서 지정한 도메인을 가리킵니다.

SOA 는 Start of Authority 입니다. 해당 도메인에 대한 모든 권리를 가지고 있음을 의미합니다.

SOA 다음에는 1차 네임서버 주소와 관리자 이메일 주소입니다.


NS 레코드는 네임서버를 지정합니다. 2차 네임서버가 존재하면 아래와 같이 지정해도 됩니다.

 IN NS ns.test.kr
 IN NS ns2.test.kr

A 레코드는 호스트이름에 IP 를 매핑합니다. 위에서는 61.100.13.181 로 지정되어 있습니다.
test.kr 도메인에 대한 아이피가 61.100.13.181 로 지정되어 있음을 알려주는 중요한 레코드이며 MX 레코드 위에 존재해야 합니다.

MX 레코드는 Mail Exchanger 를 뜻하며 메일 서버를 지정할때 사용하는 레코드 입니다. 
MX 레코드에는 IP 주소를 지정할 수 없음을 유의하시기 바랍니다.

MX 10 mail 에서 10 은 우선순위를 의미합니다. 아래와 같이 우선순위를 숫자로 지정할 수 있습니다.

ex)
MX 10 mail
MX 20 mail2

CNAME 레코드는 아이피 주소 대신에 호스트이름을 설정해 주는 레코드 입니다.
위의 예제에서는 ftp 서브도메인에 이미 설정되어 있는 www 호스트를 지정해준 것입니다. 
따라서 ftp.test.kr. 로 연결을 시도하면 61.100.13.181 로 연결됩니다.
CNAME 레코드는 아래와 같이 주소를 지정할 수도 있습니다.

ex)
ftp IN CNAME mail2.google.co.kr.









댓글

추천 글