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
과 같이 지정을 해 줘야 한다는 말이다.
SOA 영역 (Start Of Authority)
;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
)
1. serial
이 네임 서버 데이타의 버젼을 나타내는 것이다. 왜 이것이 필요 하냐면 세컨드리 네임 서버
와 프라이머리 서버간에 업데이트를 정확히 하기 위해서이다. 세컨드리 네임 서버에서 프라
이머리 서버의 데이타를 가져올 때, serial 을 봐서 현재의 것보다 숫자가 높다면 가져오고
그렇지 않다면 그냥 원래의 것을 사용하게 되는 것이다. 설정은 YEAR+MONTH+DAY+HOUR 의 10
자리 숫자로 표현을 한다.
2. refresh
프라이머리 서버로부터 데이타를 가져온 후 다시 업데이트 하기 위해 접속 시도를 할 때까지
기다리는 시간을 지정한다.
3. retry
프라이머리 서버에 접속 시도가 실패했을 때 다시 접속을 시도하기 위해 기다리는 시간을 지
정한다.
4. expire
프라이머리 서버로 부터 가져온 데이타를 무효화? 시킬때까지의 시간을 지정한다. 저 시간동
안 프라이머리 서버에 접근이 안되거나 한다면 그 데이타들은 사라질 것이다.
5. minimum(ttl)
이것은 프라이머리와 세컨드리 사이의 설정이 아니다. 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)
|