Postfix unknown hostname


Kato

Registered User
Habe hier gerade ein Postfix problem.
Mit reject_unknown_client akzeptiert er die Einlieferung von einem Server nicht. Als Fehlermeldung kommt 450 Unknown hostname (des einliefernden Servers)
Und dies, obwohl PTR Record des einliefernden servers korrekt gesetzt sind, d.h. Forward und Reverse DNS sind identisch.

Nun würde mich interessieren, was genau reject_unknown_client eigentlich überprüft? Welche Art Abfrage wird durch diesen Befehl ausgeführt? Das müsste ja eigentlich genau definiert sein.

Vielleicht weiß das ja jemand?
 
reject_unknown_client
Reject the request when the client IP address has no PTR (address to name) record in the DNS, or when the PTR record does not have a matching A (name to address) record. The unknown_client_reject_code parameter specifies the response code to rejected requests (default: 450).

Mehr gibts dazu im Grund nicht zu sagen. Kann es sein dass dein DNS Server nicht richtig funktioniert auf dem Server? Oder er noch alte Einträge hat die nicht überein stimmen?

Was gibt host IP und host Hostname zurück? Jeweils natürlich die Daten des Servers der bei dir nicht einliefern kann.
 
Kann es sein dass dein DNS Server nicht richtig funktioniert auf dem Server?
Das befürchte ich. Postfix bringt also kein eigenes Tool zur Überprüfung mit, sondern greift auf den vorhandenen DNS (bind) zurück?
 
Ich stelle gerade fest, dass auf dem Server kein bind installiert ist. Wahrscheinlich liegt hier wirklich ein Problem vor.
Welche Möglichkeiten gäbe es denn für den Server die ips aufzulösen ohne bind? Geht das dann über die resolv.conf?
 
Das System benutzt die Resolver in der /etc/resolv.conf. Teste mal mit 'dig' oder 'host', was die auflösen. Ob die überhaupt was gescheites auflösen ;)
 
Auweia. Sowohl dig als auch host ergeben: Command not found. Kann der Server deswegen vielleicht nichts auflösen oder gibt es andere Befehle, die der Server verwenden kann?
Ping z. B. funktioniert. Da müsste er ja auch die Nameeserver aus der resolv.conf nehmen, oder?
 
Last edited by a moderator:
Die Befehle werden normalerweise mit den bind-utils installiert. Wen Ping oder Traceroute (aus den net-tools) schnell richtige Werte anzeigen, funktioniert die Namensauflösung - die sind auch gegen die Resolver-Libraries gelinkt.

Könnte der fragliche Host in der /etc/hosts (oder einem anderen Mechanismus, der über /etc/nsswitch.conf freigeschaltet ist, z.B. NIS) gefunden werden?

Gefährlich ist es auch, in die /etc/resolv.conf "search dom.ain" einzutragen und dann einen Wíldcard-Record "*.dom.ain" im DNS zu setzen.
Nicht existierende Hosts werden dann als "notexistent.dom.ain" über DNS aufgelöst. Das merkt man aber schnell an der IP - das ist nämlich die vom eigenen Server. :)
 
Der Hinweis mit der nsswitch war Gold wert. :)
Die Auflösung auf dem Server erfolgt tatsächlich nur über die Nameserver der resolv.conf. Diese waren wohl noch nicht upgedated, sodass der einliefernde Server nicht erkannt wurde.
Mit 2 anderen Nameservern unter meiner Kontrolle wurde der Server erkannt. Es funktioniert nun auch wieder sogar mit reject_unknown_client in der postfix config.

Vielen Dank für die Hinweise und Tips. Wieder etwas gelernt.:)
 

Back
Top