Postfix-Startfehler Port 25: Adresse wird bereits verwendet


19

Ich versuche , Postfix auf meinem Server zum Laufen zu bringen, erhalte jedoch weiterhin den folgenden Fehler /var/log/mail.log:

postfix / master [5041]: fatal: bind 0.0.0.0 port 25: Adresse wird bereits verwendet

Ich habe ein bisschen gesucht und diese hervorragende Antwort von Oli gefunden (in Bezug auf genau diese Frage), in der empfohlen wird, dass ich meinen Server grundsätzlich von sendmail-Paketen befreie, um Konflikte zu vermeiden, und dann postfix neu installiere, wodurch wiederum eine eigene Marke von sendmail installiert wird. Leider hat es das Problem nicht ganz gelöst (siehe unten für wie).

Ich befolgte die Anweisungen und führte den folgenden Check durch, auf den ich eine ermutigende Antwort erhielt:

$ dpkg -S `which sendmail`
postfix: /usr/sbin/sendmail

Als ich jedoch Postfix erneut startete, bekam ich den gleichen Fehler.

Gemäß Oli's Kontingenz suchte ich nach dem Prozess, der Port 25 überlastete:

$ sudo netstat -pel | grep smtp
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      root       
35704126    27626/sendmail: MTA

Aber hier wurde es verwirrend: Ich habe dann nach dem Prozess gesucht, 27626aber dann wurde gesagt:

dpkg-query: Es wurde kein Pfad gefunden, der dem Muster von 27626
Verbindungen entspricht
.

Ich habe htop aufgerufen und konnte die obige PID finden, die dem folgenden Befehl zugeordnet ist:

sendmail: MTA: Verbindungen annehmen

Ich habe dann versucht, den Prozess mit beiden killall sendmailund killall 27626abzubrechen und bin weitergekommen no process found.

Das Problem ist (neben dem Offensichtlichen), dass ich nicht weiß, wie ich diese Ergebnisse interpretieren soll. Ich habe den Server von sendmail gesäubert, sodass ich nur davon ausgehen kann, dass die Postfix-eigene Version von sendmail den Port überfällt. Ich weiß nicht mal, ob das Sinn macht.

Jedenfalls würde ich es begrüßen, wenn mich jemand darauf aufmerksam machen oder zumindest einige interessante diagnostische Fragen stellen könnte.

Falls es nützlich ist, verwalte ich mit virtualmin auf dem Server ein paar verschiedene Domains und starte auch WordPress.

Vielen Dank im Voraus!

Als Antwort auf eine Anfrage habe ich ps -efunten ein gepostet

