PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix und DNS-Anfragen trotz "verbot"



knight14th
20.06.05, 12:03
Hallo,

ich habe hier ein kleines Problem mit meinem lokalen Postfix. Eine kurze Beschreibung:
In meinem LAN steht ein Linux-Server, der als IMAP und SMTP Server fungiert. Er holt über eine Dialup Verbindung (DSL/keine Flatrate) die Emails ab und verteilt sie lokal über den IMAP-Server. Gleichzeitig schickt er dann über einen SMTP-Relay meiner Domain die Mails aus der lokalen Mailqueue weiter an den konfigurierten SMTP-Server im Internet.

Da ich, wie schon gesagt, eine Dialup Verbidnug habe wollte ich nicht, dass jedes mal wenn eine Mail am lokalen SMTP ankommte diese über die "teure" Interneteinwahl weitergeschickt wird. Dieses soll nur geschehen, wenn der Cronjob das macht.

Entsprechend habe ich den Postfix so konfiguriert, dass er keine DNS-Anfragen machen soll. Die Domain-Namen des SMTP-Relay sind in der /etc/hosts eingetragen und werden auch von Postfix gefunden.

Entsprechend steht in der /etc/postfix/main.cf:

defer_transports = smtp
disable_dns_lookups = yes

Das Problem ist nun, dass der Server dennoch bei lokal eintreffenden Mails immer erst eine DNS-Anfrage macht, was meinen Router dazu veranlasst sich ins Internet einzuwählen... Wie kann das sein, wo doch der dns-lookup ausdrücklich dem Postfix untersagt ist?

System: SuSE 9.3
Postfix konfiguriert über YAST2 für Dialup Verbindungen und anschließend mit rcpostfix restart neugestartet.

Danke für jeden Hinweis :)

blauerpeti
20.06.05, 12:48
.ich könnte wetten, das du noch ein antivirus programm lufen hast, was eingehende, also auch von den localen Rechnern, email noch checkt...

knight14th
20.06.05, 14:47
Dem ist nicht so. Die Mails werden ungefiltert verarbeitet, da der Provider schon einen Spam/Virus-Filter hat.

mbo
20.06.05, 15:06
Dem ist nicht so. Die Mails werden ungefiltert verarbeitet, da der Provider schon einen Spam/Virus-Filter hat.
Du traust dem Viren- und SPAM-Schutz eines Providers?

Schon mal geprüft, welche Hostnamen aufgelöst werden sollen? Und wie verhält sich Postfix wenn er bei eintreffender eMail keine Namensauflösung durchführen kann?

cu/2 iae

Terran Marine
20.06.05, 15:30
Hast du in den smtpd_reciepient_restrictions eventuell DNS-Prüfungen drin ?

Poste die dochmal.

Grüße
Terran

knight14th
20.06.05, 16:28
Klar traue ich dem Spamfilter des Providers... iss auch nur Spamassassin und bisher bin ich damit gut gefahren.

smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions =
smtpd_helo_required = no
smtpd_helo_restrictions =
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = no
smtpd_use_tls = no

Gruß

tschloss
20.06.05, 16:44
Bist du sicher, dass der Postfix die Anfrage verschickt? Hast Du mal eine Mail per "mail -s subject to@test.de" auf die Reise geschickt?

Hast Du mal gesnifft und dir die Anfrage mal angesehen (was genau überhaupt angefragt wird)?

Greetz
Thomas

PS: Mein Router hat die Möglichkeit, die Pakete, die eine Anwahl auslösen weitgehend einzuschränken. Ich nutze das sehr restriktiv, schon um zu verhindern, dass zu viel "nach-hause-funk" auch noch meine Kohle kostet ;)

knight14th
20.06.05, 17:57
Wenn ich im Email-Client auf "senden" klicke, dann versucht dieser die Nachricht an den lokalen Server zu übertragen. Dieses wird aber vom Server hinaus gezögert und er schickt eine DNS Anfrage im selben Augenblick an den Router, welcher auch der default DNS ist (iptraf upd auf 53). Wiederhole ich den Vorgang, dann kommt auch wieder die DNS-Anfrage. Schicke ich keine Mail ab gibt es auch keine DNS_Anfrage.

Ich könnte natürlich im Router den 53er Port sperren lassen nur dann kommt kein anderer Rechner mehr ins Internet weil der Proxy auf dem Linux-Server dann keine Domains mehr auflösen kann. Und das kann ja nicht der Sinn der Sache sein, wo doch Postfix keine Anfrage machen darf, laut eigener Config.

