티스토리 뷰

기술 이야기

MX(Mail eXchange)의 이해

킬크 2006. 8. 15. 12:01
메일 서비스는 도메인 기반의 서비스이다.
메일을 받기 위해서는 도메인이 기본이며, 도메인에서의 설정이 필요하다.

외부에서 superman@abc.com
으로 메일을 보내면, abc.com 도메인을 관리하는 DNS서버에서 제일 먼저 MX(Mail eXchange) Record를 찾는다.

MX값이 설정되어 있지 않은 경우 abc.com의 도메인 alias(별명)를 통해 abc.com로 지정된 서버의 25번 포트를 접속하게 된다.

보통은 mail.abc.com으로 alias를 지정하기에 mail.abc.com서버의 25번 포트를 통해 메일을 받는다.

메일서버는 메일을 주고받기 위해 존재하지만 주로 받기 위한 임무에 더 비중을 두고 있다.

그래서 메일 서버의 영속성을 위해 복수개의 메일서버를 설정하여 주메일서버의 일시적인 장애에 대비하게 된다.

그래서 MX Record가 존재하게 되는 것이다.

복수개의 메일이 받을 서버의 응답을 찾기 위해 DNS 서버를 찾게되는데, 가장 먼저 접속해야할 메일서버가 어떤 것인지를 MX의 순위를 보고 판단하게 된다. 만일 최상위 순위의 메일서버에 접속시도를 하였으나 응답이 없으면 그 다음 순위의 메일서버로 접속을 시도한다. 이런 동작을 통해 메일을 안전하게 전달하게 되는 것이다.

MX      ASPMX.L.GOOGLE.COM.                   1
MX      ALT1.ASPMX.L.GOOGLE.COM.           5
MX      ALT2.ASPMX.L.GOOGLE.COM.           5
MX      ASPMX2.GOOGLEMAIL.COM.             10
MX      ASPMX3.GOOGLEMAIL.COM.             10
MX      ASPMX4.GOOGLEMAIL.COM.             10
MX      ASPMX5.GOOGLEMAIL.COM.             10

위의 예는 구글 Hosted 서비스를 받기 위해 도메인 관리 Zone파일의 MX Record 설정 예이다.

제일 앞의 MX는 이 서버를 MX서버로 지정한다는 뜻이다.
총 7개의 MX로 지정된 메일서버를 자신의 DNS Zone에 등록할 때의 예제를 보여준 것이다.

제일 먼저 메일을 받는 서버는 ASPMX.L.GOOGLE.COM서버이다. 값이 '1'이기에 가장 먼저 받는 다는 것이다. 뒤에 붙은 5나 10은 순위를 나타내며 숫자가 작을 수록 우선순위가 높다. 순위값 5가 두개로 설정되어 있는데, 저런 경우 어느 서버를 통해 메일을 보내도 상관없다는 뜻이다. 같은 순위이므로 ASPMX 서버가 메일서버로서의 응답을 하지 않을 때 ALT1이나 ALT2 어느 서버를 통해서도 메일이 전달된다는 뜻이다. 만일 이 두 서버도 응답을 하지 않으면 다음의 10 값으로 지정된 서버들에게 차례로 메일 응답을 시도한다.

서버명 뒤에 '.'이 붙음을 주의하자. Zone 파일을 작성할 때 도메인으로 표시할 때 '.'을 붙이는 규칙을 가지고 있기 때문이다. 이와는 대조적으로 IP를 통해 표시를 할 때는 '.'을 붙이지 않는다.

MX는 메일 처리를 위한 서버 지정과 순서를 정하여 메일을 더욱 안정적으로 처리하기 위한 DNS의 기본 기능이다.
반응형
댓글