smtp_bind_address

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

smtp_bind_address

Lothar Schilling

Guten Tag,

ich habe folgendes, leider dringendes Problem. Nach einem Servercrash habe ich den Mailserver neu aufgesetzt, Centos 7.6, Postfix 2.10. Der neue Server hat mehrere IP-Adressen, deshalb habe ich für den Postausgang in der master.cf eingetragen:

smtp      unix  -       -       n       -       -       smtp
 -o smtp_bind_address=[externe IP-Adresse]

eingetragen. Das klappt auch. Allerdings müssen Mails an eine bestimmte Empfänger-Domain @mydomain.org weitergeleitet werden, und zwar über eine interne IP-Adresse (172.16.4.5). In der transport-Datei steht:

mydomain.org smtp:[172.16.4.4].

Aber jeder Zustellversuch wird mit  "(connect to 172.16.4.4[172.16.4.4]:25: Connection timed out)" abgewiesen.

Ich habe versucht, das Problem folgendermaßen zu lösen:

/etc/postfix/sdd_transport.pcre

/@mydomain\.org$/   test-smtp:

/etc/postfix/main.cf

sender_dependent_default_transport_maps = pcre:/etc/postfix/sdd_transport.pcre

/etc/postfix/master.cf

test-smtp   unix -       -       n       -       -       smtp
       -o smtp_bind_address=172.16.4.5
smtp      unix  -       -       n       -       -       smtp
       -o smtp_bind_address=[externe IP-Adresse]

Das hat leider nicht funktioniert. Irgendeine Idee?

Vielen Dank!

Lothar Schilling

Reply | Threaded
Open this post in threaded view
|

Re: smtp_bind_address

Walter H.
On 13.05.2020 10:33, Lothar Schilling wrote:

>
> Guten Tag,
>
> ich habe folgendes, leider dringendes Problem. Nach einem Servercrash
> habe ich den Mailserver neu aufgesetzt, Centos 7.6, Postfix 2.10. Der
> neue Server hat mehrere IP-Adressen, deshalb habe ich für den
> Postausgang in der master.cf eingetragen:
>
> smtp      unix  -       -       n       -       -       smtp
>  -o smtp_bind_address=[externe IP-Adresse]
>
> eingetragen. Das klappt auch. Allerdings müssen Mails an eine
> bestimmte Empfänger-Domain @mydomain.org weitergeleitet werden, und
> zwar über eine interne IP-Adresse (172.16.4.5). In der transport-Datei
> steht:
>
> mydomain.org smtp:[172.16.4.4].
>
> Aber jeder Zustellversuch wird mit  "(connect to
> 172.16.4.4[172.16.4.4]:25: Connection timed out)" abgewiesen.
>
172.16.4.4 od. 172.16.4.5???

und hat der Server echt IP Adressen von mehreren Netzen (internes Netz
mit 172.16... und ext. IP-Adresse)?




smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: smtp_bind_address

Lothar Schilling
Am 13.05.2020 um 12:13 schrieb Walter H.:

> On 13.05.2020 10:33, Lothar Schilling wrote:
>>
>> Guten Tag,
>>
>> ich habe folgendes, leider dringendes Problem. Nach einem Servercrash
>> habe ich den Mailserver neu aufgesetzt, Centos 7.6, Postfix 2.10. Der
>> neue Server hat mehrere IP-Adressen, deshalb habe ich für den
>> Postausgang in der master.cf eingetragen:
>>
>> smtp      unix  -       -       n       -       -       smtp
>>  -o smtp_bind_address=[externe IP-Adresse]
>>
>> eingetragen. Das klappt auch. Allerdings müssen Mails an eine
>> bestimmte Empfänger-Domain @mydomain.org weitergeleitet werden, und
>> zwar über eine interne IP-Adresse (172.16.4.5). In der
>> transport-Datei steht:
>>
>> mydomain.org smtp:[172.16.4.4].
>>
>> Aber jeder Zustellversuch wird mit  "(connect to
>> 172.16.4.4[172.16.4.4]:25: Connection timed out)" abgewiesen.
>>
> 172.16.4.4 od. 172.16.4.5???
>
> und hat der Server echt IP Adressen von mehreren Netzen (internes Netz
> mit 172.16... und ext. IP-Adresse)?

1) 172.16.4.4 ist die IP-Adresse des empfangenden Servers, 172.16.4.5
die des sendenden. Das ist alles korrekt.

