• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Postfix will nach Update nicht mehr

Status
Für weitere Antworten geschlossen.

kleineso

Newbie
Hallo zusammen,


wäre hier jemand bereit mir bei unserem Postfix Problem zu helfen? Ich habe nicht wirklich viel Ahnung von Postfix, möchte ihn aber gerne wieder zum laufen bekommen.

Wir haben einen Rootserver von Strato auf dem bis vor kurzem Suse 8.1 lief. Vergangenes WE habe ich eine Neuinstallation auf Suse 9.1 gemacht. Vorher habe ich mir nat. /etc/ komplett gesichert usw. .

Bei Suse 8.1 sowie 9.1 ist als default MTA Postfix (Pf) installiert und das ist auch gut so. Unter 8.1. und der Strato Konfiguration lief Pf einwandfrei. Suse 9.1. wurde als professional installiert (ohne Strato konfig.). Leichtsinniger weise bin ich davon ausgegangen, dass ich "nur" die main.cf und master.cf zurück kopieren muss - dem ist scheinbar nicht so.

Ja, und jetzt stehe ich da mit meinem Problem. Der Mailserver macht nicht mehr was er soll.
Zum Server sind 3 Domains verbunden. Nat. sind auch div. Benutzer vorhanden die Mails empfangen und senden möchten. Versuche ich mit einem Mailclient eine Verbindung zum Server aufzubauen, erhalte ich die FM das der Server zwar gefunden wurde aber nicht reagiert (SMTP & POP3 wird gefunden, aber Anmeldung am POP3 Server klappt nicht).

Ich habe mir die main.cf angesehen und versucht nach dem Tuturial zu konfigurieren: http://www.linux-tin.org/download/emailserver-prerelease.pdf (hier auf der Seite gefunden, Dank dafür). Der Konfigurationstest läuft schon nicht richtig:
schlampe:/etc/postfix # ps ax | grep postfix
10073 ? Ss 0:00 /usr/lib/postfix/master
10634 pts/0 R+ 0:00 grep postfix
schlampe:/etc/postfix # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
[/quote]
(Mal davon abgesehen das das Tut so aufgebaut ist, dass man Mails von einem anderem Provider holt).

Die alte und die neue master.cf habe ich verglichen, dort gibt es keinen Unterschied. Meine virtuellen Verknüpfungen habe ich auch wieder zurück - aber was nutzt das wenns der MTA nicht tut ;)

Hier noch aus den Logfiles:

/var/log/mail
Code:
Sep 16 17:20:07 h4567 postfix/smtpd[10667]: warning: connect #9 to subsystem private/proxymap: Connection refused
Sep 16 17:20:17 h4567 postfix/smtpd[10667]: warning: connect #10 to subsystem private/proxymap: Connection refused
Sep 16 17:20:27 h4567 postfix/smtpd[10667]: fatal: connect #11 to subsystem private/proxymap: Connection refused
Sep 16 17:20:28 h4567 postfix/master[10073]: warning: process /usr/lib/postfix/smtpd pid 10667 exit status 1
Sep 16 17:20:28 h4567 postfix/master[10073]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Sep 16 17:21:28 h4567 postfix/smtpd[10671]: warning: connect #1 to subsystem private/proxymap: Connection refused
Sep 16 17:21:38 h4567 postfix/smtpd[10671]: warning: connect #2 to subsystem private/proxymap: Connection refused
Sep 16 17:21:48 h4567 postfix/smtpd[10671]: warning: connect #3 to subsystem private/proxymap: Connection refused

/var/log/mail.err
Code:
Sep 16 17:17:46 h4567 postfix/smtpd[10659]: fatal: connect #11 to subsystem private/proxymap: Connection refused
Sep 16 17:20:27 h4567 postfix/smtpd[10667]: fatal: connect #11 to subsystem private/proxymap: Connection refused
Sep 16 17:23:08 h4567 postfix/smtpd[10671]: fatal: connect #11 to subsystem private/proxymap: Connection refused

