Erro de configuração de retransmissão SMTP do Postfix

4

No último dia eu estava procurando por soluções para esse problema:

Minha configuração de postfix (+ dovecot) é totalmente capaz de receber e-mails e de atendê-los via IMAP, mas falha ao aceitá-los via SMTP (porta 587).

Eu já tentei adicionar exemplo.net a relay_domains , mas ele falhou, pois ele já está no banco de dados de domínios de caixa de correio virtual.

Eu já tentei adicionar mail.example.net ao banco de dados de domínios de caixa de correio virtual.

Para a configuração, segui Ars Technica 's guia na configuração de um servidor de e-mail. Talvez um reconheça alguns elementos. Observação: não consegui seguir o guia exatamente devido à falta do pacote postfix-dovecot, mas acho que superei um possível problema, já que posso receber mensagens.
Observação adicional: envio para outros endereços (como o webmaster @ example.net) funciona.
Eu posso fornecer todos os arquivos necessários.

Se necessário: a versão do postfix 2.11.3

Por favor, note: example.net é o substituto do meu domínio. É válido, o DNS está configurado e certificados TLS válidos estão instalados.

ARQUIVOS DE CONFIGURAÇÃO

postfix: main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, permit
smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
smtpd_recipient_restrictions = reject_unknown_client_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender
#smtpd_relay_restrictions = reject_unknown_client_hostname,reject_unknown_sender_domain, reject_unknown_recipient_domain,reject_unauth_pipelining, permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender
smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch
smtpd_sender_login_maps = $virtual_mailbox_maps
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
broken_sasl_auth_clients = yes
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
tls_random_source = dev:/dev/urandom

smtpd_tls_ask_ccert = yes
smtpd_tls_cert_file = /etc/crypto/mail.example.net.chained.crt
smtpd_tls_key_file = /etc/crypto/mail.example.net.key
smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtpd_tls_ciphers = high
smtpd_tls_loglevel = 1
smtpd_tls_security_level = encrypt
smtpd_tls_session_cache_timeout = 3600s 

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = example.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
#mydestination =  $mydomain, raspberrysyncserver, localhost.localdomain, localhost
mydestination = raspberrysyncserver, localhost.localdomain, localhost
relayhost = 
mynetworks = 127.0.0.0/8 192.168.2.0/24 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
#relay_domains = example.net

unknown_address_reject_code = 550
unknown_hostname_reject_code = 550
unknown_client_reject_code = 550

canonical_maps = hash:/etc/postfix/canonical
home_mailbox = Maildir/
message_size_limit = 104857600
virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_domains = hash:/etc/postfix/virtual-mailbox-domains
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox-users
virtual_transport = dovecot

dovecot_destination_recipient_limit = 1

default_destination_concurrency_limit = 5
disable_vrfy_command = yes
relay_destination_concurrency_limit = 1
smtp_tls_note_starttls_offer = yes
#smtp_tls_security_level = encrypt
smtp_dns_support_level = dnssec
smtp_tls_security_level = dane
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,reject_unknown_client_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender

milter_default_action = accept
milter_connect_macros = j {daemon_name} v {if_name} _
non_smtpd_milters = $smtpd_milters
#smtpd_milters = unix:/spamassassin/spamd.sock unix:/clamav/clamav-milter.ctl unix:/opendkim/opendkim.sock
smtpd_milters = unix:/clamav/clamav-milter.ctl unix:/opendkim/opendkim.sock

postfix: master.cf

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -   n   n   -   2   pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver
  -f ${sender} -d $(recipient)

mail.log (snippet)

May  3 16:29:09 raspberrysyncserver postfix/smtpd[30395]: Trusted TLS connection established from MyComputer[192.168.2.150]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
May  3 16:29:11 raspberrysyncserver postfix/smtpd[30395]: NOQUEUE: reject: RCPT from MyComputer[192.168.2.150]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[192.168.2.150]>
May  3 16:29:13 raspberrysyncserver postfix/smtpd[30395]: disconnect from MyComputer[192.168.2.150]
    
por SEJPM 03.05.2015 / 16:53

2 respostas

5

A rejeição foi causada por smtpd_recipient_restrictions . Excluir reject_unauth_destination de smtpd_recipient_restrictions deve corrigir o problema.

Você já colocou reject_unauth_destination em smtpd_relay_restrictions , então não é necessário colocá-lo novamente em smtpd_recipient_restrictions .

    
por 03.05.2015 / 17:35
3

Esta é a parte reveladora do log. Leva à resposta de masegaloeh.

May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: >>> START Recipient address RESTRICTIONS <<<
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unknown_client_hostname
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: reject_unknown_client: mycomputer 192.168.2.150
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unknown_client_hostname status=0
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unknown_sender_domain
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: reject_unknown_address: [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: ctable_locate: leave existing entry key [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unknown_sender_domain status=0
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unknown_recipient_domain
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: reject_unknown_address: [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: ctable_locate: move existing entry key [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: reject_unknown_mailhost: web.de
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: lookup web.de type MX flags 0
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: dns_query: web.de (MX): OK
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: dns_get_answer: type MX for web.de
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: dns_get_answer: type MX for web.de
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unknown_recipient_domain status=0
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unauth_pipelining
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: reject_unauth_pipelining: RCPT
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unauth_pipelining status=0
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unauth_destination
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: reject_unauth_destination: [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: permit_auth_destination: [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: ctable_locate: leave existing entry key [email protected]
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: NOQUEUE: reject: RCPT from mycomputer[192.168.2.150]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<[192.168.2.150]>
May  3 17:26:04 raspberrysyncserver postfix/smtpd[31303]: generic_checks: name=reject_unauth_destination status=2
    
por 03.05.2015 / 17:37

Tags