DNS 및 SMTP 메일 라우팅

DNS(Domain Name System)는 해당 이름에 대한 연결을 수신할 수 있는 서버 목록으로 이름(예: renovations.com)을 변환하고 특정 서버의 IP 주소를 찾기 위해 SMTP에서 사용하는 디렉토리입니다. 발송 서버는 대상 서버의 주소를 DNS에서 찾아 수신인에게 메시지를 정확하게 라우트합니다.

DNS는 두 종류의 레코드(MX(Mail Exchanger) 레코드 및 A 레코드)를 사용합니다. MX 레코드는 도메인 이름을 하나 이상의 메일 호스트 이름으로 맵핑합니다. A 레코드는 호스트 이름을 서버의 IP 주소로 맵핑합니다.

또한 메일 서버는 다른 DNS 레코드를 사용합니다. 예를 들어 인터넷 메일을 수신하는 서버는 DNS PTR 레코드를 역조회하여 주어진 IP 주소의 호스트 이름을 결정합니다. 역조회는 메시지의 소스 확인에 유용하고, 서버에서 릴레이 액세스를 제한하거나 UCE(Unsolicited Commercial E-mail)를 금지하는데 중요한 도구입니다.

SMTP 사용을 지원하도록 DNS를 정확하게 설정해야 합니다. 대상 도메인에 대한 메일 서버의 IP 주소를 판별하기 위해, HCLDomino®는 다음을 수행합니다.

  1. 서버가 DNS에서 각 수신인 주소의 도메인 항목을 검색합니다.
  2. DNS에서 MX 레코드를 찾으면 서버가 MX 레코드에 등록된 서버로 연결을 시도합니다. MX 레코드가 두 개 이상인 경우, 서버가 가장 적은 비용의 레코드로 연결을 시도합니다. 최단 경로의 MX 레코드가 두 개 이상인 경우, 서버가 MX 레코드에서 임의로 선택하여 이 서버로 연결합니다.
    주: 특정 도메인 이름에 대한 MX 레코드가 여러 개일 수 있습니다. DNS에서 호스트 이름을 검색하여 A 레코드를 찾습니다. A 레코드에 호스트의 IP 주소가 포함되어 있습니다.
  3. DNS에서 A 레코드를 하나만 찾은 경우, Domino®가 A 레코드에 들어 있는 IP 주소로 메시지를 라우트합니다.
  4. DNS가 레코드를 찾지 못한 경우, Domino®는 메시지를 배달할 수 없으며 배달 불가 메시지를 발신인에게 전송합니다.

MX 레코드는 도메인 이름을 하나 이상의 호스트 이름에 맵핑합니다. A 레코드는 호스트 이름을 서버의 IP 주소로 맵핑합니다. 다음과 같은 이유로, 하나의 A 레코드 대신 MX 레코드의 호스트 이름을 사용할 수 있습니다.

  • 일부 타사 도구가 IP 주소는 인식하지 못하고 호스트 이름만 인식합니다.
  • 컴퓨터를 교체하거나 재배치할 경우, 기존의 호스트 이름과 IP 주소를 새 컴퓨터나 재배치한 시스템에 지정할 수 있습니다. 이 변경사항은 시스템에서 자동 적용되고, 메시지는 계속 올바르게 라우트됩니다.

DNS를 사용하면 DNS 서버에서 도메인 이름 하나에 MX 레코드를 여러 개 작성하여 사용자의 메일 서버에 장애 복구 및 작업량 분산을 제공할 수 있습니다. 이름에 대한 둘 이상의 MX 레코드를 설정하면, DNS가 이런 레코드를 선택하는 방법을 제어하는 환경 설정 값을 설정할 수 있습니다. DNS은 먼저 더 작은 값의 환경 설정을 선택합니다. 예를 들면, DNS는 10보다 5를 먼저 선택합니다. 둘 이상의 MX 레코드에 동일한 환경 설정 값이 있는 경우, DNS는 해당 MX 레코드에서 임의로 값을 선택합니다. MX 레코드 중에서 하나가 실패할 경우(예: 서버가 사용 불가능함), DNS는 실패를 캐시하고 동등한 값을 가진 다른 MX 레코드를 시도합니다. 선호도가 낮은 다음 레코드를 계속 시도합니다.

예를 들어, renovations.com 도메인에 다음과 같은 네 개의 MX 레코드가 있습니다.

  • MX 레코드: renovations.com IN MX 5 mail1.renovations.com
  • MX 레코드: renovations.com IN MX 5 mail2.renovations.com
  • MX 레코드: renovations.com IN MX 10 mail3.renovations.com
  • MX 레코드: renovations.com IN MX 10 mail4.renovations.com

서버가 renovations.com에 연결을 시도하면, DNS는 먼저 환경 설정 값이 5인 MX 레코드를 사용합니다. 환경 설정 값이 5인 MX 레코드가 두 개인 경우, DNS는 mail1.renovations.com 또는 mail2.renovations.com에 대한 MX 레코드 중에서 하나를 임의로 선택합니다. DNS가 mail1.renovations.com에 대한 MX 레코드를 리턴하는 데 mail1.renovations.com이 사용 불가능한 경우, DNS는 mail2.renovations.com에 대한 MX 레코드를 리턴합니다. mail2.renovations.com이 사용 불가능한 경우, 비용이 5인 MX 레코드는 모두 실패합니다. 이런 경우, DNS가 설정값이 10인 MX 레코드를 선택하고, 설정값이 5인 MX 레코드에서 사용한 동일한 방법을 사용합니다.