Postfix smtp_bind_address-Direktive funktioniert nicht

Postfix smtp_bind_address-Direktive funktioniert nicht

Ich bin vor kurzem auf einen neuen Server (mit Postfix 3.3.0) migriert und habe festgestellt, dass die smtp_bind_addressEinstellung inmaster.cfhat keine Wirkung. Der betreffende Server hat 10 IPv4-Adressen und es ist wichtig, dass ausgehende E-Mails über die richtige Adresse weitergeleitet werden. Hier ist ein Ausschnitt dessen, was ich habe (192.168.100.1 ist nur ein Beispiel – die tatsächliche IP ist eine echte WAN-Adresse):

smtp      inet  n       -       y       -       -       smtpd
  -o smtp_bind_address=192.168.100.1
smtps     inet  n       -       y       -       -       smtpd
  -o smtp_bind_address=192.168.100.1

Neben diesem Mailserver laufen bei mir auch amavis und postsrsd, sodass die E-Mails von einem Dienst an den nächsten weitergeleitet werden. Ehrlich gesagt bin ich etwas verwirrt über die Ereigniskette, aber vorher hat diese Konfiguration einwandfrei funktioniert.

Ich habe versucht, mich zu smtp_bind_addressbewegenmain.cfund es hat funktioniert, aber es sind andere Probleme aufgetreten, da sowohl amavis als auch postsrsd erwarten, dass E-Mails über 127.0.0.1 übergeben werden.

Wie kann ich im Zusammenhang mit meinen Inhaltsfiltern ausgehende E-Mails an eine bestimmte Adresse binden?

Antwort1

Ausgehende SMTP/Relay-Verbindungen werden über diese Zeilen gesteuert inmaster.conf

smtp      unix  -       -       y       -       -       smtp
relay     unix  -       -       y       -       -       smtp

Sie können also -o smtp_bind_address=192.168.100.1das hinzufügen, was Sie benötigen.

Sie können diese Kombination auch verwenden inmain.conf

inet_interfaces = 127.0.0.1 192.168.100.1
smtp_bind_address = 192.168.100.1

Dadurch können Anwendungen eine Verbindung zu 127.0.0.1 herstellen, während ausgehender SMTP standardmäßig an die jeweilige Adresse gebunden wird.

Vergessen Sie nicht, dass die Firewall alle diese Konfigurationen außer Kraft setzen kann, z. B. diese einfache Regel:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

übersetzt die Quelladresse jeder ausgehenden Verbindung (von Schnittstelle eth0) in die primäre (Standard-)Adresse dieser Schnittstelle. Aus der anderen Perspektive könnten Sie die Quelladresse von SMTP-Verbindungen mit Firewall festlegen (ohne Postfix zu konfigurieren):

iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 25 -j SNAT --to-source 192.168.100.1

Dies ist jedoch nicht flexibel und ich würde dies nur als letzten Ausweg tun (z. B. wenn Sie nicht die Berechtigung haben, die Postfix-Einstellungen zu ändern).

verwandte Informationen