[도메인] 다중 MX Record 설정시

[[ powered by DNS 참조 ]]

MX(Mail eXchange) 알고리즘

MX 레코드는 해당 호스트로 수신되는 편지를 다른 호스트로 라우팅 하도

록 한다. 원격 호스트에서 다음과 같이 설정된 도메인, tt.co.kr 로 편지

를 송신할 경우에 Sendmail의 동작을 알아보자.

tt.co.kr. IN MX 10 mail1.tt.co.kr.

IN MX 20 mail2.tt.co.kr.

IN MX 20 mail3.tt.co.kr.

(1) 로컬호스트가 해당 도메인에 대해 인증을 갖는지 확인한다.

(2) mail1 로 배달을 시도한다.

(3) mail2 혹은 mail3 으로 배달을 시도한다.

(4) 에서 시도되지 않은 호스트로 배달을 시도한다.

(5) 자체 큐잉 후, 일정 기간동안 주기적으로 2-4의 과정을 반복한다.

흔히 갖는 잘못된 MX의 이해 중 하나는, mail1 이 다운되어 mail2 로 편지

가 배달되었을 때, 편지가 mail2 의 메일박스에 저장 된다는 생각으로, 다

수의 MX 레코드 설정을 꺼리는 경우이다. 이렇게 되면, 사용자 계정을 양

쪽 호스트에 설정하여 두어야 하며, 사용자는 매번 양쪽의 계정을 모두 확

인하여야 한다는 노파심 때문일텐데, 일반적으로 낮은 priority를 갖는 호

스트는 큐잉서버로 동작하도록 설정하기 때문에 결국 편지는 하나의 호스

트(mail1)로 집결 된다. 위의 경우 mail1 와 mail2의 Sendmail이 다음 조

건을 만족하도록 설정되어 있으면 메일 큐잉서버로 동작한다.

(1)해당 도메인(tt.co.kr)에 대한 인증을 갖지 않아야 한다.

(즉 mail2 나 mail3 메일 서버의 sendmail.cw 에 tt.co.kr 이 설정되어 있

으면 안된다.)

(2)서버는 해당 호스트로의 메일 릴레이(Relay)를 허용하여야 한다.

( /etc/mail/access 에서 아래와 같이 정의되어야 한다.)

mail1 relay

인증을 갖지 않아야 한다는 것은 Sendmail의 w 클래스(sendmail.cw 혹은

sendmail.cf의 Cw)에 tt.co.kr 도메인이 없어야 함을 의미하고 , 메일 릴

레이란 수신되는 편지의 최종 배달지가 자신이 아닐 경우, 즉 인증을 갖

지 않을 경우 편지를 해당 호스트로 포워딩함을 뜻한다. 근래의 몇몇 OS

배포판들은 기본적으로 Sendmail이 릴레이를 거부하도록 설정되어 있는

데, 이러할 경우 해당 호스트는 큐잉서버로 동작하지 못함에 유의하자. 보

통 기관의 SMTP 서버는 타인에 의한 남용을 막기위해 내부 IP(혹은 도메

인)에 대해서만 릴레이를 허용하도록 설정하지만, 메일 큐잉 서버의 경우

는 본 Feature를 끄거나 해당 호스트를 목적지로 하는 편지에 대해서는 릴

레이를 허용하도록(이 말의 의미하는 바를 잘 모르겠다면, 모든 IP에 대

해 릴레이를 허용토록 설정하라) 조정하여야 한다.

mail1 의 수신 불능으로 인해 mail1 로 전달되는 편지는 메일큐에 저장되

어 있으면서, 일정 기간(Sendmail.cf에서 지정된 Timeout.queuereturn=5d

만큼)동안 주기적(Sendmail 구동시 지정된, 일반적으로 30분 -q30m)으로

배달이 시도된다. 따라서 반드시 mail1 만이 tt.co.kr 에 대한 인증을 가

져야 한다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.