Postfix: Địa chỉ người nhận bị từ chối: Người dùng không xác định trong bảng người nhận cục bộ, mặc dù tên miền người nhận là tên miền bên ngoài


9

Trong cơ sở hạ tầng công ty của tôi, tôi có một máy chủ thư nội bộ với postfix có tên là srv-Internal.central.mydomain.tld với IP nội bộ 10.10.128.200.

Để trao đổi thư với Net, nó sử dụng máy chủ thư chuyển tiếp (máy chủ trên môi trường DMZ với tất cả các lỗ cần thiết ..), ngay cả với postfix, có tên là mailgw.central.mydomain.tld với giao diện bên trong IP 10.10. 133.105

Tên miền công cộng của cơ sở hạ tầng của chúng tôi là (nói) " Central.mydomain.tld ", nhưng " pec.central.mydomain.tld " KHÔNG phải là tên miền phụ của chúng tôi . Nó được cung cấp bởi một ISP khác bên ngoài mạng của chúng tôi (vì vậy, thư đến miền này, phải thoát ra).

Nếu tôi gửi thư từ user1@central.mydomain.tld (từ máy srv-Internal.central.mydomain.tld) ​​đến foo@pec.central.mydomain.tld , tôi nhận được từ máy chủ chuyển tiếp lỗi sau:

Sep  4 08:03:16 mailgw postfix/smtpd[26678]: NOQUEUE: reject: RCPT from unknown[10.10.128.200]: 550 5.1.1 <foo@pec.central.mydomain.tld>: Recipient address rejected: User unknown in relay recipient table; from=<user1@central.mydomain.tld> to=<foo@pec.central.mydomain.tld> proto=ESMTP helo=<srv-internal.central.mydomain.tld>
Sep  4 08:03:16 mailgw postfix/smtpd[26678]: disconnect from unknown[10.10.128.200]

Máy chủ chuyển tiếp của tôi là trên Linux CentOS phát hành 5.7, phát hành hậu tố là postfix-2.3.3-2.1.el5_2 từ kho lưu trữ CentOS tiêu chuẩn.

Giả sử tên miền của tôi là:

 mydomain = central.mydomain.tld

Và cấu hình postfix của tôi trên máy chủ chuyển tiếp, currenttly là như sau:

(postconf -d; postconf -d; postconf -n;) | sắp xếp | uniq -u

alias_maps = hash:/etc/aliases
biff = no
body_checks = regexp:/etc/postfix/body_checks
content_filter = filter:127.0.0.1:10025
default_process_limit = 10
disable_vrfy_command = yes
header_checks = pcre:/etc/postfix/header_checks
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
message_size_limit = 12582912
mime_header_checks = regexp:/etc/postfix/mime_header_checks
mydestination = $myhostname, localhost.$mydomain
myhostname = mailgw.$mydomain
mynetworks = 127.0.0.0/8, 10.10.24.0/24, 10.10.128.200/32, 10.10.128.201/32
newaliases_path = /usr/bin/newaliases.postfix
readme_directory = /etc/postfix/README_FILES
receive_override_options = no_address_mappings
relay_domains = $mydomain, riminiventure.it
relay_recipient_maps = hash:/etc/postfix/relay_recipients
sample_directory = /etc/postfix/samples
sendmail_path = /usr/sbin/sendmail.postfix
smtpd_error_sleep_time = 5s
smtpd_hard_error_limit = 10
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks,    permit_sasl_authenticated,    check_client_access hash:/etc/postfix/access_client,    check_helo_access hash:/etc/postfix/access_helo,    check_sender_access hash:/etc/postfix/access_sender, pcre:/etc/postfix/access_sender_pcre,    check_recipient_access hash:/etc/postfix/access_recipient,    reject_unauth_destination,    reject_invalid_hostname,    reject_unauth_pipelining,    reject_non_fqdn_sender,    reject_unknown_sender_domain,    reject_non_fqdn_recipient,    reject_unknown_recipient_domain,    reject_rbl_client bl.spamcop.net,    reject_rbl_client sbl.spamhaus.org,  check_policy_service inet:127.0.0.1:2501,    permit
smtpd_soft_error_limit = 3
strict_rfc821_envelopes = yes
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 450
virtual_alias_domains = riminifar.it
virtual_alias_maps = hash:/etc/postfix/virtual

Và đây là / etc / postfix / Transport:

central.mydomain.tld        smtp:[srv-internal.central.mydomain.tld]
someotherdomain.org         smtp:[srv-internal.central.mydomain.tld]
yadomain.it                  smtp:[srv-internal.central.mydomain.tld]
xad.central.mydomain.tld        smtp:[srv-internal.central.mydomain.tld]
test.central.mydomain.tld        smtp:[10.10.15.101]

Bây giờ, địa chỉ người nhận bị từ chối: Người dùng không xác định trong bảng người nhận chuyển tiếp dường như máy chủ chuyển tiếp (mailgw) "nghĩ" rằng "pec.central.mydomain.tld" là một trong những tên miền phụ của nó, vì vậy nó tìm kiếm người dùng người nhận vào rơle_recipient_maps, trong khi nó không nên IMHO.

Tôi mong đợi hành vi này nếu tôi đặt ".central.mydomain.tld" (với dấu chấm ban đầu!) Trong bảng vận chuyển của mình, nhưng tôi thực sự có "centre.mydomain.tld", vì vậy, đọc hướng dẫn sử dụng, nó chỉ nên xem xét tên miền và không phải là tên miền phụ.

Tôi đánh giá rất cao nếu ai đó có thể gợi ý cho tôi những gì tôi đang làm sai.

Câu trả lời:


6

Tham số mà bạn nên biết là Parent_domain_matches_subdomains .

Danh sách các tính năng Postfix trong đó mẫu "example.com" cũng khớp với các tên miền phụ của example.com, thay vì yêu cầu mẫu ".example.com" rõ ràng. Điều này được lên kế hoạch tương thích ngược: cuối cùng, tất cả các tính năng của Postfix dự kiến ​​sẽ yêu cầu các mẫu kiểu ".example.com" rõ ràng khi bạn thực sự muốn khớp các tên miền phụ.

Vì vậy, Parent_domain_matches_subdomains giữ danh sách tên miền mà hậu tố phải khớp với tên miền phụ của nó ngay cả khi không có (dấu chấm) phía trước nó .

Thật không may, relay_domainstham số rơi vào danh sách đó.

# postconf parent_domain_matches_subdomains
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps

Và bởi vì bạn relay_domainschứa $mydomainhoặc Central.mydomain.tld , postfix phù hợp với tất cả tên miền phụ của Central.mydomain.tldrelay_domains không phải là tên miền bên ngoài.


Giải pháp được đặt parent_domain_matches_subdomainsvà không bao gồm Relay_domains trên các tham số đó.


Cảm ơn bạn rất nhiều, @masegaloeh. Nó hoạt động như một cơ duyên! :) Giải thích của bạn rất rõ ràng nữa Tnx một lần nữa.
gabolander

@gabolander Nếu điều này hoạt động, vui lòng xem xét chấp nhận câu trả lời này, vì vậy câu hỏi không trôi nổi trong nhóm không trả lời
masegaloeh

Tôi đã làm nó rồi, cảm ơn bạn. (Tôi không thể báo cáo là hữu ích, vì tôi cần 15 danh tiếng và tôi chưa có)
gabolander

0

Trong trường hợp của tôi, tôi đã tìm thấy danh sách trắng cho người dùng email theo: / etc / postfix / Relay_reciprons Nếu người dùng của bạn không nằm trong danh sách này, anh ta sẽ không bao giờ nhận được email.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.