Ich habe in meinem LAN einen Postfix-Server, auf dem Virtualmin läuft. Ich habe insgesamt 4 Domänen auf diesem Server und muss in der Lage sein, E-Mails an die Domänen auf diesem Server zu senden und von ihnen zu empfangen.
Das Problem besteht darin, dass mein ISP (Comcast) den 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 über Port 587. Auf diesem VPS ist auch Postfix auf Virtualmin installiert.
Ich habe also die vier Domänen:
Domäne.com Domäne2.com Domäne3.com Domäne4.com
Wenn ich eine E-Mail von[email geschützt]Ich möchte, dass die E-Mail über meinen externen Mailserver (mail.domain.com, auch auf meinem VPN als 10.1.0.10) an das Ziel weitergeleitet wird. Wenn in der Zwischenzeit jemand eine E-Mail an[email geschützt]meine MX-Einträge sorgen dafür, dass es an mail.domain.com und dann über Port 587 und mein VPN in mein Netzwerk übermittelt wird.
Ich habe in dieser Hinsicht schon ein wenig erreicht. Ich kann auf meinen VPS zugreifen, bekomme aber ein paar Fehlermeldungen. Ich glaube, ich habe Probleme herauszufinden, wie ich einem Benutzer auf meinem VPS ermöglichen kann, 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 meinem Remote-VPS mail.domain.com:
# 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 ins Internet sende, erhalte ich die folgenden Mail.log-Ergebnisse:
Auf meinem Heimserver:
Dec 5 12:41:02 cactuar postfix/qmgr[29509]: DEA6EC1725: from=<[email protected]>, 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=<[email protected]>, 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>
, habe diesen Benutzernamen auf meinem internen Server, wenn ich mich mit dem Remote-VPS verbinde, und saslauthd läuft auf beiden Maschinen.
Ich hoffe, dass mir jemand dabei helfen kann, das Problem zu lösen.
Vielen Dank für Ihre Hilfe.