Konfiguration:
Code:
schlampe:/var/log # postconf -n
alias_maps = hash:/etc/aliases
bounce_size_limit = 5000
broken_sasl_auth_clients = yes
canonical_maps = hash:/etc/postfix/canonical
command_directory = /usr/sbin
command_time_limit = 100000s
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_list = kleineso.net cls-crew.com cls-crew.de
default_destination_concurrency_limit = 100
default_privs = obe
default_transport = smtp
deliver_lock_delay = 2s
disable_dns_lookups = no
fork_delay = 2s
header_size_limit = 10240000
line_length_limit = 204800
local_destination_concurrency_limit = 2
mail_owner = postfix
mail_spool_directory = /var/mail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_exceptions = root
message_size_limit = 40960000
mydestination = $myhostname localhost.$mydomain $mydomain h4567.serverkompetenz.net cls-crew.de cls-crew.com kleineso.net
myhostname = cls-crew.com
myorigin = cls-crew.com
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
recipient_delimiter = +
relayhost = 81.169.169.31
relocated_maps = hash:/etc/postfix/relocated
sample_directory = /usr/share/doc/packages/postfix/samples
sender_canonical_maps = hash:/etc/postfix/sender_canonical
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_connect_timeout = 3s
smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_error_sleep_time = 10s
smtpd_hard_error_limit = 1000
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_soft_error_limit = 100
strict_rfc821_envelopes = no
transport_maps = hash:/etc/postfix/transport
trigger_timeout = 20s

Vielen Dank schon mal fürs lesen und damit auseinander setzen.


Grüße, olli
 

oc2pus

Ultimate Guru
warning: /usr/lib/postfix/smtpd: bad command startup --

prüfe die master.cf, die enthält syntaktische Fehler.
evtl ist eine Folgezeile falsch, Einrückung fehlt.

ansonsten master.cf auch noch posten.

netstat -lntp zeigt dir was auf welchem Post für services zur Verfügung stehen.
 
OP
K

kleineso

Newbie
Hi,

danke für deine Antwort ^^
Mit meinem DAU Verständnis find ich da nix, zumal sie sich von der alten nicht unterscheidet.

