Ich möchte System-E-Mails von meinem Heimserver erhalten. Ich versuche also, Postfix so zu konfigurieren, dass dies über meinen öffentlichen Server erfolgt. Mein öffentlicher Server hat eine feste IP, während sich mein Heimserver in einem privaten Netzwerk mit einem fehlerhaften Hostnamen befindet, da der Hostname meines Routers im Hostnamen enthalten ist, was zu einem vollständigen Hostnamen "homeserver.blablabla_crappyrouter" führt.
Mein Heimserver stellt über einen OpenVPN-Tunnel mit fester IP eine Verbindung zu meinem öffentlichen Server her, wobei mein Heimserver ein Client ist. Von meinem Heimserver zu meinem öffentlichen Server (und umgekehrt) gibt es eine feste IP, sodass sie sich problemlos über eine feste Adresse erreichen können. Dies ist ein Tunnel, mit dem ich meinen Sicherheitsserver von überall ohne Sicherheitsprobleme erreichen kann.
Meine Postfix-Konfiguration auf meinem öffentlichen Server umfasst Folgendes:
smtpd_recipient_restrictions = reject_invalid_hostname,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_rbl_client sbl.spamhaus.org,
permit
smtpd_helo_restrictions = reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname
smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net
Und auf meinem Heimserver habe ich die IP meines öffentlichen OpenVPN-Servers mit hinzugefügt
relayhost = [<public server IP through OpenVPN>]
Jetzt sendet diese Konfiguration keine E-Mails und gibt mir den Fehler:
Helo-Befehl abgelehnt: Host nicht gefunden
Ich habe dies untersucht und festgestellt, dass Postfix nach dem Hostnamen sucht, ihn aber anscheinend aufgrund seines durcheinandergebrachten Hostnamens nicht findet.
Meine Frage: Wie kann ich dem Postfix meines öffentlichen Servers mitteilen, dass alles von meinem Heimserver blind zugelassen werden soll?
Vielen Dank.
AKTUALISIEREN:
Ich habe die Option in main.cf gesetzt
smtpd_helo_required = no
aber das hat nicht geholfen. Im Folgenden sind die Einträge /var/log/mail.log direkt nach dem Senden einer Test-E-Mail aufgeführt:
Sep 2 15:53:53 HomeServer sm-mta[6677]: t82Drr6w006677: [email protected], size=69, class=0, nrcpts=1, msgid=<[email protected]_crappyRouter>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep 2 15:53:53 HomeServer sm-mta[6679]: STARTTLS=client, relay=mydomain.com., field=cn_subject, status=failed to extract CN
Sep 2 15:53:53 HomeServer sm-mta[6679]: STARTTLS=client, relay=mydomain.com., field=cn_issuer, status=failed to extract CN
Sep 2 15:53:53 HomeServer sm-mta[6679]: STARTTLS=client, relay=mydomain.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
Sep 2 15:53:53 HomeServer sm-mta[6679]: t82Drr6w006677: [email protected], delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120069, relay=mydomain.com. [93.186.192.197], dsn=4.7.1, stat=Deferred: 450 4.7.1 <HomeServer.blablabla_crappyRouter>: Helo command rejected: Host not found
Die Mail, die ich senden möchte, lautet:
ehlo localhost
mail from: [email protected]
rcpt to: [email protected]
data
Subject: My first mail on Postfix
Hi,
Are you there?
regards,
Admin
.
quit
und ich sende es mit dem Befehl:
cat mail.txt | nc localhost 25
Sie können Ihre HELO-Richtlinie ändern in:
... und fügen Sie die Adresse Ihres Home-Mail-Servers zur
mynetworks = ...
Zeile hinzu.Obwohl die Antwort von @JennyD gültig ist und Ihr Problem lösen sollte, kann es besser sein, Ihre aktuelle HELO-Richtlinie für externe Hosts beizubehalten. Dies hat einen Vorteil: Falsch konfigurierte MTAs können keine Nachrichten an Ihren Server senden, wodurch Sie vor Spam geschützt sind (wenn auch eher ein wenig). Auf jeden Fall sind Hosts mit falscher HELO-Konfiguration zu vermuten.
Möchten Sie ein bisschen weiter, stellen Sie sicher , haben Sie zumindest reject_unknown_client_hostname unter der Liste unter dh.
smtpd_client_restrictions = ...
. Dies verhindert Nachrichten von MTA-Hosts ohne ordnungsgemäßen Reverse-DNS-Eintrag und damit viele Botnet-Relays. Eine weitere wichtige Antispam-Maßnahme wäre SPF Policy Deamon (dh Milter-Greylist ) und natürlich SpamAssassin .quelle
Wenn Sie keine genaue Kontrolle über Clients haben, sollten Sie SASL trotzdem verwenden:
Dadurch können SASL-authentifizierte Hosts ohne Einschränkung einen Helo senden
Beachten Sie, dass in einigen Konfigurationen master.cf
smtp_helo_restrictions
sowohl fürsubmission
als auchsmtps
für festgelegt$mua_helo_restrictions
ist. In diesem Fall wird diesmua_helo_restrictions
stattdessen festgelegt.quelle