저는 현재 모놀리식 메일 서버를 대체하기 위해 서버에 Postfix/Dovecot 구성을 출시하고 있습니다.
테스트 환경에서는 모든 것이 설정되고 작동합니다. 이제 5개의 추가 서버에 구성을 배포하고 있는데 안타깝게도 여기서는 아무것도 작동하지 않습니다.
합법적인 이메일 주소에서 외부 당사자(예: Gmail)로 이메일을 보내려고 하면 다음과 같은 오류 메시지가 나타납니다.
릴레이 액세스 거부됨
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: match_list_match: 제거됨: 일치하지 않음
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: generic_checks: name=permit_mynetworks status= 0
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: generic_checks: 이름=reject_unauth_destination 0
9월 14일 10:23:51 px-10042 postfix/smtpd[21569] :reject_unauth_destination:[이메일 보호됨]
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: allowed_auth_destination:[이메일 보호됨]
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: ctable_locate: 기존 입력 키 유지[이메일 보호됨][이메일 보호됨]
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: NOQUEUE: 거부: 삭제된 RCPT에서 [삭제됨]: 554 5.7.1[이메일 보호됨]: 릴레이 액세스가 거부되었습니다.[이메일 보호됨] [이메일 보호됨]proto=ESMTP helo=<[192.168.10.39]>
9월 14일 10:23:51 px-10042 postfix/smtpd[21569]: generic_checks: name=reject_unauth_destination status=2
9월 14일 10:23:51 px- 10042 postfix/smtpd [21569]: >>> END 수신자 주소 제한<<<
내부 주소나 내 주소(나도 메일을 보내는 주소)로 메일을 보내면 잘 작동합니다.
메일 서버는 수신하는 모든 메일을 3개의 proxmox 메일 게이트웨이 중 하나로 전달해야 합니다. 마찬가지로 수신 이메일은 Proxmox Mail Gateway에서만 허용됩니다. 이는 DNS 설정에서 구성되며 첫 번째 테스트 환경뿐만 아니라 전체 아키텍처에서도 잘 작동합니다.
다음은 postconf -n의 출력입니다.
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1h
inet_interfaces = 127.0.0.1, ::1, REMOVED
local_recipient_maps = $virtual_mailbox_maps
mailbox_size_limit = 0
maximal_backoff_time = 15m
maximal_queue_lifetime = 1h
message_size_limit = 52428800
minimal_backoff_time = 5m
mua_client_restrictions = permit_mynetworks,permit_sasl_authenticated,reject
mua_relay_restrictions = reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_mynetworks,permit_sasl_authenticated,reject
mua_sender_restrictions = permit_mynetworks,reject_non_fqdn_sender,reject_sender_login_mismatch,permit_sasl_authenticated,reject
mydomain = REMOVED
myhostname = REMOVED
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
queue_run_delay = 5m
recipient_delimiter = +
relayhost = [REMOVED.de]:26
smtp_dns_support_level = dnssec
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_ciphers = high
smtp_tls_mandatory_protocols = TLSv1.3 TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_protocols = TLSv1.3 TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_security_level = dane
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_restrictions = permit_mynetworks check_client_access hash:/etc/postfix/without_ptr reject_unknown_client_hostname
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
smtpd_relay_restrictions = reject_non_fqdn_recipient reject_unknown_recipient_domain permit_mynetworks reject_unauth_destination
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/private/px_network.crt
smtpd_tls_ciphers = high
smtpd_tls_key_file = /etc/ssl/private/px_network.key
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_mandatory_protocols = TLSv1.3 TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtpd_tls_protocols = TLSv1.3 TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA
tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
tls_preempt_cipherlist = no
tls_ssl_options = NO_COMPRESSION
virtual_alias_maps = mysql:/etc/postfix/sql/aliases.cf
virtual_mailbox_domains = mysql:/etc/postfix/sql/domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/sql/accounts.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
이것은 master.cf입니다.
###
smtp inet n - y - 1 postscreen
-o smtpd_sasl_auth_enable=no
###
###
smtpd pass - - y - - smtpd
###
###
dnsblog unix - - y - 0 dnsblog
###
###
tlsproxy unix - - y - 0 tlsproxy
###
###
submission inet n - y - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_security_options=noanonymous
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_relay_restrictions=$mua_relay_restrictions
-o milter_macro_daemon_name=ORIGINATING
-o smtpd_sender_login_maps=mysql:/etc/postfix/sql/sender-login-maps.cf
-o smtpd_helo_required=no
-o smtpd_helo_restrictions=
-o cleanup_service_name=submission-header-cleanup
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_type=dovecot
-o smtpd_sasl_path=private/auth
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_security_options=noanonymous
-o smtpd_client_restrictions=$mua_client_restrictions
-o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_relay_restrictions=$mua_relay_restrictions
-o milter_macro_daemon_name=ORIGINATING
-o smtpd_sender_login_maps=mysql:/etc/postfix/sql/sender-login-maps.cf
-o smtpd_helo_required=no
-o smtpd_helo_restrictions=
-o cleanup_service_name=submission-header-cleanup
###
###
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
###
###
submission-header-cleanup unix n - n - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_cleanup
이것은 postconf -P의 출력입니다:
smtp/inet/smtpd_sasl_auth_enable = no
submission/inet/cleanup_service_name = submission-header-cleanup
submission/inet/milter_macro_daemon_name = ORIGINATING
submission/inet/smtpd_client_restrictions = $mua_client_restrictions
submission/inet/smtpd_helo_required = no
submission/inet/smtpd_helo_restrictions =
submission/inet/smtpd_relay_restrictions = $mua_relay_restrictions
submission/inet/smtpd_sasl_auth_enable = yes
submission/inet/smtpd_sasl_path = private/auth
submission/inet/smtpd_sasl_security_options = noanonymous
submission/inet/smtpd_sasl_type = dovecot
submission/inet/smtpd_sender_login_maps = mysql:/etc/postfix/sql/sender-login-maps.cf
submission/inet/smtpd_sender_restrictions = $mua_sender_restrictions
submission/inet/smtpd_tls_security_level = encrypt
submission/inet/syslog_name = postfix/submission
smtps/inet/cleanup_service_name = submission-header-cleanup
smtps/inet/milter_macro_daemon_name = ORIGINATING
smtps/inet/smtpd_client_restrictions = $mua_client_restrictions
smtps/inet/smtpd_helo_required = no
smtps/inet/smtpd_helo_restrictions =
smtps/inet/smtpd_relay_restrictions = $mua_relay_restrictions
smtps/inet/smtpd_sasl_auth_enable = yes
smtps/inet/smtpd_sasl_path = private/auth
smtps/inet/smtpd_sasl_security_options = noanonymous
smtps/inet/smtpd_sasl_type = dovecot
smtps/inet/smtpd_sender_login_maps = mysql:/etc/postfix/sql/sender-login-maps.cf
smtps/inet/smtpd_sender_restrictions = $mua_sender_restrictions
smtps/inet/smtpd_tls_wrappermode = yes
smtps/inet/syslog_name = postfix/smtps
submission-header-cleanup/unix/header_checks = regexp:/etc/postfix/submission_header_cleanup
미리 감사드립니다.