master.cf:
Code:
#
# Postfix master process configuration file.  Each line describes how
# a mailer component program should be run. The fields that make up
# each line are described below. A "-" field value requests that a
# default value be used for that field.
#
# Service: any name that is valid for the specified transport type
# (the next field).  With INET transports, a service is specified as
# host:port.  The host part (and colon) may be omitted. Either host
# or port may be given in symbolic form or in numeric form. Examples
# for the SMTP server:  localhost:smtp receives mail via the loopback
# interface only; 10025 receives mail on port 10025.
#
# Transport type: "inet" for Internet sockets, "unix" for UNIX-domain
# sockets, "fifo" for named pipes.
#
# Private: whether or not access is restricted to the mail system.
# Default is private service.  Internet (inet) sockets can't be private.
#
# Unprivileged: whether the service runs with root privileges or as
# the owner of the Postfix system (the owner name is controlled by the
# mail_owner configuration variable in the main.cf file).
#
# Chroot: whether or not the service runs chrooted to the mail queue
# directory (pathname is controlled by the queue_directory configuration
# variable in the main.cf file). Presently, all Postfix daemons can run
# chrooted, except for the pipe, virtual and local delivery daemons.
# The files in the examples/chroot-setup subdirectory describe how
# to set up a Postfix chroot environment for your type of machine.
#
# Wakeup time: automatically wake up the named service after the
# specified number of seconds. A ? at the end of the wakeup time
# field requests that wake up events be sent only to services that
# are actually being used.  Specify 0 for no wakeup. Presently, only
# the pickup, queue manager and flush daemons need a wakeup timer.
#
# Max procs: the maximum number of processes that may execute this
# service simultaneously. Default is to use a globally configurable
# limit (the default_process_limit configuration parameter in main.cf).
# Specify 0 for no process count limit.
#
# Command + args: the command to be executed. The command name is
# relative to the Postfix program directory (pathname is controlled by
# the program_directory configuration variable). Adding one or more
# -v options turns on verbose logging for that service; adding a -D
# option enables symbolic debugging (see the debugger_command variable
# in the main.cf configuration file). See individual command man pages
# for specific command-line options, if any.
#
# In order to use the "uucp" message tranport below, set up entries
# in the transport table.
#
# In order to use the "cyrus" message transport below, configure it
# in main.cf as the mailbox_transport.
#
# SPECIFY ONLY PROGRAMS THAT ARE WRITTEN TO RUN AS POSTFIX DAEMONS.
# ALL DAEMONS SPECIFIED HERE MUST SPEAK A POSTFIX-INTERNAL PROTOCOL.
#
# DO NOT CHANGE THE ZERO PROCESS LIMIT FOR CLEANUP/BOUNCE/DEFER OR
# POSTFIX WILL BECOME STUCK UP UNDER HEAVY LOAD
#
# DO NOT CHANGE THE ONE PROCESS LIMIT FOR PICKUP/QMGR OR POSTFIX WILL
# DELIVER MAIL MULTIPLE TIMES.
#
# DO NOT SHARE THE POSTFIX QUEUE BETWEEN MULTIPLE POSTFIX INSTANCES.
#
# ==========================================================================
# service type	private	unpriv	chroot	wakeup	maxproc	command + args
# 		(yes)	(yes)	(yes)	(never)	(50)
# ==========================================================================
smtp	  inet	n	-	n	-	2	smtpd -o content_filter=smtp:[localhost]:10024
#smtps	  inet	n	-	n	-	2	smtpd -o smtpd_tls_wrappermode=yes -o content_filter=smtp:[localhost]:10024
#  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission	inet	n	-	n	-	-	smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628	  inet	n	-	n	-	-	qmqpd
pickup	  fifo	n	-	n	60	1	pickup
cleanup	  unix	n	-	n	-	0	cleanup
qmgr	  fifo	n	-	n	300	1	qmgr
#qmgr	  fifo	n	-	n	300	1	nqmgr
#tlsmgr	  fifo	-	-	n	300	1	tlsmgr
rewrite	  unix	-	-	n	-	-	trivial-rewrite
bounce	  unix	-	-	n	-	0	bounce
defer	  unix	-	-	n	-	0	bounce
flush	  unix	n	-	n	1000?	0	flush
smtp	  unix	-	-	n	-	-	smtp
showq     unix	n	-	n	-	-	showq
error     unix	-	-	n	-	-	error
local	  unix	-	n	n	-	-	local
virtual	  unix	-	n	n	-	-	virtual
lmtp	  unix	-	-	n	-	-	lmtp
localhost:10025 inet	n	-	n	-	-	smtpd -o content_filter=
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# The Cyrus deliver program has changed incompatibly.
#
cyrus	  unix	-	n	n	-	-	pipe
  flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}
uucp	  unix	-	n	n	-	-	pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
vscan     unix  -       n       n       -       10       pipe
  user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
procmail  unix  -       n       n       -       -       pipe
  flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}

Den Rest schicke ich dir per IM.


Gruß, olli
 

oc2pus

Ultimate Guru
smtp inet n - n - 2 smtpd -o content_filter=smtp:[localhost]:10024
#smtps inet n - n - 2 smtpd -o smtpd_tls_wrappermode=yes -o content_filter=smtp:[localhost]:10024

das 2. content_filter MUSS eingeklammert werde gehört zu smtps Eintrag
 
OP
K

kleineso

Newbie
Moin,