tschloss
20.06.05, 20:40
Wenn ich im Email-Client auf "senden" klicke, dann versucht dieser die Nachricht an den lokalen Server zu übertragen. Dieses wird aber vom Server hinaus gezögert und er schickt eine DNS Anfrage im selben Augenblick an den Router, welcher auch der default DNS ist (iptraf upd auf 53). Wiederhole ich den Vorgang, dann kommt auch wieder die DNS-Anfrage. Schicke ich keine Mail ab gibt es auch keine DNS_Anfrage.

Ich könnte natürlich im Router den 53er Port sperren lassen nur dann kommt kein anderer Rechner mehr ins Internet weil der Proxy auf dem Linux-Server dann keine Domains mehr auflösen kann. Und das kann ja nicht der Sinn der Sache sein, wo doch Postfix keine Anfrage machen darf, laut eigener Config.

Ok. Aber das war nicht mein Punkt. Die Frage war, ob sicher ist, dass der Server die DNS Anfrage verschickt. Und dafür hätt eich mit "mail" mal ne lokale Mail aufgegeben.
Und mein Vorshclag war auch nicht, DNS Anfragen zu sperren sondern als Call-Filter einzurichten.
Und ich empfehle nochmals, mal mit Ethereal die DNS-Anfrage zu beleuchten: was wird überhaupt abgefragt.

Greetz
Thomas

mbo
21.06.05, 11:02
und er schickt eine DNS Anfrage im selben Augenblick an den Router, welcher auch der default DNS ist (iptraf upd auf 53).

Was fragt er ab?

cu/2 iae

Stormbringer
21.06.05, 11:18
Mit der oben genannten Konfig schaltest Du die Einwahlversuche doch auch nicht ab ...

Du solltest Dein Einwahlskript anpassen (i. d. R. /etc/ppp/ip-up & /etc/ppp/ip-down, oder ähnlich), und zwar in der Form:
bei Offlinenutzung


postconf -e "disable_dns_lookups = yes"
postconf -e "defer_transports = smtp"
rcpostfix reload

und entsprechend:
bei Onlinenutzung


postconf -e "disable_dns_lookups = no"
postconf -e "defer_transports = "
rcpostfix reload
postfix flush


Gruß

knight14th
21.06.05, 11:53
disable_dns_lookups = yes
defer_transports = smtp

Diese Werte sind in der main.cf gesetzt. ip-up und ip-down bringen nichts, weil der Computer über einen externen Router ins Internet geht.
Was er abfragt, kann ich erst am Donnerstag prüfen, weil ich erst dann wieder an der Kiste bin und dann ethreal laufen lassen kann.

knight14th
23.06.05, 12:12
So, ich hatte nun die Möglichkeit ein wenig am Verkehr zu lauschen und dabei habe ich folgendes entdeckt:
Die DNS-Anfrage, welche da gefahren wird, ist die folgende:



0000 00 0f b5 18 2b 30 00 11 5b af 52 5a 08 00 45 00 ....+0..[.RZ..E.
0010 00 49 91 93 40 00 40 11 5f 4f c0 a8 64 6f c0 a8 .I..@.@._O..do..
0020 64 01 04 66 00 35 00 35 d9 8d 27 aa 01 00 00 01 d..f.5.5..'.....
0030 00 00 00 00 00 00 02 32 33 03 31 30 30 03 31 36 .......23.100.16
0040 38 03 31 39 32 07 69 6e 2d 61 64 64 72 04 61 72 8.192.in-addr.ar
0050 70 61 00 00 0c 00 01 pa.....

Soll heißen: Der Rechner mit dem Postfix versucht die IP des Rechners, welcher die Email schickt, aufzulösen. Dabei schickt er 23.100.168.192.in-addr.arp an den Router der auch Default-DNS ist und der baut dann eine Verbindung zu seinem eingetragenen DNS im Internet auf und quittiert dann die Anfrage, wie sollte es auch anders sein, mit einem Fehler.
Nun also die Frage: Wie bringe ich den Postfix dazu, die IPs nicht zu "hinterfragen"?

knight14th
23.06.05, 14:09
Lokalen DNS-Server eingerichtet - Problem gelöst!

mbo
24.06.05, 13:01
Lokalen DNS-Server eingerichtet - Problem gelöst!

Vielleicht reicht auch schon die hosts.

cu/2 iae