Postfix-Relay über einen anderen Postfix-Server


1

Ich habe einen Postfix-Server in meinem LAN, auf dem Virtualmin ausgeführt wird. Ich habe insgesamt 4 Domains auf diesem Server und muss in der Lage sein, E-Mails an und von den Domains auf diesem Server zu senden und zu empfangen.

Das Problem ist, dass mein ISP (Comcast) eingehenden und ausgehenden Port 25 blockiert.

Ich habe also einen Remote-VPS, den ich zum Weiterleiten von E-Mails verwenden wollte, sowohl eingehend als auch ausgehend auf Port 587. Auf diesem VPS ist auch Postfix auf Virtualmin installiert.

Ich habe also die vier Domänen:

domain.com domain2.com domain3.com domain4.com

Wenn ich eine E-Mail von user1@domain.com sende, möchte ich, dass sie über meinen externen Mailserver (mail.domain.com, auch auf meinem VPN als 10.1.0.10) und an das Ziel weitergeleitet wird. Wenn in der Zwischenzeit jemand eine E-Mail an user1@domain.com sendet, werden meine MX-Einträge an mail.domain.com und dann über Port 587 und mein VPN in mein Netzwerk gesendet.

Ich habe diesbezüglich ein wenig getan. Ich kann meinen VPS drücken, erhalte aber einige Fehlermeldungen. Ich schätze, ich habe Probleme damit, einen Benutzer auf meinem VPS in die Lage zu versetzen, E-Mails über diesen Postfix-Server weiterzuleiten, um die SASL-Authentifizierung zu bestehen.

Hier ist meine main.cf auf meinem Postfix-Server in meinem LAN:

# 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 $mail_name (Debian/GNU)
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
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

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

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated     defer_unauth_destination
myhostname = cactuar.domain.local
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = cactuar.domain.local, localhost.domain.local, , localhost
relayhost = [10.1.0.10]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
recipient_delimiter = +
virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks     permit_sasl_authenticated reject_unauth_destination
allow_percent_hack = no

# enable SASL authentication 
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication. 
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption 
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Dies ist meine main.cf auf meiner Remote-Mail.domain.com VPS:

# 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 $mail_name (Debian/GNU)
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
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

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

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated     defer_unauth_destination
myhostname = mail.domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain $mydomain
relaydomains = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/8
mailbox_command = /usr/bin/procmail-wrapper -o -a $DOMAIN -d $LOGNAME
mailbox_size_limit = 0
recipient_delimiter = +
virtual_alias_maps = hash:/etc/postfix/virtual
sender_bcc_maps = hash:/etc/postfix/bcc
home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks     permit_sasl_authenticated reject_unauth_destination
allow_percent_hack = no
transport_maps = hash:/etc/postfix/transport

# SASL SUPPORT FOR CLIENTS
#
# The following options set parameters needed by Postfix to enable
# Cyrus-SASL support for authentication of mail clients.
#
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks     permit_sasl_authenticated reject_unauth_destination
smtp_sasl_auth_enable = yes
myorigin = $mydomain

Wenn ich eine E-Mail von meinem Heimserver an das Internet sende, erhalte ich die folgenden mail.log-Ergebnisse:

Auf meinem Heimserver:

Dec  5 12:41:02 cactuar postfix/qmgr[29509]: DEA6EC1725: from=<user1@domain.com>, size=655, nrcpt=1 (queue active)
Dec  5 12:41:03 cactuar dovecot: imap(domain): Connection closed in=748 out=2203
Dec  5 12:41:03 cactuar postfix/smtp[32026]: DEA6EC1725: to=<me@gmail.com>, relay=10.1.0.10[10.1.0.10]:587, delay=0.29, delays=0.08/0.04/0.17/0, dsn=4.7.8, status=deferred (SASL authentication failed; server 10.1.0.10[10.1.0.10] said: 535 5.7.8 Error: authentication failed: generic failure)

Auf meinem Remote-VPS, wenn eine E-Mail von meinem Heimserver kommt:

Dec  5 13:43:34 kupo postfix/smtpd[29636]: connect from unknown[10.0.0.24]
Dec  5 13:43:34 kupo postfix/smtpd[29636]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Dec  5 13:43:34 kupo postfix/smtpd[29636]: warning: SASL authentication failure: Password verification failed
Dec  5 13:43:34 kupo postfix/smtpd[29636]: warning: unknown[10.0.0.24]: SASL PLAIN authentication failed: generic failure
Dec  5 13:43:34 kupo postfix/smtpd[29636]: disconnect from unknown[10.0.0.24]

Ich habe mit dem Befehl einen Benutzer in saslauthd eingerichtet saslpasswd2 -c <username>Haben Sie diesen Benutzernamen auf meinem internen Server, wenn ich eine Verbindung zum Remote-VPS herstelle und saslauthd auf beiden Computern ausgeführt wird.

Ich hoffe, dass mich jemand anleiten kann, um das zu klären.

Vielen Dank für jede Hilfe, die Sie zur Verfügung stellen können.


Nun, der erste Hinweis ist genau dort im endgültigen Protokolleintrag: SASL authentication failure: cannot connect to saslauthd server: No such file or directory. Sie müssen entweder einen anderen Authentifizierungsmechanismus (z. B. vorinstallierte TLS-Schlüssel) konfigurieren oder SASL in Betrieb nehmen.
a CVn

Hallo. Ich habe einen Benutzer in Saslauthd mit eingerichtet saslpasswd2 -c <username>Ich verwende diesen Benutzernamen auf meinem Heimserver, um zu versuchen, eine Verbindung herzustellen, und saslauthd wird ausgeführt.
Jguy

Bitte bearbeiten Ihre Frage, um zusätzliche Informationen aufzunehmen. Die Frage und nicht die Kommentare sollten die maßgebliche Quelle für alle Informationen sein, die zur Beantwortung der Frage benötigt werden.
a CVn
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.