Dans mon infrastructure d'entreprise, j'ai un serveur de messagerie interne avec postfix dont le nom est, par exemple, srv-internal.central.mydomain.tld avec IP interne 10.10.128.200.
Pour l'échange de mails avec le Net, il utilise un serveur de messagerie relais (un serveur sur un environnement DMZ avec tous les trous d'épingle nécessaires par exemple ..), même avec postfix, dont le nom est mailgw.central.mydomain.tld avec l'interface interne IP 10.10. 133.105
Le nom de domaine public de notre infrastructure est (disons) " central.mydomain.tld ", mais " pec.central.mydomain.tld " N'EST PAS notre sous-domaine . Il est fourni par un autre FAI en dehors de notre réseau (donc, les mails vers ce domaine, doivent sortir).
Si j'envoie un courrier de user1@central.mydomain.tld (de la machine srv-internal.central.mydomain.tld) à foo@pec.central.mydomain.tld , j'obtiens du serveur de relais l'erreur suivante:
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]
Mon serveur de relais est sous Linux CentOS version 5.7, la version postfix est postfix-2.3.3-2.1.el5_2 des référentiels CentOS standard.
Disons que mon domaine est:
mydomain = central.mydomain.tld
Et ma configuration postfix sur le serveur relais, est actuellement la suivante:
(postconf -d; postconf -d; postconf -n;) | trier | 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
Et voici mon / 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]
L' adresse du destinataire a été rejetée: l'utilisateur inconnu dans la table des destinataires de relais semble que le serveur de relais (mailgw) "pense" que "pec.central.mydomain.tld" est l'un de ses sous-domaines, il recherche donc l'utilisateur destinataire dans ses cartes relay_recipient_maps, alors qu'il ne devrait pas à mon humble avis.
Je m'attendais à ce comportement si je mettais ".central.mydomain.tld" (avec le point initial!) Dans ma table de transport, mais j'ai vraiment "central.mydomain.tld", donc, en lisant les manuels, il ne devrait considérer que le nom de domaine , et pas aussi les sous-domaines.
J'apprécie grandement que quelqu'un puisse me suggérer ce que je fais mal.