9. Bind 8.x에서의 zone file 변화
Hanterm - cat /var/named/oops.zone |
[root@bbuwoo named]$ cat /var/named/oops.zone
;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
)
; 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"
;
www IN A 210.24.154.3
* IN A 210.24.154.2
[root@bbuwoo named]$
|
위의 설정 file을 보면 이때 까지 못보던 charactor 문자 "*" 를 볼수가
있다. zone file의 문법중 bind 4.x에 추가된 문법중의 하나로 "*"은 "all"의
의미를 가진다는 것이다. 별 의미가 없을지는 모르겠지만 어떤때는 아주 유용하게
쓰일수 있는 문법이기도 하다.
또하나 추가되어진 문법 중에 하나로 "$INCLUDE"를 들 수가 있다.
이것은 예제를 보면서 설명을 하자.
Hanterm - cat /var/named/oops.zone |
[root@bbuwoo named]$ cat /var/named/oops-1.zone
;made by admin at oops.kr.net
;
$INCLUDE oops.zone
;
;adding domain
ftp IN A 203.245.122.122
mail IN A 210.24.154.156
[root@bbuwoo named]$
|
oops-1.zone 에서 사용된 "$INCLUDE"는 oops.zone의 file의 내용을 oops-1.zone 에
포함하라는 의미로 사용되어 진다. 즉 아래와 같은 효과를 나타낸다.
Hanterm - cat /var/named/oops.zone |
[root@bbuwoo named]$ cat /var/named/oops.zone
;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
)
; 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"
;
www IN A 210.24.154.3
* IN A 210.24.154.2
;
;adding domain
ftp IN A 203.245.122.122
mail IN A 210.24.154.156
[root@bbuwoo named]$
|
위의 설정 file에는 간단한 문법 오류가 있다. 다만 예를 들다 보니 이렇게 되어
있을 뿐이다. 간단하게 문법 오류를 지적해 보자면 "*"문자가 앞에 와 있을 경우에는
뒤의 설정들은 무시가 되어 진다. 즉 윗줄에 설정되어 있는 것이 우선적으로 적용이
되어 진다는 말이다. 그러니 위에서 ftp와 mail을 적용시키기 위해서는 "*"가
가장 아래로 내려와야 한다는 것이다. 이점을 주의하도록 하자!!
10. Bind 8.2.3 이후의 zone file 변화
8.2.3 과 9.x 에서의 간단한 변화를 보겠다. 이는 앞에서도 누누이 강조했지만
아마 놓치는 사람들이 많을 것을 예상하여 다시 한번 강조를 한다.
아래는 우리가 이제껏 설정을 해 왔던 zone file중 SOA record 부분이다.
Hanterm - cat /var/named/oops.zone |
[root@bbuwoo named]$ cat /var/named/oops.zone
;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
)
.. 생략
[root@bbuwoo named]$
|
이 부분에서 무엇이 강조가 되는지 알아 보자. 8.2.3 이후 버젼과 9.x 버젼에서는
다음과 같이 설정이 이루어 진다.
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
)
.. 생략
[root@bbuwoo named]$
|
앞에서도 누누이 강조를 해온 부분이지만 붉은색 글씨의 $TTL 86400 가
8.2.3 에서 부터는 Default TTL 값으로 지정을 하게 된다. 8.2.3 에서는 $TTL 86400이
지정이 되지 않으면 message file에 Default TTL이 지정되지 않아서 기본값인 86400초를 사용
한다는 메세지가 남는다. 하지만 9.x 부터는 이것이 지정되지 않을 경우 database error가 발
생하여 아예 해당 zone file에 지정된 name은 찾아 지지 않게 된다. 그러므로 이 부분은 8.2.3
이후 버젼이라면 꼭 지정을 하는 것이 좋다.
다음 두번째 붉은색 부분인 ( ... ) 부분은 변화를 했다기 보다 고정이
되었다고 보는 것이 좋다. 즉 쉽게 예를 들겠다.
8.2.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
)
.. 생략
[root@bbuwoo named]$
|
하지만 8.2.3 부터는 이런 설정은 잘못된 설정이 된다. 괄호의 시작이 꼭 SOA
record가 지정되어진 라인의 제일 마지막에 위치를 해야 한다는 것을 꼭 명심
하여야 한다.
다음은 reverse mapping을 가능하게 해주는 ***.rev file 에 대해서 알아 보겠다.
>> 이전 : zonf file configuration (4)
>> 다음 : Reverse Mapping Configuration
|