目前,我正在尝试排除电子邮件服务器的故障,该服务器允许用户发送电子邮件,但不允许登录服务器 (POP3) 或使用 Outlook 客户端接收电子邮件。以前这是可行的,但将服务器移动到当前位置会破坏它。出于显而易见的原因,我怀疑是防火墙导致了问题。
首先,这是我对防火墙进行任何更改之前的握手(或尝试)的样子:
邮件服务器:192.168.25.26 客户:192.168.25.50
Source | Destination | PROTO | INFO
192.168.25.50 192.168.25.26 TCP 50861 > pop3 [SYN] seq=0 win=65535 len=0
192.168.25.26 192.168.25.50 TCP pop3 > 58601 [RST, ACK] seq=1 win=1 len=0
192.168.25.50 192.168.25.26 TCP [TCP Retransmission] 58061 > pop3 [Syn] etc....
并且在失败之前,[rst,ack],[tcp重传]舞蹈会再次发生。
防火墙(Cisco)关于192.168.25.26和pop3的规则如下:
里面:
source | destination | service
any 192.168.25.0/24 tcp/pop3
192.168.25.0/24 any tcp/smtp
208.105.121.196
外部:
source | destination | service
any 192.168.25.26 tcp/pop3
any tcp/smtp
对我来说,这看起来不错。
为了确定,我在电子邮件服务器(Zentyal)上运行了以下命令:
(IP 表配置过于繁琐。我怀疑问题就在这里。有什么方法可以允许全部流量,只是为了测试?
sudo iptables -F
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
但是,仍然无法连接 Outlook。此时,我在电子邮件服务器上运行了以下命令:
telnet 127.0.0.1 110
并能够登录邮件服务器。从网络内部的客户端,我运行了相同的命令,并被告知“连接失败”。
经过这些更改后,当我尝试在 Outlook 中“测试设置”时,握手看起来是这样的。我注意到一些奇怪的事情。
Source | Destination | PROTO | INFO
192.168.25.50 192.168.25.26 TCP apollo-status > pop3 [SYN] seq=0 win=65535 len=0
192.168.25.26 192.168.25.50 TCP pop3 > apollo-status [RST, ACK] seq=1 win=1 len=0
192.168.25.50 192.168.25.26 TCP [TCP Retransmission] apollo-status > pop3 [Syn] etc....
它会像上次一样再执行两次。在 INFO 窗格中,我现在看到的是 apollo-status,而不是端口号。接下来两次运行它时,我分别看到了 npep_messaging 和 synapse。我怀疑这些是 dovecot 选择的随机端口,因为在 dovecot.config 中,我将默认侦听器从之前指定的端口更改为星号“*”,这似乎是 4,000 中的任意端口,并且在防火墙中没有规则。
只是为了确认一下,它每次使用的端口似乎根据(推荐的)配置而变化。在环回接口上,端口 110 显然有一个监听器连接到它,但从另一台计算机来看,它似乎已关闭。
任何帮助根本非常感谢。我为此绞尽了脑汁,希望 serverfault 社区能有一些新奇的想法。
谢谢你!