PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix nimmt lokale mails nicht an



mdkuser
12.05.04, 20:20
Hallo hoffe jemand kann mir bei meinem Problem weiterhelfen:

Habe zwei Rechner per Switch in Lan. Auf beiden Läuft Postfix. Auf einem ist zusätzlich bind installiert mit ner lokalen Domäne (intranet.local). Die Namensauflösung über den DNS funzt sowohl forward als auch reverse. host -t mx intranet.local bingt als Antwort den korrekten MX Eintrag (mail.intranet.local) egal von welchem der beiden Rechner die Anfrage gestellt wird. DNS ist also korrekt konfiguriert und tut.
Trotzdem kann ich von dem Rechner auf dem kein Bind läuft per Postfix keine Mails an den anderen Rechner auf dem bind läuft senden. Leider habe ich keine Ahnung, warum, irgendwie kommt auf dem Empfangenden Rechner nix an.
Ich poste mal beide Postfix main.cf und hoffe jemand kann mir sagen, wie ich die lokalen Mails doch noch zustellen lassen kann.

Rechner 1 (der Rechner mit bind, der die Mails erhalten soll):



queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = mail.intranet.local
mydomain = intranet.local
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain
unknown_local_recipient_reject_code = 450
mynetworks_style = subnet
alias_maps = hash:/etc/postfix/aliases
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail -Y -a $Domain
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.0.16/samples
readme_directory = /usr/share/doc/postfix-2.0.16/README_FILES
alias_database = hash:/etc/postfix/aliases



Rechner 2 (ohne bind, der die Mail versenden soll):



command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
default_privs = nobody
myhostname = localhost.localdomain
mydomain = localdomain
myorigin = $myhostname
inet_interfaces = all
unknown_local_recipient_reject_code = 450
mynetworks=192.168.1.0/24, 127.0.0.0/8
alias_maps = hash:/etc/postfix/aliases
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail -Y -a $DOMAIN
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrake Linux)
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
delay_warning_time = 4
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.0.6/samples
readme_directory = /usr/share/doc/postfix-2.0.6/README_FILES
alias_database = hash:/etc/postfix/aliases
masquerade_domains = $mydomain
virtual_maps = hash:/etc/postfix/virtual
canonical_maps = hash:/etc/postfix/canonical
mydestination = $myhostname, localhost.$mydomain, $mydomain
disable_dns_lookups = yes


Weis jemand Rat?
Vielen Dank!

Terran Marine
12.05.04, 21:41
Nabend,

Wie schickst du die Mail ? (telnet, mailclient etc.)

An wen schickst du die Mail (E-Mail-Adresse) ?

Wie lauten die Fehlermeldungen auf beiden Servern ?

Gruß
Terran

mdkuser
13.05.04, 13:17
also auf der kiste ohne bind schicke ich die mail mit folgendem kommando an die kiste mit dem bind:

mail -s testmail user@intranet.local


Leider kommt die Mail da nie an und im Mail-Log des versendenden Rechners steht MX Record for intranet.local nicht gefunden...

Komisch aber, wenn ich auf diese Kiste ein host -t mx intranet.local eingebe kommt zurück mailhandler mail.intranet.local

Sieht doch alles ok aus, oder?

Doh!
13.05.04, 13:25
benutzt der Rechner, der die Mail versenden soll auch den lokalen DNS Server?

Poste mal die Zonenfiles des lokalen DNS

mdkuser
13.05.04, 14:03
Ja, der lokale dns ist auch auf dem anderen Rechner in der /etc/resolve.conf eingetragen, sonst könnte ich ja keine Abfragen an den lokalen dns stellen.

Hier die named.conf sowie die forward und reverse zone:



options {
directory "/var/named/";
forwarders { 192.168.1.1; };
query-source address * port 53;
listen-on port 53 { 127.0.0.1; 192.168.1.0/24; };
allow-query {127.0.0.1; 192.168.1.0/24; };
allow-recursion {127.0.0.1; 192.168.1.0/24; };
// allow-transfer { 192.168.1.1; };
auth-nxdomain no;
};
zone "localhost" {
notify no;
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" {
notify no;
type master;
file "127.0.0.in-addr.arpa.zone";
};
zone "intranet.local" {
notify no;
type master;
file "intranet.local.zone";
};
zone "1.168.192.in-addr.arpa" {
notify no;
type master;
file "192.168.1.in-addr.arpa.zone";
};
zone "." {
type hint;
file "root.hints";
};




$TTL 86400
@ IN SOA ns.intranet.local. root (
23 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; ttl
)
;
IN NS ns.intranet.local.
IN MX 10 mail.intranet.local.
;
ns IN A 192.168.1.2
mail IN A 192.168.1.2
www IN CNAME ns




$TTL 86400
@ IN SOA ns.intranet.local. root (
23 ; serial
28800 ; refresh
14400 ; retry
3600000 ; expire
86400 ; ttl
)
;
IN NS ns.intranet.local.
;
2 IN PTR ns
2 IN PTR mail


Sieht doch soweit ganz gut aus, oder? Ich kapiers einfach nicht, wieso postfix da strikt...