root@upsmart:~# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jan12 ?        00:00:00 init
root         2     1  0 Jan12 ?        00:00:00 [kthreadd/20017]
root         3     2  0 Jan12 ?        00:00:00 [khelper/20017]
root        68     1  0 Jan12 ?        00:00:00 upstart-udev-bridge --daemon
root        75     1  0 Jan12 ?        00:00:00 /sbin/udevd --daemon
root       110     1  0 Jan12 ?        00:00:00 /usr/sbin/sshd -D
root       130    75  0 Jan12 ?        00:00:00 /sbin/udevd --daemon
root       131    75  0 Jan12 ?        00:00:00 /sbin/udevd --daemon
root       175     1  0 Jan12 ?        00:00:00 upstart-socket-bridge --daemon
116        205     1  0 Jan12 ?        00:00:03 dbus-daemon --system --fork --activation=upstart
root       385     1  0 Jan12 ?        00:00:00 /usr/sbin/dovecot -F -c /etc/dovecot/dovecot.conf
root       386     1  0 Jan12 ?        00:00:04 cron
mysql      410     1  0 Jan12 ?        00:08:06 /usr/sbin/mysqld
dovecot    441   385  0 Jan12 ?        00:00:00 dovecot/anvil
root       442   385  0 Jan12 ?        00:00:00 dovecot/log
root       444   385  0 Jan12 ?        00:00:00 dovecot/config
syslog     445     1  0 Jan12 ?        00:00:08 /sbin/syslogd -u syslog
bind       474     1  0 Jan12 ?        00:00:12 /usr/sbin/named -u bind
clamav     844     1  0 Jan12 ?        00:01:34 /usr/sbin/clamd
clamav     951     1  0 Jan12 ?        00:03:27 /usr/bin/freshclam -d --quiet
list       969     1  0 Jan12 ?        00:00:00 /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s -q start
list       970   969  0 Jan12 ?        00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=ArchRunner:0:1 -
list       971   969  0 Jan12 ?        00:01:10 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=BounceRunner:0:1
list       972   969  0 Jan12 ?        00:01:03 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=CommandRunner:0:
list       973   969  0 Jan12 ?        00:01:07 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=IncomingRunner:0
list       974   969  0 Jan12 ?        00:01:01 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -
list       976   969  0 Jan12 ?        00:01:05 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=OutgoingRunner:0
list       978   969  0 Jan12 ?        00:01:06 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=VirginRunner:0:1
list       980   969  0 Jan12 ?        00:00:00 /usr/bin/python /var/lib/mailman/bin/qrunner --runner=RetryRunner:0:1
root      1410     1  0 Jan12 ?        00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r
root      1413  1410  0 Jan12 ?        00:00:00 /usr/sbin/saslauthd -a pam -m /var/spool/postfix/var/run/saslauthd -r
root      2034     1  0 Jan12 ?        00:00:09 /usr/bin/perl /usr/share/usermin/miniserv.pl /etc/usermin/miniserv.con
proftpd   2054     1  0 Jan12 ?        00:00:07 proftpd: (accepting connections)              
root      2096     1  0 Jan12 ?        00:00:13 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
root      2173     1  0 Jan12 ?        00:00:15 /usr/sbin/console-kit-daemon --no-daemon
root      2241     1  0 Jan12 ?        00:00:07 /usr/lib/policykit-1/polkitd --no-debug
root      4895     1  0 03:15 ?        00:00:00 /usr/sbin/xinetd -dontfork -pidfile /var/run/xinetd.pid -stayalive -in
www-data  6494 30181  0 03:41 ?        00:00:06 /usr/sbin/apache2 -k start
www-data  6497 30181  0 03:42 ?        00:00:06 /usr/sbin/apache2 -k start
www-data  6499 30181  0 03:42 ?        00:00:06 /usr/sbin/apache2 -k start
www-data  6500 30181  0 03:42 ?        00:00:07 /usr/sbin/apache2 -k start
root      9477 30027  0 05:09 pts/5    00:00:00 sudo ps -ef
root      9478  9477  0 05:09 pts/5    00:00:00 ps -ef
root     27626     1  0 02:44 ?        00:00:00 sendmail: MTA: accepting connections          
root     27902   110  0 02:51 ?        00:00:01 sshd: root@pts/4    
root     27998 27902  0 02:51 pts/4    00:00:01 -bash
root     29931   110  0 02:59 ?        00:00:03 sshd: root@pts/5    
root     30027 29931  0 02:59 pts/5    00:00:00 -bash
root     30181     1  0 03:00 ?        00:00:02 /usr/sbin/apache2 -k start
www-data 30183 30181  0 03:00 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 30636 30181  0 03:06 ?        00:00:13 /usr/sbin/apache2 -k start

2
Haben Sie den Server neu gestartet? Als ich die Kommentare von Olis Antwort betrachtete, war das Problem nach einem Neustart behoben.
Douggro

Antworten:


18

Ich habe das gleiche Problem mit Ubuntu 16.04.01 LTS festgestellt. Die folgende Protokollnachricht ist eingegangen /var/log/mail.logund ausgehende E-Mails konnten nicht gesendet werden:

postfix/master[5072]: fatal: bind 127.0.0.1 port 25: Address already in use

Ich habe die folgende Ausgabe erhalten, als ich versucht habe, sendmail zu beenden:

$ sudo killall sendmail
sendmail: no process found

Die folgenden Befehle haben bei mir funktioniert (kein Neustart des Servers erforderlich):

sudo killall sendmail-mta
sudo service postfix restart

2
Das hat bei mir geklappt! Ein dickes Lob!
Thelambofgoat

10

Ich hatte das gleiche Problem und habe nur aufgehört, E-Mails zu senden, Postfix neu zu starten und sendmail mit den folgenden Befehlen erneut zu starten:

service sendmail stop
service postfix restart
service sendmail start

Alles kam gut zurück.


9

Die Antwort ist zutiefst unbefriedigend, aber nachdem ich heute einige Stunden daran gearbeitet habe, habe ich den Server neu gestartet und Postfix läuft jetzt. Vielen Dank an alle, die Einblicke gewährt haben.


5

Beenden Sie einfach den Sendmail-Prozess und versuchen Sie es erneut:

sudo kill 27626

oder

sudo killall sendmail

Danke für die Antwort Braiam. Hätte in der Frage spezifizieren sollen, ich habe tatsächlich beide ausprobiert und es gibt mir eine no process found. Ich werde die Frage mit dieser Information aktualisieren.
Neanderslob

killall sendmailfand keine Prozesse für mich, ps aux | grep sendmailzeigte aber einen laufenden, und das Töten durch seine PID löste das Problem. Es wurde so aufgelistet, sendmail: MTA:[...]dass ich vermute, dass der eigentliche Daemon-Prozess umbenannt wurde, aber einen anderen Namen hat. Ich kann mich derzeit leider nicht weiter informieren.
Synexis


1

Sie können den fuserBefehl (als root) verwenden, um eine Liste aller auf Port 25 empfangenen Prozesse abzurufen und diese zu beenden.

fuser -uv  25/tcp
fuser -kuv 25/tcp
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.