홈 네트워크를 위한 DNS (Ⅱ)

윤 봉 환 : el@linuxlab.co.kr

 

 

    ※ 이 글은 ‘99년 10월호 “홈 네트워크는를 위한 DNS” 기사의
        설정 파일 설명입니다.

     

FILE named.conf:

    이 파일은 필요한 다른 파일들이 어디에 있는지 named에게 말해준다.

    아래는 내 파일의 내용이다:
     

      options {
      directory “/var/named”;

      forwarders {
      216.116.0.4;
      216.116.0.10;
      };

      };

      zone “.” {
      type hint;
      file “db.cache”;
      };

      zone “kulai.org” {
      type master;
      file “db.kulai”;
      };

      zone “124.168.192.IN-ADDR.ARPA” {
      type master;
      file “db.124.168.192”;
      };

      zone “0.0.127.IN-ADDR.ARPA” {
      type master;
      file “db.127.0.0”;
      };

     

    zone이 4개 있다:

    최 상위 zone - .
    name-to-ip zone - kulai.org
    ip-to-name zone - 124.168.192.IN-ADDR.ARPA
    localhost zone - 0.0.127.IN-ADDR.ARPA

    zone은 각각 다른 파일로 만들어진다.

    directory: 당신의 파일들이 놓일 곳이다.

    forwards: 인터넷상에서 DNS 서버의 ip이다.(거의 대부분 자신의 ISP에서 제공하는 DNS 서버를 사용한다) 기억할 것은, 당신 서버에서 운영되는 named는 당신의 컴퓨터들에 대해서만 유효하며, 다른 ip를 가져오려면 다른 서버로 가야만 할 것이다.

    db.cache, db.kulai, db.127.0.0, db.124.168.192: 이 것들은 내 zone을 위해 스스로 만든 파일들의 이름이다: 당신이 원하는 다른 이름으로 바꾸어 사용할 수 있다

     

FILE db.cache:

    이 파일 리스트는 최상위 도메인을 위해 유효한 네임서버들이다. 이 것을 가져오고 제대로 관리하기란 정말 수고스럽기 마련이지만, bind 버전 8에 따라나오는 “dig”라는 이름을 가진 프로그램이 모든 궂은 일들을 다 처리해준다. 당신의 db.cache 파일을 가져오려면, 인터넷에 시스템을 연결하고, 다음처럼 쓴다:

    dig @e.root-servers.net . ns>/var/named/db.cache

    이 파일은 최신 정보로 업데이트 되어야하므로, 이 문서에 그 내용은 담지 않는다 - 어떻게든 이 파일을 가져오는 것은 매우 쉽다. 이 파일은 항상 최신성을 유지해야 하므로 나는 cron을 이용해 매달 이 명령을 수행하도록 내 dns 서버에 설정해 둔다.

     