okay, hab ich gemacht. Bringt leider keine Veränderung. Ich habe gedacht, dass eine Zeile mit # ausgeklammert wird (habs mit und ohne versucht).

SMTP ist ja der Ausgang, logisch. Aber der Mailserver nimmt ja nicht mal Mails an meine Domains von extern an - keine einzige, ausser halt eben die internen (wenn ich mir selber eine schicke über webmin oder über PHP).

Per PN sende ich dir mal einen Link zur main.cf & master.cf. Ich hab da sicher irgendwo mist eingetragen.


Dankeschön, olli
 

oc2pus

Ultimate Guru
kleineso schrieb:
Aber der Mailserver nimmt ja nicht mal Mails an meine Domains von extern an - keine einzige, ausser halt eben die internen (wenn ich mir selber eine schicke über webmin oder über PHP).
solange der postfix NICHT richtig startet ist das logisch, oder ;)

kleineso schrieb:
Per PN sende ich dir mal einen Link zur main.cf & master.cf. Ich hab da sicher irgendwo mist eingetragen.
das ist zwar nett, aber erstmal nicht erforderlich.
Zum zweiten was ist da so geheimes dran ?
Zum dritten, ich kann die main.cf nicht öffnen ;)
So macht das keinen Spass ....

also deine master.cf enthält laut obigem log einen oder mehre Fehler.
Code:
smtp	  inet	n	-	n	-	2	smtpd 
    -o content_filter=smtp:[localhost]:10024
Code:
localhost:10025 inet	n	-	n	-	-	smtpd
    -o content_filter=

SuSE schreibt gerne seine Konfigurationen NOCHMAL ans Ende der main.cf.
Prüfe ob du da irgendwelche Duplicate hast. postconf -n zeigt leider immer nur den ersten der Einträge. Aber beim postfix laden, gewinnt der letzte der EInträge ...
Ich tippe mal drauf, das am Ende der main.cf nochmals ein Eintrag
zu mydestination auftaucht ... und dort nur mit localhost ;)
 
OP
K

kleineso

Newbie
oc2pus schrieb:
kleineso schrieb:
Aber der Mailserver nimmt ja nicht mal Mails an meine Domains von extern an - keine einzige, ausser halt eben die internen (wenn ich mir selber eine schicke über webmin oder über PHP).
solange der postfix NICHT richtig startet ist das logisch, oder ;)
Ja, eigentlich schon. Du hast Recht ...

kleineso schrieb:
Per PN sende ich dir mal einen Link zur main.cf & master.cf. Ich hab da sicher irgendwo mist eingetragen.
oc2pus schrieb:
das ist zwar nett, aber erstmal nicht erforderlich.
Zum zweiten was ist da so geheimes dran ?
Zum dritten, ich kann die main.cf nicht öffnen ;)
So macht das keinen Spass ....
Sorry, hatte den Webserver paar mal neu gestartet.

oc2pus schrieb:
also deine master.cf enthält laut obigem log einen oder mehre Fehler.
Code:
smtp	  inet	n	-	n	-	2	smtpd 
    -o content_filter=smtp:[localhost]:10024
Code:
localhost:10025 inet	n	-	n	-	-	smtpd
    -o content_filter=
Hm, den Unterschied sehe ich wohl, kann damit aber nichts weiter anfangen :-/

oc2pus schrieb:
SuSE schreibt gerne seine Konfigurationen NOCHMAL ans Ende der main.cf.
Prüfe ob du da irgendwelche Duplicate hast. postconf -n zeigt leider immer nur den ersten der Einträge. Aber beim postfix laden, gewinnt der letzte der EInträge ...
Ich tippe mal drauf, das am Ende der main.cf nochmals ein Eintrag
zu mydestination auftaucht ... und dort nur mit localhost ;)
Hab ich geprüft, dem ist nicht so. Über Webmin konnte ich jetzt zumindest mal schon Mails zu nem externen Empfänger senden :D


Grüße, olli
 

oc2pus

