我和这些家伙一起秃头了:
在 Linux VPS (CentOS) 上,我设置了一个邮件服务器 (Exim+Dovecot+Clamav+SpamAssassin),但使用 SpamAssassin 扫描邮件中的垃圾邮件被证明是一个挑战。我不是 Linux 专家,尤其是在涉及与 VPS 相关的挑战时,但我几乎可以使用 RTFM 并取得成功。这一个打败了我:
在我的 FreeBSD 服务器上,我可以轻松获得所需的结果:
(15:59:00 <~>) 0 $ sockstat -l | grep 783
root perl 83997 5 tcp4 127.0.0.1:783 *:*
root perl 83996 5 tcp4 127.0.0.1:783 *:*
root perl 10281 5 tcp4 127.0.0.1:783 *:*
(15:57:21 <~>) 0 $ telnet 127.0.0.1 783
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
CONT
SPAMD/1.0 76 Bad header line: CONT
Connection closed by foreign host.`
然而,在 Linux VPS 上,当我运行相同的测试时,它只是挂在那里......端口上没有任何响应,即使我可以看到 spamd 正在侦听 783:
[root@vps exim]# netstat -anp | grep 783
tcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 21602/spamd.pid
如果你们中有人在 VPS 上运行他们的服务器并且能够与 spamd 通信,请告诉我在哪里查找。
如果它可能有帮助,我可以从远程位置连接到该服务器上的 POP3 端口,但不能从本地主机 (127.0.0.1) 连接!由于 spamd 设置为侦听 127.0.0.1,因此我无法从远程服务器测试它,并且我不打算将其更改为侦听公共 IP 以进行测试。
我需要在 Linux 上更改什么吗?
答案1
它适用于运行 Debian 的 Linode VPS。如果无法连接,对我来说也像是 iptables。如果您杀死 spamd 然后尝试 telnet 会发生什么?您的连接是否被拒绝(正如您应该的那样)或者它仍然挂起并尝试连接?如果是这样,那肯定是 iptables/防火墙的问题。
在这种情况下,类似的东西iptables -I INPUT 1 -i lo -j ACCEPT
应该可以解决问题。
答案2
首先,让我们看看是否可以连接到环回。十分之九,这是你的问题;)
在虚拟机上打开 shell,选择附近的端口号。
$ sudo nc -l 790
打开另一个外壳。
$ echo 'MehMeh' | nc localhost 790
您应该在之前的 shell 上看到类似 ...MehMeh 的内容。但我猜你不会,在那种情况下。看看你的iptables
答案3
您能否告诉我们 ISP 使用什么 VPS 技术?我在 XEN 环境中的 Ubuntu VPS 下运行某些软件时遇到了类似的问题。 VPS 未获得软件正常运行所需的资源。