8. Zone File Configuration (4)
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]$
|
이번 PAGE에서는 설정에 사용되는 Record type에 대해서 알아보자.
A record
호스트명에 대한 IP 주소를 지정해 주는 것이다.
babo IN A 210.24.154.157
www 호스트의 IP 주소는 210.24.154.157 라고 지정해 주고 있다. 이 "A" record를 이요해서
분산 system을 설정할 수가 있는데 즉 "CNAME" record와 반대로 하나의 Domain name에
여러개의 IP address를 부여해서 여러개의 서버를 하나의 서버처럼 사용하는 것을 말한다.
좀더 자세히 살펴 보기로 하자. 아래와 같이 "A" record를 복수로 지정을 하고
chollian.net. IN A 210.120.128.180
IN A 210.120.129.180
nslookup 으로 어떻게 나오는지 확인 해보도록 하자.
# nslookup chollian.net
Server: oops.kr.net
Address: 210.24.154.2
Name: chollian.net
Addresses: 210.120.128.180, 210.120.129.180
이렇게 지정하면 어떤 경우가 발생하느냐? chollian.net
으로 접속을 시도하게 되면 지정한 3개의 IP 로 돌아가면서 접속을 시도하게
되는 것이다.. 순식간에 시스템 분산이 이루어 지는것이다. (실제로 home.taegu.net
이 그렇게 돌아가고 있으며 NFS 로 자료를 공유하고 CPU 를 분산시키는
것이다.) 실제로 대형 server들은 이런식으로 운영을 하고 있다. M$의 웹서버의 경우에는
16개 까지 출력이 된다.
NS record
네임 서버의 IP 주소 혹은 호스트명을 지정해 주게 된다.
ns.babo IN A 168.126.127.100
IN NS ns.babo
또는
ns.babo.oops.kr.net. IN A 168.126.127.100
IN NS ns.babo.oops.kr.net.
이런식으로 연결해서 sub domain을 작성할수도 있다. 항상 NS 로 지정하는
호스트명은 IP 주소가 지정되어 있어야 한다.
이렇게 설정함으로서 babo.oops.kr.net 지역 도메인(zone)에 대해서는 ns.babo.oops.kr.net
의 네임서버가 담당하게 되는 것이다. oops.kr.net 네임서버는 단지 "그 지역 도메인은
저녀석이 관리하는거야 그쪽으로 가봐" 라고 해줄뿐이다. (자신의 서버가
네임서버의 역할을 하기 위해서는 자신의 상위 네임서버에서 바로 이런 설정이
되어 있어야 하는 것이다.)
MX record
MX는 Mail Exchange의 약자라고 생각하면 된다. 즉 그 서버에 오는 메일을
처리할 메일 서비스를 지정하는 record이다.
oops IN A 210.24.154.2
IN MX 10 mail.oops
IN MX 20 mail2.oops
mail.oops IN A 210.24.154.3
mail2.oops IN A 210.24.154.4
oops.kr.net로 오는 mail을 mail.oops.kr.net라는 server로 보내서 처리하게끔
하는 것이다. 즉 oops.kr.net에 mail demon이 없지만 ID@oops.kr.net로 mail을
보내게 되면 이 "MX" record에 의해서 mail.oops.kr.net가 대신 처리를 하게
하는 것이다. 그러니 굳이 ID@mail.oops.kr.net로 보내나 ID@oops.kr.net로 보내나
똑같게 되는 것이다. MX 뒤의 숫자는 우선순위 정도로 생각하면 되고 숫자가 낮은쪽부터
접속을 시도하게 된다.
또한 위와 같이 "MX" record를 여러개를 지정을 할수도 있는데 mail은 일단
"MX" record 뒤의 숫자에 의해 우선 순위를 가지고 있는 mail.oops.kr.net로
보내지게 되고 이 server가 응답이 없으면 다음 순위인 mail2.oops.kr.net로 보내져서
처리가 되는 것이다. 물론 이 서버까지 죽는다면 메일은 반송되거나 메일서버가 살아날때까지
대기 하게 될것이다. 기본 메일서버를 하나 놓고 백업서버를 사용할때에 이런식으로 구성할
수가 있다.
주의 할것은 위에서의 설정에서 mail2.oops.kr.net 은 메일을 받지는 않는다. 2차 MX 의 경우에는
1차 MX 즉 메일을 받을 서버가 죽었을 경우 살아날때 까지 일정 시간동안 queuing 만을 하게 된다.
즉 일정시간 즉 2차 MX의 queuing 제한 시간이 끝나면 결국에는 반송이 되게 되는 것이다.
또 하나 주의 할 것은 relay 문제이다. 만약 relay 가 모든 곳으로 풀려 있다면 내 맘대로 아무
메일 서버를 2차 mx record 로 잡을수 있게 된다. 하지만 sendmail 8.9 부터는 spam 에 대처하기
위해 기본적으로 localhost 만을 relay 를 허락하게 되어 있다. 이러할 경우 해당 호스트는
큐잉서버로 동작하지 못함에 유의하자. 보통 기관의 SMTP 서버는 타인에 의한 남용을 막기위해
내부 IP(혹은 도메인)에 대해서만 릴레이를 허용하도록 설정하지만, 메일 큐잉 서버의 경우는
본 Feature를 끄거나 해당 호스트를 목적지로 하는 편지에 대해서는 릴레이를 허용하도록
(이 말의 의미하는 바를 잘 모르겠다면, 모든 IP에 대해 릴레이를 허용토록 설정하라) 조정하여야
한다. (참고: Allowing controlled SMTP relaying in Sendmail 8.9)
HINFO record
그 호스트의 하드웨어와 운영체제에 대한 정보를 제공한다. 사용법은
아주 간단하다. 하드웨어, 운영체제 순으로 적어 주기만 하면된다.
ns IN A 210.24.154.2
IN HINFO "i586 Pentium" "Linux"
ns 호스트의 CPU 는 i586 Pentium을 사용중이고 운영체제로 리눅스
를 사용한다고 해준것이다. 뛰어 쓰기를 사용하고 싶다면 `` '' 로
묵으면 된다.
CNAME record
한 IP address에 대해 여러개의 호스트명을 지정할수 있다. 물론 A 로 지정해
주어도 된다. 지정할수 있는 갯수의 제한은 없다. 하고 싶은 만큼 하면 된다.
@ IN A 210.24.154.2
www IN CNAME @
또는
@ IN A 210.24.154.2
www IN A 210.24.154.2
위의 2가지의 예는 동일한 결과를 산출한다. 즉 CNAME을 쓰나 A를 쓰나 동일하게 할수도
있다는 말이다. 이를 해석하면 www 라는 호스트는 @ ( oops.kr.net) 라는 호스트의
별명이라고 지정해 주고 있다. 즉 @ (oops.kr.net) 로 접속을 하든 www.oops.kr.net 로
접속을 하든 동일한 결과를 얻는다는 얘기이다. 별명을 부른다고 인간이 바뀌는 것이 아닌
것 처럼 말이다.
한가지 주의할 것이 있다면 @ 를 alias 로 걸면 안된다.
www IN A 210.24.154.2
@ IN CNAME www
이런식으로 @ 를 alias 로 지정해버릴 경우에는 secondary 서버쪽에서 이쪽의
데이타를 가져가지를 못한다. nslookup 했을때 ls 명령으로 등록된 도메인명을
볼수도 없다. 물론 secondary 서버를 운영하지 않는다면 저렇게 지정해도 별
상관은 없다..
다음은 zone file 문법중 bind 8.x 에서 추가된 사항에 대해 알아 보겠다.
>> 이전 : zonf file configuration (3)
>> 다음 : Bind 8.x 에서의 zone file 변화
|