Postfix verwendet falsche IP zum senden

nowayback

Well-Known Member
Hi,

heute stehe ich mal bissl aufm Schlauch und brauche, glaube ich, mal jemanden der mich von der Leitung runterstößt ;-)

Zum Setup:
Server mit mehreren NICs sowie einigen virtuellen Schnittstellen auf Debian Wheezy 64-Bit mit ISPConfig im Singleserver Setup
Beispiel:
eth0 ip.v.4.1
eth0:0 ip.v.4.2
eth0:1 ip.v.4.2
eth1 ip.v.4.3
eth1:0 ip.v.4.4
etc. und auch mehreren ipv6 Adressen nach dem gleichen Schema

/etc/hosts enthält ipv6 localhost sowie ipv6 s01.example.com eintrag und danach die beiden ipv4 einträge für localhost und s01.example.com
hostname ist s01.example.com
hostname und hostname -f geben beide s01.example.com zurück
/etc/mailname = hostname
dns eintrag von s01.example.com zeigt auf die korrekten IPs (IPv4 und IPv6), Reverse DNS zeigt auf den korrekten Namen.
Damit Postfix die richtige IP und nicht alle nimmt, habe ich inet_interfaces = localhost, $myhostname gesetzt. Der MX Eintrag und das interne mailen funktionieren. Mails intern können gesendet und empfangen werden. Mail von extern werden auch problemlos empfangen.
Mails nach extern senden scheitert in den meisten Fällen weil Postfix die letzte eingerichtete IP nimmt zum versenden und der Empfänger - in dem Fall freenet - die Verbindung dann ablehnt mit 550 Submission from dynamic IP ip.v.4.4 requires authentication (in reply to RCPT TO command). Alle eingerichteten IPs, selbst die letzte eingerichtete IP, sind statische IPs und werden auch überall so gelistet. Authentifizierung erfolgt natürlich auch, jedoch für s01.example.com und nicht für die letzte eingerichtete ipv4.
mxtoolbox und Co. liefern mir auch nur die Ergebnisse die ich erwartet habe und bescheinigen mir, das alles korrekt wäre.

Mein Problem ist nun: Warum nimmt Postfix trotzdem die letzte eingerichtete IP (sowohl IPv4 als auch IPv6 - je nachdem ob der Empfängerserver per IPv6 erreichbar ist) zum senden und nicht die vorgegebene?

Ich hab auf einem anderen System ein ähnliches Setup laufen und da klappt das sogar mit inet_interfaces = all (so wie es mMn auch sein müsste). Ein diff der beiden configs brachte auch keine wesentlichen Unterschiede.

Irgendwo hab ich also warscheinlich einen Fehler eingebaut und finde ihn jetzt einfach nicht mehr. Hat jemand von euch noch eine Idee?

Grüße
nwb
 

florian030

Well-Known Member
Hast Du smtp_bind_address und smtp_bind_address6 gesetzt? Sonst nimmt Postfix immer mal die eine und mal die andere IP.
inet_interfaces ist für inbound.
 

nowayback

Well-Known Member
Hast Du smtp_bind_address und smtp_bind_address6 gesetzt? Sonst nimmt Postfix immer mal die eine und mal die andere IP.
inet_interfaces ist für inbound.
Hi,

danke für den Tipp, nein ich hatte smtp_bind_address ip.v.4.1,ip:v:6:1 genommen und habe jetzt als workaround erstmal die korrekte ipv4 und ipv6 als letztes eingerichtet, damit das mailen zu freenet überhaupt funktioniert. ich werde das donnerstag aber mal testen.

vielen dank
nwb
 

florian030

Well-Known Member
Evtl. kannst Du auch über transport in der master.cf das Ziel erreichen bzw. die Mails für einzelne Domains nur ipv4 verschicken. Welchen Fehler hast Du denn von Freenet bekommen? Passt evtl. nur der rDNS-Record nicht?
 

nowayback

Well-Known Member
Evtl. kannst Du auch über transport in der master.cf das Ziel erreichen bzw. die Mails für einzelne Domains nur ipv4 verschicken. Welchen Fehler hast Du denn von Freenet bekommen? Passt evtl. nur der rDNS-Record nicht?
Code:
host emig.freenet.de[2001:748:100:40::8:116] said:
    550-inconsistent or no DNS PTR record for I:P:v:6
    (see 550 RFC 1912 2.1) (in reply to RCPT TO command)
Das war die Meldung und die ist ja auch logisch da falsche IPv6 genommen wurde. Auf der richtigen stimmt der Record, denn sonst würde es ja jetzt auch nicht funktionieren, nachdem ich die richtige nun als Workaround als letztes zuweise.

Ich will ja Mails auch nicht nur über IPv4 verschicken, sondern auch über IPv6. Nur hat Postfix bei beiden grundsätzlich die als letztes eingerichtete IP genommen.

Ich werd, wie gesagt, morgen mal deine Lösung testen und schauen ob es damit klappt. Wenn ich mehr weiß, melde ich mich wieder.

Grüße
nwb
 

nowayback

Well-Known Member
Hi,
Hast Du smtp_bind_address und smtp_bind_address6 gesetzt? Sonst nimmt Postfix immer mal die eine und mal die andere IP.
inet_interfaces ist für inbound.

die 2 anweisungen taten zwar was sie sollten, aber dann mochte amavis nicht. nach einem check wie ispconfig mit amavis umgeht, hab ich dann einfach eine weitere datei angelegt im conf.d verzeichnis und die ipv4 sowie ipv6 zugelassen. ohne das wollte amavis keine ankommenden mails mehr verarbeiten.

Vielen Dank für deine Hilfe.

Grüße
nwb
 

Werbung

Top