Ultimate Guru
olli, nur mal so. ohne die entsprechenden log-einträge kann ich da nix machen ...

und nicht als pn....
 
OP
K

kleineso

Newbie
Problem fast gelöst ... Dank an oc2pus
Werde später noch ergänzen was gemacht wurde!

[Edit]

Die master.cf musste korrigiert bzw. durch folgendes ergänzt werden:
Code:
smtp	  inet	n	-	n	-	2	smtpd -o content_filter=smtp:[localhost]:10024
proxymap  unix	-	-	n	-	-	proxymap
#smtps	  inet	n	-	n	-	2	smtpd -o smtpd_tls_wrappmode=yes -o content_filter=smtp:[localhost]:10024

Blöd von mir; Ich hatte über Yast ein wenig rumgefummelt und der Virenscanner "amavis" lief nicht richtig:
Code:
rcamavis stop
In der main.cf noch eben ergänzen:
Code:
content_filter = smtp-amavis:[127.0.0.1]:10024

Jetzt funktionierts leider noch immer nicht richtig. Zum einen ist es die verschlüsselte Authentifizierung (SASL)
aus var/log/messages
Code:
Sep 17 15:51:42 h4567 saslauthd[6358]: main            : could not chdir to: /var/run/sasl2/
Sep 17 15:51:42 h4567 saslauthd[6358]: main            : chdir: No such file or directory
Sep 17 15:51:42 h4567 saslauthd[6358]: main            : Check to make sure the directory exists and is
Sep 17 15:51:42 h4567 saslauthd[6358]: main            : writeable by the user this process runs as.
Ich habe dann einfach das entsprechende Verzeichnis aus /usr/lib dahin kopiert. Jetzt lässt es sicher starten, aber das kann ja nicht die Lösung sein. <-- brauche bitte Hilfe

und zum anderen bekomme ich folgende FM's: (var/log/mail)
Code:
Sep 20 13:33:02 h4567 postfix/qmgr[20610]: warning: connect to transport smtp-amavis[127.0.0.1]: No such file or directory


Grüße, olli
 
OP
K

kleineso

Newbie
Hm,


also irgendwie steige ich da nicht durch. Drum bitte ich erneut um eure Hilfe.

Kurz zum Hintergrund:
Der ded. Server hat ne feste IP. Drei Domains sind verbunden. Postfix soll Mails für diese Domains und die entsprechenden Mailadressen annehmen und versenden können. Alle User die eine Mailadresse haben, haben auch ein System-Benutzerkonto. Mailadressen sind direkt mit dem System-Benutzerkonto verbunden, bspw. test@dummidom.com -> testuser.

Vor dem Update von Suse 8.1. auf 9.1. war eine SMTP Authentifizierung erforderlich (Name und Passwort vom System-Benutzerkonto). Diese Daten wurden unverschlüsselt übertragen und dies kann auch so bleiben (haben eh kein Shell Zugriff).

Ich möchte gerne weiterhin:
SMTP Auth & Antivir für ein- und ausgehende Mails

Eigentlich kann das doch nicht so schwierig sein :-/


Grüße, olli
 

oc2pus

Ultimate Guru
also mach dir dieses Schaubild mal klar:

fetchmail -> (25) postfix -> (10024) amavisd-new -> (10025) postfix -> (lmtp) cyrus
(xx) = port bzw Transportprotokoll

durch
content-filter = smtp-amavis:[127.0.0.1]:10024
in der main.cf und den Eintrag
smtp inet n - n - 2 smtpd -o content_filter=smtp:[localhost]:10024
in der master.cf ist der EINE Weg definiert ...

es fehlt der ZWEITE Übergang von amavis zurück an Postfix ...

lies hier noch einmal genau nach:
http://www.linux-tin.org/modules.php?op=modload&name=PagEd&file=index&page_id=11#section4
 
Status
Für weitere Antworten geschlossen.
Oben