BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Bind > Bind-8  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



6. Zone File Configuration (2)



 Hanterm - cat /var/named/oops.zone

 [root@bbuwoo named]$ cat /var/named/oops.zone              

  ;made by admin at oops.kr.net
  ;
  $TTL 86400
  @       IN      SOA     ns.oops.kr.net. admin.oops.kr.net.  (  
                                        980910   ; Serial
                                        10800      ; Refresh
                                        3600       ; Retry
                                        432000     ; Expire
                                        86400      ; Minimum (TTL)
                                        )
  ; Name Server
  ;
                  IN      NS      ns.oops.kr.net.
                  IN      MX 10   oops.kr.net.
  ;
  ; Host name & Infomations
  localhost       IN      A       127.0.0.1
  @               IN      A       210.24.154.2
  ns              IN      A       210.24.154.2
                  IN      HINFO   "i586 Pentium" "Linux" 
  ;
  ; VirtualHost
  ftp             IN      A       210.24.154.155
  babo            IN      A       210.24.154.156
  webadmin        IN      A       210.24.154.158
  
  ; Alias
  www             IN      CNAME   @

 [root@bbuwoo named]$



***.zone file은 크게 두부분으로 나뉜다고 할수가 있다. 바로 윗부분의 "SOA ( Start Of Authority )" 부분과 아래의 domain name을 정의하는 부분이다. 다시 강조 하지만 마침표 (dot)의 차이는 아주 크니 주의하기 바란다. 그리고 기본 작성법은

	{name}    {ttl}   addr-class   Record type   Record Specific Data
의 형식으로 작성하게 된다. 보통 {ttl} 부분은 생략되어도 상관없다. {ttl}이 생략 되면 SOA field에 정의된 TTL값을 따르게 된다.

