dovecot 启动“地址已被使用”错误

dovecot 启动“地址已被使用”错误

我目前正在尝试使用一些“[电子邮件保护]“我的专用服务器(Centos5)上的地址。

为此,我尝试使用 启动 dovecot /etc/init.d/dovecot start,但收到以下错误消息:

Starting Dovecot Imap: Error: service(pop3-login): listen(*, 110) failed:
Address already in use
Error: service(pop3-login): listen(*, 995) failed: Address already in use
Error: service(imap-login): listen(*, 143) failed: Address already in use
Error: service(imap-login): listen(*, 993) failed: Address already in use
Fatal: Failed to start listeners
                                                           [FAILED]

某些程序已经在监听这些端口,但我不知道是什么。我的服务器上之前安装了 Qmail,所以我删除了它,但这并没有解决问题。

你知道如何解决这个问题吗?

答案1

此命令将显示正在监听的内容:

$ sudo netstat -lnp | grep 993
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      4470/imap-login

最后一列给出了绑定到该特定端口的进程的 PID 和名称。

答案2

刚刚对 AWS Linux 实例进行了升级,dovecot 无法启动,并出现“地址已在使用中”错误(与原始海报相同)。

netstat 和 lsof 没有显示连接到这些 TCP 端口的任何进程。

最后我发现,作为升级的一部分,portreserve 软件包已安装。它有一个配置文件 /etc/portreserve/dovecot,其中列出了有问题的端口。我将该文件重命名为 /etc/portreserve/dovecot~,现在一切正常。

根据https://bugzilla.redhat.com/show_bug.cgi?id=1570282因为 portreserve 只对端口执行 bind(),而不执行 listen(),所以它不会显示在 lsof 或 netstat 中。这使得故障排除变得非常棘手。

答案3

编辑 dovecot conf 并替换:

protocols = imap pop3 imaps pop3s

protocols = imap pop3

您可能缺少 SSL 端口的证书。

答案4

我刚刚遇到了这种情况。禁用 imaps 协议,由于某种原因不起作用,dovecot 仍然尝试打开端口 993,可能与 startTLS 有关。无论如何,netstat 没有显示任何活动监听端口:

samuel@extern:/etc/dovecot$ sudo netstat -tulpn | grep 993
samuel@extern:/etc/dovecot$

我确实有一个已建立的端口:

samuel@extern:/etc/dovecot$ sudo netstat -tulpan | grep 993
tcp        0      0 192.168.1.132:993       192.168.1.129:2049      ESTABLISHED -               
samuel@extern:/etc/dovecot$

当我重新启动虚拟机时,Dovecot 又开始工作了。进一步的研究表明 NFS 正在干扰。问题在重新启动后立即出现:

dovecot: master: Error: service(imap-login): listen(*, 993) failed: Address already in use

由于某些原因,NFS 使用特权端口来挂载远程文件系统。请参阅:https://unix.stackexchange.com/questions/398152/why-is-nfs-client-using-low-numbered-ports

相关内容