NOQUEUE: rechazar: RCPT desde freebsd y postfix

12

Estoy construyendo un servidor usando esta configuración -> http://www.purplehat.org/?page_id=4 y cuando intento probar las capacidades básicas de correo electrónico obtengo -> NOQUEUE: rechazar: RCPT desde cuando intento enviar un correo electrónico de prueba.

A continuación están mis configuraciones relacionadas

¿Cómo obtengo postfix para enviar correos electrónicos?

Salida de registros:

Feb 13 18:37:43 r2d2 dovecot: pop3-login: Login: user=<[email protected]>, method=PLAIN, rip=67.85.57.155, lip=107.191.60.48, mpid=13390, TLS, session=<QA0yiPwOiwBDVTmb>
Feb 13 18:37:43 r2d2 dovecot: pop3([email protected]): Disconnected: Logged out top=0/0, retr=0/0, del=0/4, size=68813
Feb 13 18:37:44 r2d2 postfix/smtpd[13391]: connect from ool-4355399b.dyn.optonline.net[67.85.57.155]
Feb 13 18:37:46 r2d2 postfix/smtpd[13391]: NOQUEUE: reject: RCPT from ool-4355399b.dyn.optonline.net[67.85.57.155]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<Bramini>
Feb 13 18:37:49 r2d2 postfix/smtpd[13391]: disconnect from ool-4355399b.dyn.optonline.net[67.85.57.155]

postconf -n

broken_sasl_auth_clients = yes
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
debug_peer_level = 2
debug_peer_list = 127.0.0.1
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = /usr/local/share/doc/postfix
inet_protocols = ipv4
mail_owner = postfix
mailman_destination_recipient_limit = 1
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = ex-mailer.com
myhostname = r2d2.ex-mailer.com
mynetworks_style = host
newaliases_path = /usr/local/bin/newaliases
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
queue_directory = /var/spool/postfix
readme_directory = /usr/local/share/doc/postfix
relay_domains = proxy:mysql:/usr/local/etc/postfix/mysql_relay_domains_maps.cf list.ex-mailer.com
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtp_tls_note_starttls_offer = yes
smtp_use_tls = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client sbl-xbl.spamhaus.org
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks
smtpd_tls_CAfile = /etc/ssl/postfix/smtpd.pem
smtpd_tls_cert_file = /etc/ssl/postfix/smtpd.pem
smtpd_tls_key_file = /etc/ssl/postfix/smtpd.pem
smtpd_tls_loglevel = 0
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
soft_bounce = no
tls_random_source = dev:/dev/urandom
transport_maps = hash:/usr/local/etc/postfix/transport
unknown_local_recipient_reject_code = 550
vacation_destination_recipient_limit = 1
virtual_alias_maps = proxy:mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:125
virtual_mailbox_base = /usr/local/virtual
virtual_mailbox_domains = proxy:mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_limit = 51200000
virtual_mailbox_limit_maps = proxy:mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_mailbox_maps = proxy:mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_maildir_limit_message = Sorry, this user has overdrawn their diskspace quota. Please try again later.
virtual_minimum_uid = 125
virtual_overquota_bounce = yes
virtual_transport = virtual
virtual_uid_maps = static:125
postconf: warning: /usr/local/etc/postfix/main.cf: unused parameter: contencontent_filter=smtp-amavis:[127.0.0.1]:10024
postconf: warning: /usr/local/etc/postfix/main.cf: unused parameter: virtual_create_maildirsize=yes
postconf: warning: /usr/local/etc/postfix/main.cf: unused parameter: virtual_mailbox_extended=yes

El dominio telecomm.comse definió en relay_domainsparámetro. Aquí el contenido de/usr/local/etc/postfix/mysql_relay_domains_maps.cf

 user = doughnuts
 password = [redacted]
 hosts = localhost
 dbname = postfix
 query = SELECT domain FROM domain WHERE domain="%s" and backupmx ="0" and active ="1"

netstat -an | menos

Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address          Foreign Address        (state)
tcp4       0      0 *.587                  *.*                    LISTEN
tcp4       0      0 127.0.0.1.10025        *.*                    LISTEN
tcp4       0      0 *.465                  *.*                    LISTEN
tcp4       0      0 *.25                   *.*                    LISTEN
tcp4       0    128 107.191.60.48.2222     67.85.57.155.51823     ESTABLISHED
tcp4       0      0 127.0.0.1.953          *.*                    LISTEN
tcp4       0      0 127.0.0.1.53           *.*                    LISTEN
tcp6       0      0 ::1.53                 *.*                    LISTEN
tcp4       0      0 107.191.60.48.53       *.*                    LISTEN
tcp6       0      0 2001:19f0:7000:8.53    *.*                    LISTEN
tcp4       0      0 *.8282                 *.*                    LISTEN
tcp6       0      0 *.8282                 *.*                    LISTEN
tcp4       0      0 *.8181                 *.*                    LISTEN
tcp6       0      0 *.8181                 *.*                    LISTEN
tcp4       0      0 107.191.60.48.2222     67.85.57.155.57964     ESTABLISHED
tcp46      0      0 *.3306                 *.*                    LISTEN
tcp4       0      0 127.0.0.1.10024        *.*                    LISTEN
tcp6       0      0 *.993                  *.*                    LISTEN
tcp4       0      0 *.993                  *.*                    LISTEN
tcp6       0      0 *.143                  *.*                    LISTEN
tcp4       0      0 *.143                  *.*                    LISTEN

ACTUALIZACIÓN 14/02/2015 1430 EST

Salida de registro detallado:

https://bpaste.net/show/6a2a70cb2ab5