단 주의할것은 bind 8.2.3 부터는 아래의 5.minimum(ttl) 부분이 SOA filed 바로 위에서 $TTL 86400 과 같이 default TTL로 지정하게 된다. 위의 설정 파일 전제의 제일 상단의 $TTL 86400 과 같이 지정을 해 줘야 한다는 말이다.

  •   ;made by admin at oops.kr.net
      ;
      @       IN      SOA     ns.oops.kr.net. admin.oops.kr.net.  (  
                                            980910   ; Serial
                                            10800      ; Refresh
                                            3600       ; Retry
                                            432000     ; Expire
                                            86400      ; Minimum
                                            )
      위의 예제를 보면서 설명을 하겠다. 제일 윗줄은 그냥 누가 만들었다는 정보를 기입한것이다. 하든 안하든 그건 자유다. " ; " 로서 주석을 표시할수가 있다. 그리고 한줄을 띄울때는 왠만하면 " ; "로서 주석 처리 해주는 버릇을 길들이기를 바란다.

      다음은 3번째 줄을 보자. "@" 는 ORIGIN을 나타낸다. 위에서 언급이 되었을 것이니 생략한다. "IN"은 addr-class로서 나도 IN밖에는 모른다. 하지만 왠만한 기본적인것은 "IN"으로 다 처리가 되니 그냥 기본으로 들어간다고 생각하면 되겠다. 즉 약방의 감초라고 생각하길 바란다. "SOA" 는 Record Type을 정해 준것으로 초기화라고 생각을 하면 된다. 역학은 priamry server와 secondary server간의 data를 유지하는 시간등을 설정하며, cache한 정보들을 얼마동안 유지를 할 것인지를 정의 하는 부분이라는 것을 의미한다. 아래의 숫자들이 쭈루룩 있는 부분이라는 표시라고 보면 된다. 다음 "ns.oops.kr.net" 는 이 서버의 NS를 정의해 주는 부분이다. 다음 "admin.oops.kr.net"는 서버 관리자의 E-amil address이다. "@"를 "." 로 표현하는 것을 주의하자. mail address라고 "@"로 표현을 한다면 ORIGIN의 "@"와 혼동이 오게 되니 주의하도록 하자.

      4번째 줄부터 숫자가 적혀있는 부분은 하나하나 설명을 하겠다. " ; " 뒤로 적힌 것은 주석이며 숫자의 단위는 "초"이다. 즉 serial부터 expire까지는 primary와 secondary NS 사이의 data를 update시키고 정리 하는데 필요한 시간을 정의한 것이다.

      세부 사항을 설명하기 전에 여기서도 주의할 것이 하나가 있다. zone file을 설정을 할때 SOA부분을 셋팅을 할때 다음과 같이 하는 경우가 있다.

      @      in   SOA   ns.domain.com. admin.domain.com
      (
        ...
      )
      위의 형식으로 설정을 하는데 8.2.3 부터는 이런 설정이 에러가 나게 된다. 두번째 줄의 ( 가 첫번째 줄 제일 뒤로 꼭 와줘야 하게 된다. 다음은 제대로 된 예제이다.
      @      in   SOA   ns.domain.com. admin.domain.com (
        ...
      )

      이 네임 서버 데이타의 버젼을 나타내는것이다. 왜 이것이 필요 하냐면 세컨드리 네임 서버와 프라이머리 서버간에 업데이트를 정확히 하기 위해서이다. 세컨드리 네임 서버에서 프라이머리 서버의 데이타를 가져 올때 serial 을 봐서 현재의 것보다 숫자가 높다면 가져오고 그렇지 않다면 그냥 원래의 것을 사용하게 되는것이다. 보통 날짜 + 2자리숫자 로 사용한다( 의미는 없다 구분 하기 좋으라고 대충 그렇게 쓰는것이다 ).

      프라이머리 서버로부터 데이타를 가져 온후 다시 업데이트 하기 위해 접속 시도를 할때까지 기다리는 시간을 지정한다.

      프라이머리 서버에 접속 시도가 실패 했을때 다시 접속을 시도 하기 위해 기다리는 시간을 지정한다.

      프라이머리 서버로 부터 가져온 데이타를 무효화? 시킬때까지의 시간을 지정한다. 저 시간동안 프라이머리 서버에 접근이 안되거나 한다면 그 데이타들은 사라질 것이다.

      이것은 프라이머리와 세컨드리간의 설정이 아니다. nslookup 을 사용해 보았다면 붉은색 라인과 같은 것을 보았을것이다.

      	[root@oops named]# nslookup
      	Default Server:  oops.kr.net
      	Address:  210.24.154.2
      
      	> winnt.netusers.net
      	Server:  oops.kr.net
      	Address:  210.24.154.2
      
      	Non-authoritative answer:
      	Name:    winnt.netusers.net
      	Address:  210.124.24.180
      캐쉬에서 가져온 정보임을 알려 주는것이다. 직접 그 호스트를 관리 하는 네임 서버에 접속하여 정보를 받아 온것이 아니라 이미 찾았던 도메인들에 대해 캐쉬해 놓은 곳에서 정보를 가져 온것이다. 이 처럼 네임 서버는 한번 찾았던 도메인에 대하여 캐쉬 정보를 가지게 되는데 이것을 얼마동안이나 유지할것인지를 지정해 주는 것이다. 자주 업데이트 되는 네임 서버라면 이 시간을 짧게 설정할수 있을 것이다.

      bind 8.2.3 이후 부터는 설정 파일 제일 상단에 위에서 설명을 했던것 처럼 $TTL 86400 과 같이 설정을 해 줘야만 한다.



    다음은 실제로 data 가 들어갈 영역을 살펴 보겠다.



    >> 이전 : zonf file configuration (1)
    >> 다음 : zonf file configuration (3)



  •     



     Home > Lecture > Bind > Bind-8

    Copyright 1997-2024 JoungKyun Kim 
    LAST MODIFIED: 2017/01/18