접미사 및 하위 도메인

접미사 및 하위 도메인

Ubuntu 20.04 시스템에 Postfix를 설정했습니다. 그런데 서브도메인을 어디에 사용해야 하는지, 도메인을 어디에 써야 하는지 잘 모르겠습니다. 그들을 각각 mail.example.com이라고 부르자 example.com.

시스템은 널 클라이언트로, 이메일을 보내지만 어떤 것도 받지 않습니다( inet_interfaces = loopback-only를 통해 구현됨 /etc/postfix/main.cf). 독점적 으로 메시지를 보내려고합니다 [email protected].

  • MX 레코드는 입니다 @ IN MX 0 mail.example.com.
  • 둘 다에 대한 레코드는 @Postfix mail서버를 가리킵니다.
  • 에 언급된 TLS 인증서는 : 및 /etc/postfix/main.cf를 참조하세요 .mail.example.comsmtpd_tls_cert_file=/etc/letsencrypt/live/mail.example.com/fullchain.pemsmtpd_tls_key_file=/etc/letsencrypt/live/mail.example.com/privkey.pem
  • smtp_generic_maps = hash:/etc/postfix/genericI 를 사용하여 in user@hostname으로 다시 작성합니다 .[email protected]/etc/postfix/main.cf
  • in 을 로 대체하기 위해 masquerade_domains = example.comin을 추가했습니다 . 어쨌든 그것은 작동하지 않습니다. 이메일은 발신자로부터 계속 도착합니다 ./etc/postfix/main.cfmail.example.com[email protected]example.com[email protected]

그에 따른 질문은 다음과 같습니다.

  • MX 레코드에 @또는 를 사용해야 합니까 ?mail
  • mail.example.comTLS 인증서는 참조 또는 참조를 참조해야 합니까 example.com?
  • /etc/postfix/generic먼저 user@hostname로 변환 해야 할까요 [email protected], 아니면 직접 로 변환해야 할까요 [email protected]?

답변1

요즘 가장 올바른 방법은 서비스를 제공하도록 완전히 구성된 적절한 메일 서비스에 계정을 만드는 것입니다 example.com. (물론 자체 서버일 수도 있지만 상관없습니다.) 그런 다음 null 호스트에서는 메일 서버를 SASL 인증을 사용하는 스마트 호스트로만 구성합니다.

이와 같이 Postfix를 설정하는 것은 완벽하게 가능하지만(Postfix 자체 매뉴얼을 포함하여 많은 매뉴얼이 있습니다), Postfix는 그러한 용도에 과잉이라고 생각합니다. nullmailer일부 시스템 알림을 보내는 것 외에는 메일에 대해 아무 작업도 수행하지 않는 시스템에 정확히 적합한 사용을 고려하세요 .

이것이 가능하지 않은 경우 다음과 같이 DNS를 설정하십시오.

  • example.comMX 레코드는 적절한 메일 서비스를 가리킵니다. 하위 도메인과는 아무런 관련이 없습니다.
  • nullhost.example.com. MX 10 ., 즉 아무 곳도 가리킵니다. 이는 에 대한 메일을 받지 않을 것임을 명시적으로 나타냅니다 [email protected]. 외부 연결(방화벽 tcp/25, 청취 localhost:25전용 등) 로부터 널 호스트의 smtpd 서비스를 보호하는 경우에는 이것이 필요하지 않습니다 . 그러나 명시적인 것이 항상 암시적인 것보다 낫습니다.
  • 이 널 호스트는 발신자 도메인으로 설정된 메일을 보낼 예정 example.com이므로 해당 메일은 해당 도메인에 대한 DMARC 설정을 따라야 합니다. 그렇지 않으면 올바르게 행동하는 수신자가 메일을 삭제하게 됩니다.

이 마지막 지점인 DMARC는 상황을 상당히 복잡하게 만들 수 있습니다. 안전하게 설정되어 있으면 레코드가 다음과 같이 표시됩니다. _dmarc.example.com. TXT "v=DMARC1; p=reject; pct=100; ..."null 호스트에서 SPF 및 DKIM 서명을 설정해야 합니다. SPF는 쉽습니다. SPF TXT 레코드에 "a:nullhost.example.com"을 추가하기만 하면 됩니다. DKIM은 까다롭습니다. 추가 DKIM 키 쌍을 생성하고 선택기를 선택하고( nullhost아마도 그럴 것입니다) 공개 쌍을 DNS에 nullhost._domainkey.example.com. TXT "... key data ...". 그런 다음 null 호스트에서 직접 해당 개인 키로 노래를 구성하고(선택한 선택기를 사용하여) 이를 위해 opendkim을 사용합니다. 스마트 호스트를 사용하는 것이 선호되는 방법이라고 언급했나요?


그리고 귀하의 질문.

  • 귀하는 서버가 아닙니다(이 시스템은 어떤 메일도 수신해서는 안 된다고 말씀하셨습니다). 따라서 TLS 서버 인증서가 필요하지 않습니다. TLS 클라이언트 인증서를 사용하여 항목을 설정할 수 있으므로 TLS를 통해 스마트 호스트나 다른 서버에 연결할 때 이를 표시할 수 있습니다. 그런데 왜 그렇게 하고 싶나요?
  • "apex" 레코드 @ MX(일명)는 example.com. MXexample.com의 레코드로 연결되어야 합니다.모든 전자엑스교환기(에 대한 메일을 수신하는 시스템 [email protected]). 하위 도메인의 메일과는 아무런 관련이 없습니다. 각 하위 도메인은 그 자체로 메일 도메인입니다.
  • 주소 다시 쓰기를 설정하는 방법은 귀하에게 달려 있습니다. 외부 세계가 보는 유일한 것은 최종 결과입니다. 그렇다면 굳이 두 단계로 나누어서 수행할 필요가 있을까요?

관련 정보