2) Mehrere Netze? Klar, warum nicht. Der steht in einem Rechenzentrum,
ist mit einem anderen Server intern vernetzt und hat natürlich auch eine
externe Schnittstelle.

Reply | Threaded
Open this post in threaded view
|

Re: smtp_bind_address

Walter H.
On 13.05.2020 19:18, Lothar Schilling wrote:

> Am 13.05.2020 um 12:13 schrieb Walter H.:
>> On 13.05.2020 10:33, Lothar Schilling wrote:
>>>
>>> Guten Tag,
>>>
>>> ich habe folgendes, leider dringendes Problem. Nach einem
>>> Servercrash habe ich den Mailserver neu aufgesetzt, Centos 7.6,
>>> Postfix 2.10. Der neue Server hat mehrere IP-Adressen, deshalb habe
>>> ich für den Postausgang in der master.cf eingetragen:
>>>
>>> smtp      unix  -       -       n       -       -       smtp
>>>  -o smtp_bind_address=[externe IP-Adresse]
>>>
>>> eingetragen. Das klappt auch. Allerdings müssen Mails an eine
>>> bestimmte Empfänger-Domain @mydomain.org weitergeleitet werden, und
>>> zwar über eine interne IP-Adresse (172.16.4.5). In der
>>> transport-Datei steht:
>>>
>>> mydomain.org smtp:[172.16.4.4].
>>>
>>> Aber jeder Zustellversuch wird mit  "(connect to
>>> 172.16.4.4[172.16.4.4]:25: Connection timed out)" abgewiesen.
>>>
>> 172.16.4.4 od. 172.16.4.5???
>>
>> und hat der Server echt IP Adressen von mehreren Netzen (internes
>> Netz mit 172.16... und ext. IP-Adresse)?
>
> 1) 172.16.4.4 ist die IP-Adresse des empfangenden Servers, 172.16.4.5
> die des sendenden. Das ist alles korrekt.
dann probier mal vom Server selbst ob Du mit telnet eine Verbindung zu
172.16.4.4 und Port 25 zu Stande bringst;

entweder ist da eine Firewall im Spiel od. ein falsches Routing ...

> 2) Mehrere Netze? Klar, warum nicht. Der steht in einem Rechenzentrum,
> ist mit einem anderen Server intern vernetzt und hat natürlich auch
> eine externe Schnittstelle.

ok; das ergibt Sinn, aber dann solltest evtl. auch packet forwarding od.
so aktivieren, weil ja zwischen mehreren NICs

hin- und hergeschubst wird;



smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: smtp_bind_address

Lothar Schilling
In reply to this post by Lothar Schilling

Am 13.05.2020 um 20:00 schrieb Walter H.:

> On 13.05.2020 19:18, Lothar Schilling wrote:
>> Am 13.05.2020 um 12:13 schrieb Walter H.:
>>> On 13.05.2020 10:33, Lothar Schilling wrote:
>>>>
>>>> Guten Tag,
>>>>
>>>> ich habe folgendes, leider dringendes Problem. Nach einem
>>>> Servercrash habe ich den Mailserver neu aufgesetzt, Centos 7.6,
>>>> Postfix 2.10. Der neue Server hat mehrere IP-Adressen, deshalb habe
>>>> ich für den Postausgang in der master.cf eingetragen:
>>>>
>>>> smtp      unix  -       -       n       -       - smtp
>>>>  -o smtp_bind_address=[externe IP-Adresse]
>>>>
>>>> eingetragen. Das klappt auch. Allerdings müssen Mails an eine
>>>> bestimmte Empfänger-Domain @mydomain.org weitergeleitet werden, und
>>>> zwar über eine interne IP-Adresse (172.16.4.5). In der
>>>> transport-Datei steht:
>>>>
>>>> mydomain.org smtp:[172.16.4.4].
>>>>
>>>> Aber jeder Zustellversuch wird mit  "(connect to
>>>> 172.16.4.4[172.16.4.4]:25: Connection timed out)" abgewiesen.
>>>>
>>> 172.16.4.4 od. 172.16.4.5???
>>>
>>> und hat der Server echt IP Adressen von mehreren Netzen (internes
>>> Netz mit 172.16... und ext. IP-Adresse)?
>>
>> 1) 172.16.4.4 ist die IP-Adresse des empfangenden Servers, 172.16.4.5
>> die des sendenden. Das ist alles korrekt.
>
> dann probier mal vom Server selbst ob Du mit telnet eine Verbindung zu
> 172.16.4.4 und Port 25 zu Stande bringst;
>
> entweder ist da eine Firewall im Spiel od. ein falsches Routing ...
>
>> 2) Mehrere Netze? Klar, warum nicht. Der steht in einem
>> Rechenzentrum, ist mit einem anderen Server intern vernetzt und hat
>> natürlich auch eine externe Schnittstelle.
>
> ok; das ergibt Sinn, aber dann solltest evtl. auch packet forwarding
> od. so aktivieren, weil ja zwischen mehreren NICs
>
> hin- und hergeschubst wird;

Die interne Verbindung funktioniert. Sie wird beim smtp-Versand wird mit
"connection timed out" beendet, weil Server A versucht, Mails über seine
externe IP-Adresse [-o smtp_bind_address] an die interne Schnittstelle
von Server B zu übergeben. Und bevor die Frage kommt: Eine Übergabe von
externer an externe Schnittstelle ist nicht möglich. Es handelt sich um
zwei VMs auf demselben Host, die können nur intern miteinander sprechen.
Reply | Threaded
Open this post in threaded view
|

Re: smtp_bind_address

Markus Winkler
In reply to this post by Lothar Schilling
Hi Lothar,

On 13.05.20 10:33, Lothar Schilling wrote:
> Allerdings müssen Mails an eine bestimmte
> Empfänger-Domain @mydomain.org weitergeleitet werden, und zwar über eine
> interne IP-Adresse (172.16.4.5). In der transport-Datei steht:
>
> mydomain.org smtp:[172.16.4.4].
>
> Aber jeder Zustellversuch wird mit  "(connect to 172.16.4.4[172.16.4.4]:25:
> Connection timed out)" abgewiesen.

s. u.


> Ich habe versucht, das Problem folgendermaßen zu lösen:
>
> /etc/postfix/sdd_transport.pcre
>
> /@mydomain\.org$/   test-smtp:
>
> /etc/postfix/main.cf
>
> sender_dependent_default_transport_maps = pcre:/etc/postfix/sdd_transport.pcre
>
> /etc/postfix/master.cf
>
> test-smtp   unix -       -       n       -       -       smtp
>         -o smtp_bind_address=172.16.4.5
> smtp      unix  -       -       n       -       -       smtp
>         -o smtp_bind_address=[externe IP-Adresse]
>
> Das hat leider nicht funktioniert. Irgendeine Idee?

Zunächst eine Rückfrage:

1. Ist die oben aufgeführte transport-Map aus Deinem ersten Versuch noch
vorhanden und vor allem auch nach wie vor in der main.cf aktiviert?


2. Du hattest ja geschrieben:

> Allerdings müssen Mails an eine bestimmte Empfänger-Domain @mydomain.org
--------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Damit ist 'sender_dependent_default_transport_maps' eigentlich nicht das
Mittel der Wahl, denn die _Absender_domain (dafür steht ja das
'sender_dependent') scheint ja für den speziellen Routingweg irrelevant zu
sein - zumindest habe ich Deine gewünschte Konstellation so verstanden.

Da somit die _Ziel_domain das entscheidende Kriterium ist, wäre der
ursprüngliche Weg über die transport-Map schon der richtige.

Allerdings ist a) dieser Eintrag aus Deiner master.cf erforderlich:

> test-smtp   unix -       -       n       -       -       smtp
>        -o smtp_bind_address=172.16.4.5

Und b) müsste die transport-Map dann (leicht angepasst) so aussehen:

mydomain.org    test-smtp:[172.16.4.4]

Wenn nicht anderweitig benötigt, sollte außerdem noch dieser Eintrag in der
main.cf deaktiviert werden:

 > sender_dependent_default_transport_maps =
pcre:/etc/postfix/sdd_transport.pcre

Damit müsste das gewünschte Verhalten eigentlich erreicht werden können.


Falls ich das jedoch falsch verstanden habe und Du wirklich
sender_dependent_default_transport_maps verwenden willst/musst, dann bitte
darauf achten, dass sender_dependent_default_transport_maps mit evtl.
vorhandenen Einträgen aus einer transport-Map überschrieben werden - diese
haben eine höhere Priorität (auch deswegen meine Frage 1).

Hoffe, es hilft Dir weiter.

Viele Grüße
Markus