Lỗi bắt đầu Postfix Cổng 25: Địa chỉ đã được sử dụng


19

Tôi đang cố gắng để có được postfix chạy trên máy chủ của mình nhưng tiếp tục gặp lỗi sau /var/log/mail.log:

postfix / master [5041]: fatal: bind 0.0.0.0 port 25: Địa chỉ đã được sử dụng

Tôi đã thực hiện một số tìm kiếm và tìm thấy câu trả lời tuyệt vời này của Oli (liên quan đến câu hỏi này), trong đó tôi khuyên tôi nên loại bỏ máy chủ các gói sendmail của mình để tránh xung đột, sau đó cài đặt lại postfix, sau đó sẽ cài đặt thương hiệu sendmail của riêng nó. Đáng tiếc nó không giải quyết được vấn đề (xem bên dưới để biết cách làm).

Tôi đã làm theo hướng dẫn và chạy kiểm tra sau, tôi nhận được phản hồi đáng khích lệ:

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

Tuy nhiên khi tôi bắt đầu postfix một lần nữa, tôi đã gặp lỗi tương tự.

Theo dự phòng của Oli, tôi đã tìm kiếm quy trình đang ăn cắp cổng 25 với các mục sau:

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

Nhưng đây là nơi nó gây nhầm lẫn: Sau đó tôi đã tìm kiếm quy trình 27626nhưng sau đó được cho biết:

truy vấn dpkg: không tìm thấy đường dẫn phù hợp với kết nối mẫu 27626
.

Tôi đã kéo lên htop và có thể tìm thấy PID ở trên được liên kết với lệnh sau:

sendmail: MTA: chấp nhận kết nối

Sau đó tôi đã cố gắng để giết chết quá trình với cả hai killall sendmailkillall 27626và giữ lấy no process found.

Vấn đề là (bên cạnh điều hiển nhiên) tôi không biết làm thế nào để diễn giải những phát hiện này. Tôi đã kiểm tra máy chủ của sendmail, vì vậy tôi chỉ có thể giả sử rằng phiên bản sendmail của chính postfix đang chiếm quyền điều khiển cổng? Tôi thậm chí không biết nếu điều đó có ý nghĩa.

Dù sao, nếu bất cứ ai có thể đặt tôi thẳng vào vấn đề này hoặc ít nhất là đưa ra một số câu hỏi chẩn đoán thú vị, tôi sẽ đánh giá cao nó.

Trong trường hợp nó hữu ích, tôi đang sử dụng virtualmin trên máy chủ để quản lý một vài tên miền khác nhau và cũng đang chạy wordpress.

Rất cám ơn trước!

Đáp lại yêu cầu tôi đã đăng ps -efdưới đây

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
Bạn đã khởi động lại máy chủ? Nhìn vào các bình luận từ câu trả lời của Oli's, vấn đề đã biến mất sau khi khởi động lại.
douggro

Câu trả lời:


18

Tôi gặp vấn đề tương tự trên Ubuntu 16.04.01 LTS. Thông báo nhật ký sau đây xảy ra trong /var/log/mail.logvà thư gửi đi không được gửi đi:

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

Tôi đã nhận được kết quả sau khi cố gắng giết sendmail:

$ sudo killall sendmail
sendmail: no process found

Các lệnh sau làm việc cho tôi (không cần khởi động lại máy chủ):

sudo killall sendmail-mta
sudo service postfix restart

2
Điều đó làm việc cho tôi! Thanh danh!
Thelambofgoat

10

Tôi đã có cùng một vấn đề và những gì tôi đã làm chỉ là dừng gửi thư, khởi động lại postfix và bắt đầu lại sendmail bằng các lệnh sau:

service sendmail stop
service postfix restart
service sendmail start

Mọi thứ trở lại tốt đẹp.


9

Vâng, câu trả lời là không thỏa mãn sâu sắc nhưng sau khi ghi một vài giờ làm việc vào ngày hôm nay, tôi đã khởi động lại máy chủ và postfix hiện đang chạy. Cảm ơn tất cả những người cho vay một cái nhìn sâu sắc.


5

Chỉ cần giết quá trình sendmail và thử lại:

sudo kill 27626

hoặc là

sudo killall sendmail

Cảm ơn đã trả lời Braiam. Đáng lẽ phải xác định trong câu hỏi, tôi thực sự đã cho cả hai người đó một phát và nó cho tôi a no process found. Tôi sẽ cập nhật câu hỏi với một chút thông tin.
neanderslob

killall sendmailđã không tìm thấy bất kỳ quy trình nào cho tôi, nhưng ps aux | grep sendmailcho thấy một quá trình đang chạy và việc giết chết bởi PID của nó đã giải quyết được vấn đề. Nó được liệt kê vì sendmail: MTA:[...]vậy tôi đoán quá trình daemon thực tế đã được dán nhãn lại nhưng có một tên khác. Thật không may, không thể điều tra thêm bản thân mình tại thời điểm này, mặc dù.
Synexis


1

Bạn có thể sử dụng fuserlệnh (với quyền root) để lấy danh sách tất cả các quá trình lắng nghe trên cổng 25 và tiêu diệt chúng.

fuser -uv  25/tcp
fuser -kuv 25/tcp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.