4,542,374 th visitor since 2017.2.1 ( Today : 21345 )
Computer ???
No. 53
Name. swindler
Subject. DNS Zone Configuration (MX Record)
Main Cate. Linux
Sub Cate.
Date. 2005-05-30 14:52
Hit. 3868 (211.109.70.164)
File.
8. Zone File Configuration (4)


Hanterm - cat /var/named/oops.zone

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

; generated by JoungKyun Kim <http://www.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]$




이번 PAGE 에서는 설정에 사용되는 Record type 에 대해서 알아보도록 하겠다.


A record

호스트명에 대한 IP 주소를 지정해 주는 것이다.

babo IN A 210.24.154.156

babo 호스트의 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.org
    Address: 210.24.154.2
    
    Name: chollian.net
    Addresses: 210.120.129.180, 210.120.251.50, 210.120.251.80, 210.120.128.180

이렇게 지정하면 어떤 경우가 발생하느냐? chollian.net 으로 접속을 시도하게 되면 지정한
3 개의 IP 로 돌아가면서 접속을 시도하게 되는 것이다. 이러한 방식을 Round Robbin 방식이
라 하며, 실제로 대형 server 들은 이런식으로 운영을 하고 있다. 물론 Round Robbin 방식만
으로 분산 시스템을 구성하기는 힘들지만 여기서는 Round Robbin 방식이 무엇이라는 것만 명
심해 두면 된다. 분산 시스템을 구성하려다 보면 자주 접하게 되는 단어이니 말이다.


NS record

네임 서버의 IP 주소 혹은 호스트명을 지정해 주게 된다.

ns.babo IN A 168.126.127.100
babo IN NS ns.babo

또는

ns.babo.oops.org. IN A 168.126.127.100
babo.oops.org IN NS ns.babo.oops.org.

이런식으로 연결해서 sub domain 을 작성할 수도 있다. 항상 NS 로 지정하는 호스트명은 IP
주소가 지정되어 있어야 한다.

이렇게 설정함으로서 babo.oops.org 지역 도메인 (zone)에 대해서는 ns.babo.oops.org 의 네
임서버가 담당하게 되는 것이다. oops.org 네임서버는 단지 "그 지역 도메인은 저녀석이 관
리하는거야 그쪽으로 가봐" 라고 해줄 뿐이다. (자신의 서버가 네임서버의 역할을 하기 위해
서는 자신의 상위 네임서버에서 바로 이런 설정이 되어 있어야 하는 것이다.)


MX record

MX는 Mail Exchange 의 약자이다. 즉 그 서버에 오는 메일을 처리할 메일 서비스를 지정하는
record 이다.

@ IN A 210.24.154.2
IN MX 10 mail
IN MX 20 mail2
mail IN A 210.24.154.3
mail2 IN A 210.24.154.4

oops.org 로 오는 mail 을 mail.oops.org 라는 server 로 보내서 처리 하게끔 하는 것이다.
즉 oops.org 에 mail demon 이 없지만 ID@oops.org 로 mail 을 보내게 되면 이 MX record 에
의해서 mail.oops.org 가 대신 처리를 하게 하는 것이다. 그러니 굳이 ID@mail.oops.org 로
보내나 ID@oops.org 로 보내나 동일하게 되는 것이다. MX 뒤의 숫자는 우선순위 정도로 생각
하면 되고 숫자가 낮은쪽부터 접속을 시도하게 된다.

또한 위와 같이 MX record 를 여러개를 지정을 할 수도 있는데 mail 은 일단 MX record 뒤의
숫자에 의해 우선 순위를 가지고 있는 mail.oops.org 로 보내지게 되고 이 server 가 응답이
없으면 다음 순위인 mail2.oops.org 로 보내져서 처리가 되는 것이다. 물론 이 서버까지 죽
는다면 메일은 반송 되거나 메일서버가 살아날 때까지 대기하게 될것이다. 기본 메일서버를
하나 놓고 백업서버를 사용할때에 이런식으로 구성할 수가 있다.

주의 할 것은 위에서의 설정에서 mail2.oops.org 은 메일을 받지는 않는다. 2 차 MX 의 경우
(2 차 MX 라는 것은 우선 순위 2 번째 서버를 의미한다) 에는 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)

또한 2 차 MX 로 지정된 서버에서 주의할 점은 local-host-naems 파일 또는 sendmail.cw 에
ORIGIN 으로 오는 메일을 받도록 설정을 하면 안된다. 이럴경우 메일을 큐잉을 하는 것이 아
니라 받아 버리게 되므로 동기화에 문제가 발생하게 되는 것이다.

마지막으로, MX record 는 Alias 되어진 이름을 지정할 수가 없다. 아래의 예는 잘못된 예이
다.

@ IN A 210.24.152.2
IN MX 10 mail

mail IN CNAME @

위의 설정에서

mail IN CNAME @



mail IN A 210.24.152.2

으로 되어야 제대로 된 설정이다.


HINFO record

그 호스트의 하드웨어와 운영체제에 대한 정보를 제공한다. 사용법은 아주 간단하다. 하드웨
어, 운영체제 순으로 적어 주기만 하면된다.

ns IN A 210.24.154.2
IN HINFO "i686 Pentium IV" "Linux"

ns 호스트의 CPU 는 i686 Pentium IV 를 사용 중이고 운영체제로 리눅스를 사용 한다고 해준
것이다. 뛰어 쓰기를 사용하고 싶다면 `` '' 로 묵으면 된다.

이 레코드는 정의하지 않는 것을 권장한다. 앞에서도 밝혔듯이 불필요한 정보를 전달할 필요
는 없다. 오히려 보안상 크래킹에 필요한 정보를 전해주는 일이 될 수 있기 때문이다.


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.org) 라는 호스트의 별명이라고
지정해 주고 있다. 즉 @ (oops.org) 로 접속을 하든 www.oops.org 로 접속을 하든 동일한 결
과를 얻는다는 얘기이다. 별명을 부른다고 인간이 바뀌는 것이 아닌 것 처럼 말이다.

한가지 주의할 것이 있다면 @ 를 alias 로 걸면 안된다.

www IN A 210.24.154.2
@ IN CNAME www

이런식으로 @ 를 alias 로 지정해버릴 경우에는 secondary 서버쪽에서 이쪽의 데이타를 가져
가지를 못한다. nslookup 했을때 ls 명령으로 등록된 도메인명을 볼 수도 없다. 물론 세컨더
리 서버를 운영하지 않는다면, 저렇게 지정해도 별 상관은 없지만 정석은 아니며, 문제가 야
기될 수도 있다는 얘기이다.



[바로가기 링크] : http://coolx.net/cboard/computer/53



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog