[postfix-users] Postfix und DNS

Jan P. Kessler postfix at jpkessler.info
Di Jan 5 16:25:49 CET 2010


> Wir haben mehrere Sperren eingebaut, dass Postfix z.B. keine Mails von unbekannten IP´s annimmt. (reject_unknown_client)
>
> Das funktioniert auch alles einwandfrei... allerdings kann es unter Umständen Probleme geben, wenn mal ein DNS Server von uns nicht erreichbar ist. In dem Moment kann Postfix kein DNS Lookup auf die IP machen und kann daher nicht feststellen, ob es sich um ein unbekannte IP handelt oder nicht.
>   

Postfix unterscheidet hier. Auch wenn Du solche Nachrichten eigentlich
mit einem 5xx Fehlercode permanent abweist, gibt postfix bei DNS
Problemen nur einen temporaeren 4xx Fehler zurück. Das sollte den Sender
veranlassen, es nochmal zu versuchen, wenn Euer DNS Problem
(hoffentlich) gefixt ist.

> Daher trägt man für gewöhnlich in der /etc/resolv.conf mehrere DNS Server ein, falls einer mal down ist.
>
> Allerdings scheint es Postfix nur mit dem Primären DNS Server zu probieren.. in der Zeit können natürlich schon Mails verloren gehen bzw. werden von Postfix abgewiesen.
>   

/Aus http://www.postfix.org/faq.html:

    "Postfix/ calls the C library /routines/ gethostbyname() and
gethostbyaddr() in..."

Sprich: Postfix steuert keine Nameserver direkt an, sondern verwendet
Bibliotheksfunktionen, die auch von vielen anderen Programmen verwendet
werden. Wir verwenden hier auch mehrere Nameserver und durch die
regelmäßigen K-Fall Tests (RZs werden der Reihe nach ausgeschaltet) weiß
ich, dass dieser Mechanismus prinzipiell wunderbar funktioniert.

> Als Lösungsmöglichkeit sehe ich folgende: Einfach auf jedem Postfix Server einen einzelnen bind9 installieren, der nur auf localhost hört und somit kann Postfix vollkommen unabhängig seine DNS Abfragen machen?
>   

Ist ein Workaround - aus o.g. Gründen glaube ich aber, dass Ihr ein
anderes Problem habt:

- postfix läuft chrooted und ihr habt in der
/var/spool/postfix/etc/hosts nur einen NS eingetragen
- einer eurer beiden NS antwortet dem postfix nicht und das fällt nur
nicht auf, weil der andere ja im normalfall alle queries beantwortet.
erst bei deaktivierung dieses ns klappt es dann
- eure OS internen gethostby*() sind borked
- ...

> Wie macht ihr das? Gibt es dazu eventuell noch bessere Lösungen? Unsere DNS Server sind zwar hochverfügbar aber mir geht es um genau die 30 Sekunden downtime wenn ein DNS Server mal rebootet z.B. wegen Sicherheitsupdates.
>   

Wie beschrieben - wir müssen da gar nichts tun, weil dieser Mechanismus
wunderbar funktioniert.

Kannst Du denn z.B. auf der Kommandozeile über beide NS Namen auflösen?

Grüße, Jan



Mehr Informationen über die Mailingliste postfix-users