
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
. - 둘 다에 대한 레코드는
@
Postfixmail
서버를 가리킵니다. - 에 언급된 TLS 인증서는 : 및
/etc/postfix/main.cf
를 참조하세요 .mail.example.com
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.example.com/privkey.pem
smtp_generic_maps = hash:/etc/postfix/generic
I 를 사용하여 inuser@hostname
으로 다시 작성합니다 .[email protected]
/etc/postfix/main.cf
- in 을 로 대체하기 위해
masquerade_domains = example.com
in을 추가했습니다 . 어쨌든 그것은 작동하지 않습니다. 이메일은 발신자로부터 계속 도착합니다 ./etc/postfix/main.cf
mail.example.com
[email protected]
example.com
[email protected]
그에 따른 질문은 다음과 같습니다.
- MX 레코드에
@
또는 를 사용해야 합니까 ?mail
mail.example.com
TLS 인증서는 참조 또는 참조를 참조해야 합니까example.com
?/etc/postfix/generic
먼저user@hostname
로 변환 해야 할까요[email protected]
, 아니면 직접 로 변환해야 할까요[email protected]
?
답변1
요즘 가장 올바른 방법은 서비스를 제공하도록 완전히 구성된 적절한 메일 서비스에 계정을 만드는 것입니다 example.com
. (물론 자체 서버일 수도 있지만 상관없습니다.) 그런 다음 null 호스트에서는 메일 서버를 SASL 인증을 사용하는 스마트 호스트로만 구성합니다.
이와 같이 Postfix를 설정하는 것은 완벽하게 가능하지만(Postfix 자체 매뉴얼을 포함하여 많은 매뉴얼이 있습니다), Postfix는 그러한 용도에 과잉이라고 생각합니다. nullmailer
일부 시스템 알림을 보내는 것 외에는 메일에 대해 아무 작업도 수행하지 않는 시스템에 정확히 적합한 사용을 고려하세요 .
이것이 가능하지 않은 경우 다음과 같이 DNS를 설정하십시오.
example.com
MX 레코드는 적절한 메일 서비스를 가리킵니다. 하위 도메인과는 아무런 관련이 없습니다.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. MX
example.com의 레코드로 연결되어야 합니다.중모든 전자엑스교환기(에 대한 메일을 수신하는 시스템[email protected]
). 하위 도메인의 메일과는 아무런 관련이 없습니다. 각 하위 도메인은 그 자체로 메일 도메인입니다. - 주소 다시 쓰기를 설정하는 방법은 귀하에게 달려 있습니다. 외부 세계가 보는 유일한 것은 최종 결과입니다. 그렇다면 굳이 두 단계로 나누어서 수행할 필요가 있을까요?