Al configurar la IP de la computadora de prueba en mynetworks = IP, puede ver que el correo va mucho más lejos a través del sistema, pero luego bloquea las clases de coincidencia. ¿Cómo fuerzo a Postfix para que coincida con 0.0.0.0 en cualquier dominio de origen / destino de IP?

cat /usr/local/etc/postfix/master.cf

# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
smtps     inet  n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

vacation  unix  -       n       n       -       -       pipe
  flags=DRhu user=vacation argv=/var/spool/vacation/vacation.pl

smtp-amavis unix - - n - 2 smtp
  -o smtp_data_done_timeout=2400
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=20
127.0.0.1:10025 inet n - n - - smtpd
  -o content_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o smtpd_restriction_classes=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks_style=host
  -o mynetworks=127.0.0.0/8
  -o strict_rfc821_envelopes=yes
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

mailman unix - n n - - pipe
  flags=FR user=mailman:nobody
  argv=/usr/local/mailman/postfix-to-mailman.py ${nexthop} ${user}

submission inet n       -       n       -       -       smtpd
  -o smtpd_tls_security_level=may
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_delay_reject=yes
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o smtpd_data_restrictions=
  -o smtpd_sasl_authenticated_header=yes
  -o receive_override_options=no_address_mappings
  -o syslog_name=postfix/submission
mía
fuente
Ni desde o hacia los dominios son locales o configurados como dominios de retransmisión, por lo tanto, obtiene un error de retransmisión denegado
Dan
@Dan se supone que está mapeando esa información de MySQL. mysql_relay_domains_maps.cf o.0
mina
@Dan y todas las consultas de la base de datos funcionan como se espera bpaste.net/show/e9be64528685
mina
nyctelecomm.com (como en su base de datos) y telecomm.com (como en sus registros) no son el mismo dominio
Dan
@Dan porque bpaste se elimina a sí mismo después de 14 días. No quiero que mis datos permanezcan en el www para siempre. Uno está editado, uno no :)
mío

Respuestas:

9

FYI, 454 4.7.1 <[email protected]: Relay access denied; fue el resultado de defer_unauth_destination . Es ligeramente diferente con rechazar_destinación_destinación , con rechazar significa error permanente con el código 550 y diferir significa error temporal con el código 450.

Pero espera ..., no tengo ningún parámetro que use defer_unauth_destination. ¿De dónde viene la extraña restricción?

En realidad, postfix tiene un parámetro de restricción oculto llamado smtpd_relay_restriction. Es una característica nueva, por lo que es posible que el tutorial anterior no lo cubra. Por defecto, smtpd_relay_restriction tiene valor

# postconf smtpd_relay_restriction
permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

Entonces, eso explica dónde está la defer_unauth_destination

Pero no respondió mi pregunta acerca de que mi cliente fuera rechazado :(

El comportamiento de (diferir | rechazar) _unauth_destination fue documentación en las páginas del manual de postfix .

Rechazar_destinación_de_autorización

Rechace la solicitud a menos que uno de los siguientes sea verdadero:

  • Postfix es reenviador de correo: el dominio RCPT TO resuelto coincide con $ relay_domains o un subdominio del mismo, y no contiene enrutamiento especificado por el remitente (usuario @ en otro lugar @ dominio),
  • Postfix es el destino final: el dominio RCPT TO resuelto coincide con $ mydestination, $ inet_interfaces, $ proxy_interfaces, $ virtual_alias_domains o $ virtual_mailbox_domains, y no contiene enrutamiento especificado por el remitente (usuario @ en otro lugar @ dominio).

En términos simples: postfix verificará la dirección del destinatario . Si la parte del dominio no se definió en relay_domains(o su subdominio), $ mydestination, $ inet_interfaces, $ proxy_interfaces, $ virtual_alias_domains o $ virtual_mailbox_domains, entonces postfix lo rechazará .

En sus registros anteriores, el destinatario era [email protected], por lo que es obvio por qué postfix lo rechaza.

masegaloeh
fuente
Sinceramente pensé que te habías clavado. Me encontré con un problema similar hace algún tiempo. Realizo el cambio, intenté configurar mis redes en 0.0.0.0 e incluso copié una configuración que aborda el problema exacto que sacaste a la luz. Mismo error :( bpaste.net/show/a26076c941b4 bpaste.net/show/6def40226cea
mina
No establezca mynetworks en 0.0.0.0/0. Su servidor se convertirá en openrelay
masegaloeh
Aún así, realmente no sé qué estás tratando de hacer ... Tu declaración sobre 'probar las capacidades básicas de correo electrónico' aún era vaga. Esta respuesta solo explica por qué obtienes el error. No se ha dado ninguna solución aquí todavía ...
masegaloeh
Es un servidor de correo estándar en una IP pública. Todos los clientes son dinámicos y enrutables. Solo necesito encontrar el botón 'enviar todo' (no el relé abierto). es decir, sasl auth. Está golpeando bien la base de datos.
mina
1
Bueno. Ahora, debemos verificar que la autenticación SASL se haya configurado correctamente tanto en el servidor como en el cliente. ¿Podría verificarlo siguiendo [estos documentos] (www.postfix.org/SASL_README.html#server_test)?
masegaloeh
1

Estoy usando THUNDERBIRD como MUA y tengo los mismos problemas. Resolví agregar la dirección IP de la PC de mi casa en el parámetro mynetworks en main.cf

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 MyIpAddress

PD: No tengo una ip estática para la PC de mi casa, así que cuando mi ISP la cambia, tengo que ajustarla cada vez.

Mauro Ferro
fuente
0

FWIW agregar lo siguiente funcionó para mí. Estoy usando un comprobador de spf que es la necesidad del servicio check_policy_service. Mi cliente es squirrelmail y mi servidor postfix.

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_policy_service unix:private/policyd-spf

dhromyk
fuente