FILE db.kulai:

    이 파일은 이름을  ip 주소로 바꾼다.

     

        @             IN      SOA     master.kulai.org.
      jpollman.kulai.org. (
                              1;
                              10800;
                              3600;
                              604800;
                              86400 );

                        IN      NS      master.kulai.org.
      master         IN      A       192.168.124.10

      mail             IN      A       192.168.124.10
      www            IN      A       192.168.124.10
      news            IN      A       192.168.124.10

      localhost       IN      A       127.0.0.1

      fserver          IN      A       192.168.124.11
      jc                 IN      A       192.168.124.1
      phillip           IN      A       192.168.124.20

     

    주: 이 파일을 만드는 데 가장 큰 골칫거리는, 꼭 필요한 마침표 하나를 빠트리는 것이다. 마침표는 “여기가 이름의 끝이다”라는 것을 의미한다. 마침표가 없다면, 도메인 이름이 뒤에 이어져 버리므로, master.kulai.org는: master.kulai.org.kulai.org가 될 것이다. 다시 말하면, 마침표는 절대주소와 상대주소를 구분한다.

    @ 기본 도메인 이름을 짧게 쓴 것이다. 주의: @ 문자는 반드시 맨 꼭대기 줄에 빈 칸이 없이 맨 앞에 쓰여져야 한다.
    master.kulai.org. 서버 이름이다.

    jpollman.kulai.org. 실제로 편지를 받을 수 있는 전자우편 주소로 @ 대신에 마침표를 쓴다(@ 문자는 도메인 이름을 뜻하기 때문이다) 문제가 생겼다면 이메일을 보내 관리자에게 알린다.

    모든 숫자들: 이 문서에서 사용한 숫자들은 인터넷상에 실제로 등록된 주소가 없을 때 사용한다. 이 숫자들을 바꾸고 싶다면, 레퍼런스를 읽는다 - 내 홈 네트워크에서 사용했을 때 쓸만했다.

    IN NS: 이 줄은 master.kulai.org이 네임서버임을 named에게 알린다. 이 줄의 첫 부분은 반드시 비워두어야 하며(named가 kulai.org를 자동으로 넣는다), 줄 끝에 쓰여진 이름은 반드시 같은 파일 안에서 “IN A” 목록에 있어야 한다.

    IN A: 이 줄들은 “name-to-ip”가 어떻게 연관되어 있는지 named에게 알려준다. 주의할 것은, 이름이 마침표로 끝나지 않았는데, 그 이유는 named 데몬이 자동으로 kulai.org(내 도메인 이름)을 그 끝에 붙여주기 때문이다. 내가 /etc/named.conf 파일에 zone “kilai.org”라고 써 두었으므로 named는 도메인 이름이 kulai.org라는 것을 알고 있다.

    IN CNAME: 이전에는 같은 ip에 별명들을 붙여, 하나의 ip로 여러 개의 호스트이름을 추가사용하기 위해 쓰였다. 이제는 더 이상 필요 없는데 - 사실 이 것은 실망스럽다. 내 메일, 웹, 뉴스서버 등은 모두 master.kulai,org이다. 나는 단지 서버 이름만을 사용해 쉽게 설정한다. 예를 들어, master.kulai.org는 모든 서비스를 제공하지만 mail.kulai.org은 ISP들이 일반적으로 사용하는 방법이다. 주: 나는 ip 주소를 사용하고, 이름은 사용하지 않으므로 CNAME은 쓰지 않는다.

    주의: 당신은 표준적인 컴퓨터 네트워크를 위해 서버리스트와 localhost 항목을 IN A 줄에 가지고 있어야 한다.

     

FILE db.124.168.192:

    이 파일은 db.kulai와 짝을 이룬다.  ip 주소를 주면 컴퓨터 이름을 돌려 받는다.

     

            @       IN      SOA     master.kulai.org. jpollman.kulai.org. (
                                    1;
                                    10800;
                                    3600;
                                    604800;
                                    86400 );

                    IN      NS      master.kulai.org.
            10      IN      PTR     master.kulai.org.
            10      IN      PTR     www.kulai.org
            10      IN      PTR     mail.kulai.org.
            10      IN      PTR     news.kulai.org.
            11      IN      PTR     fserver.kulai.org.
            1       IN      PTR     jc.kulai.kulai.org.
            20      IN      PTR     phillip.kulai.org.

     

    이 파일은 기본적으로 db.kulai 파일과 같은 구조를 가진다.

    왼 쪽의 숫자들은(10, 11, 1, 20) ip 주소의 마지막 식별값이다. 예를 들어, 10이라는 숫자는: 192.168.124.10.으로 확장된다.
    이 파일에서 IN A 대신에  IN PRT를 사용한 것에 주의한다.

 

FILE db.127.0.0:

    named에게 localhost를 알려주는 간단한 파일이다.

     

      @       IN      SOA     master.kulai.org.
      jpollman.imcnet.net. (
                                      1;
                                      10800;
                                      3600;
                                      604800;
                                      86400 );
               IN      NS      localhost.
      1       IN      PTR     localhost.

     

    이 파일은 수정 없이 모든 컴퓨터에서 동작할 것이다.

    db.kulai 파일과 같은 구조이다.




▲ top

home으로...