Doh!
13.05.04, 15:50
NS-Konfig schaut richtig aus, kannste mal den entsprechenden Teil des Maillogs senden und ggf messages?

vielleicht stimmt ja auch was mit dem Programm "mail" nicht. Schon mal pine probiert?

mdkuser
13.05.04, 16:47
Das spuckt der Maillog auf der Maschine aus von der Versendet werden soll, auf der Empfängermaschine kommt nix an. FW ist nicht aktiv.

gesendet wurde mit mail -s testmail user@intranet.local (user steht hier als platzhalter für meinen loginnamen)



May 13 17:45:19 user postfix/nqmgr[5697]: 8B91DD5E76: from=<root@localdomain>, size=302, nrcpt=1 (queue active)
May 13 17:45:19 user postfix/smtp[5714]: 8B91DD5E76: to=<user@intranet.local>, relay=none, delay=0, status=bounced (intranet.local: Host not found)
May 13 17:45:19 user postfix/cleanup[5712]: C8F5CD5E77: message-id=<20040513154519.C8F5CD5E77@localhost.localdomain>
May 13 17:45:19 user postfix/nqmgr[5697]: C8F5CD5E77: from=<>, size=1900, nrcpt=1 (queue active)
May 13 17:45:20 user postfix/smtp[5717]: C8F5CD5E77: to=<root@localdomain.localdomain>, orig_to=<root@localdomain>, relay=none, delay=1, status=bounced (localdomain.localdomain: Host not found)


ich werd nicht schlau draus...

mdkuser
13.05.04, 17:18
Hallo scheint, als ob die Postfix main.cf von Rechner 2 (dem Versenderrechner) nicht richtig funzt, irgendwie gehen Mails an web.de oder gmx.net auch nicht raus...
Kann sich jemand von den Postfix-Spezialisten die oben gepostete main.cf von Rechner 2 anschauen und mir sagen, wieso die nicht funzt?
Ich bin schon langsam am verzweifeln. Danke!

mdkuser
13.05.04, 17:45
:)

So, jetzt hat es geklappt!!! :D Endlich!!!
Habe auf der Sender Maschine Postfix deinstalliert und dann nochmal neu installiert, die default konfig angepasst und dann lief es.
Keine Ahnung, warum das vorher nicht tat, aber jetzt funzt es. :D :D :D

Danke an alle, die mir geholfen haben!!!

Terran Marine
14.05.04, 10:23
Hallo scheint, als ob die Postfix main.cf von Rechner 2 (dem Versenderrechner) nicht richtig funzt, irgendwie gehen Mails an web.de oder gmx.net auch nicht raus...
Kann sich jemand von den Postfix-Spezialisten die oben gepostete main.cf von Rechner 2 anschauen und mir sagen, wieso die nicht funzt?
Ich bin schon langsam am verzweifeln. Danke!

Du hast zwar jetzt eine funktionierende Lösung, dein Ursprungsproblem lässt sich aber afaik auch erklären :

Der Parameter disable_dns_lookups = yes besagt, das der smtp keine DNS-Auflösung machen soll. Das wird das Problem gewesen sein.

Gruß
Terran

mdkuser
17.05.04, 08:09
Danke für den Erklärungsversuch, leider lag es nich an dieser Option.
Ging vorher ohne "disable_dns_lookups = yes" auch nicht.
Darum habe ich dann die Option eingefügt um zu schauen, ob das was ändert.
Ich vermute mal, das Problem war die Einstellung unter "my_networks".

slime
17.05.04, 09:04
hi,
IMHO ist die mynetworks anweisung nur da um dem postfix zu sagen von welchem rechner er mail zum relayen annehmen darf.
in diesem fall - da du die mail von 127.0.0.1 absendest sollte das egal sein. auch steht im mail.log ja auch nix passendes drin.

mdkuser
17.05.04, 11:09
Tja, dann weiss ich nicht, warum die alte konfig nicht tat. Interessieren würde es mich aber mal.


P.S. Weiss jemand, wie (mit welchem Proggi) ich nun die vom Server empfangenen Mails von einem anderen Rechner aus per pop3 oder imap abrufen kann?

Terran Marine
17.05.04, 11:12
P.S. Weiss jemand, wie (mit welchem Proggi) ich nun die vom Server empfangenen Mails von einem anderen Rechner aus per pop3 oder imap abrufen kann?

Dazu wird ein pop3 oder imap Server benötigt, wie z.b. cyrus, courier, qpopper.

Infos dazu in der SuFu.

Gruß
Terran

mdkuser
17.05.04, 12:13
aha, alles klar danke!
Eins noch vielleicht, kennt jemand ein gutes howto um ein web-mail-interface zum mailversand und empfang bereitzustellen (also nicht usermin, sondern ein interface, das auch vom web aus erreichbar ist und NUR mail-Funktionalität bietet)?

slime
17.05.04, 13:36
kuck doch mal auf freshmeat.net und suche dort einfach nach webmail.
da gibts eine menge passender projekte. wahlweise in per, php oder anderes.

mdkuser
17.05.04, 14:11
Danke! für die Info ;)