BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Bind9 > Bind9-7  

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              

  ; generated by JoungKyun Kim <http://oops.org>
  ;
  $TTL 86400
  @       IN      SOA     ns.oops.org. admin.oops.org.  (  
                                        2002062110 ; Serial
                                        10800      ; Refresh
                                        3600       ; Retry
                                        432000     ; Expire
                                        86400      ; Minimum (TTL)
                                        )
  ; Name Server
  ;
                  IN      NS      ns.oops.org.
                  IN      MX 10   oops.org.
                  IN      A       210.24.154.2
  ;
  ; Host name & Infomations
  ns              IN      A       210.24.154.2
                  IN      HINFO   "i686 Pentium IV" "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" RECORD 부분과 아
래의 domain name 을 정의하는 IN RECORD 부분이다. 다시 강조 하지만 마침표 (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.org ; $TTL 86400 @ IN SOA ns.oops.org. admin.oops.org. ( 2002062110 ; Serial 10800 ; Refresh 3600 ; Retry 432000 ; Expire 86400 ; Minimum ) 위의 예제를 보면서 설명을 하겠다. 제일 윗줄은 그냥 누가 만들었다는 정보를 기입한 것이 다. 하든 안하든 그건 자유다. ";" 로서 주석을 표시할 수가 있다. zone file 설정의 시작은 $TTL 을 지정하는 것으로 부터 시작한다. 이에 대해서는 위에서 언 급을 했다. 다음은 4 번째 줄을 보자. "@" 은 ORIGIN 을 나타낸다. 앞에서 언급이 되었을 것이니 생략한다. "IN" 은 addr-class 로서 나도 IN 밖에는 모른다. 하지만, 왠만한 기본적인 것은 "IN" 으로 다 처리가 되니 그냥 기본으로 들어간다고 생각하면 되겠다. 즉, 약방의 감초라고 생각하면 된다. "SOA" 는 Record Type 을 정해 준 것으로 초기화라고 생각을 하면 된다. 역할은 priamry 서 버와 secondary 서버간의 data 를 유지하는 시간등을 설정하며, cache 한 정보들을 얼마동안 유지를 할 것인지를 정의 하는 부분이라는 것을 의미한다. 아래의 숫자들이 쭈루룩 있는 부 분이라는 표시라고 보면 된다. "ns.oops.org" 는 이 서버의 NS를 정의해 주는 부분이다. "admin.oops.org"는 서버 관리자의 E-amil address 이다. "@" 를 "." 로 표현하는 것을 주 의하자. mail address 라고 "@" 로 표현을 한다면 ORIGIN 의 "@" 와 충돌이 오게되니 주의하 도록 하자. 5 번째 줄부터 숫자가 적혀있는 부분은 하나하나 설명을 하겠다. ";" 뒤로 적힌 것은 주석이 며 숫자의 단위는 "초" 이다. 즉, serial 부터 expire 까지는 primary 와 secondary NS 사이 의 data 를 update 시키고 정리 하는데 필요한 시간을 정의한 것이다. 세부 사항을 설명하기 전에, 여기서도 주의할 것이 하나가 있다. zone file 을 설정을 할 때 SOA 부분을 셋팅을 할 때 다음과 같이 하는 경우가 있다. @ in SOA ns.domain.com. admin.domain.com ( 2002062110 ; Serial 10800 ; Refresh 3600 ; Retry 432000 ; Expire 86400 ; Minimum ) 위의 형식으로 설정을 하면 8.2.3 부터는 이런 설정이 에러가 나게 된다. 두번째 줄의 ( 가 첫번째 줄 제일 뒤로 꼭 와줘야 하게 된다. 다음은 제대로 된 예제이다. @ in SOA ns.domain.com. admin.domain.com ( 2002062110 ; Serial 10800 ; Refresh 3600 ; Retry 432000 ; Expire 86400 ; Minimum ) 이 네임 서버 데이타의 버젼을 나타내는 것이다. 왜 이것이 필요 하냐면 세컨드리 네임 서버 와 프라이머리 서버간에 업데이트를 정확히 하기 위해서이다. 세컨드리 네임 서버에서 프라 이머리 서버의 데이타를 가져올 때, serial 을 봐서 현재의 것보다 숫자가 높다면 가져오고 그렇지 않다면 그냥 원래의 것을 사용하게 되는 것이다. 설정은 YEAR+MONTH+DAY+HOUR 의 10 자리 숫자로 표현을 한다. 프라이머리 서버로부터 데이타를 가져온 후 다시 업데이트 하기 위해 접속 시도를 할 때까지 기다리는 시간을 지정한다. 프라이머리 서버에 접속 시도가 실패했을 때 다시 접속을 시도하기 위해 기다리는 시간을 지 정한다. 프라이머리 서버로 부터 가져온 데이타를 무효화? 시킬때까지의 시간을 지정한다. 저 시간동 안 프라이머리 서버에 접근이 안되거나 한다면 그 데이타들은 사라질 것이다. 이것은 프라이머리와 세컨드리 사이의 설정이 아니다. nslookup 을 사용해 보았다면 붉은색 라인과 같은 것을 보았을 것이다. [root@oops named]# nslookup Default Server: oops.org Address: 210.24.154.2 > winnt.netusers.net Server: oops.org 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 > Bind9 > Bind9-7

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