Postfix smtpd 没有监听“无法连接到 SMTP 主机”

Postfix smtpd 没有监听“无法连接到 SMTP 主机”

我在 CentOS 6.5 x64 服务器上设置了 postfix + cyrus-sasl + cyrus-imapd 邮件服务器,设置完成后发现可以发送内部邮件,也可以向 Gmail 等其他邮箱发送邮件,但是收不到 Gmail 的回复,工具箱诊断为“无法连接到 SMTP 主机”(15 秒后超时)。我也无法远程登录 myipaddress 25。这是我所做的,但我不知道哪里出了问题。请帮忙,谢谢。

vim /etc/postfix/main.cf  
myhostname = mail.mydomain.com  
mydomain = mydomain.com  
myorigin = $mydomain  
inet_interfaces = all  
mydestination = $myhostname, localhost.$mydomain, localhost,$mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8  
local_recipient_maps =    
smtpd_banner = $myhostname ESMTP unknow       
smtpd_sasl_auth_enable = yes   
broken_sasl_auth_clients = yes  
smtpd_sasl_local_domain = $myhostname  
smtpd_sasl_security_options = noanonymous 
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination  
smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination  
message_size_limit = 15728640
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp

vim /etc/sasl2/smtpd.conf
log_level: 3
saslauthd_path:/var/run/saslauthd/mux

vim /etc/sysconfig/iptables
-A INPUT -p TCP -i $EXTIF --dport 25 --sport 1024:65534 -j ACCEPT
-A INPUT -p TCP -i $EXTIF --dport 993 --sport 1024:65534 -j ACCEPT
-A INPUT -p TCP -i $EXTIF --dport 995 --sport 1024:65534 -j ACCEPT

/etc/init.d/postfix start  
/etc/init.d/saslauthd start  
/etc/init.d/cyrus-imapd start

netstat -tpnl | grep smtpd
netstat -tpnl | grep :25
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      1698/master
netstat -tpnl | grep cyrus
tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      3432/cyrus-master   
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      3432/cyrus-master   
tcp        0      0 0.0.0.0:4190                0.0.0.0:*                   LISTEN      3432/cyrus-master   
tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN      3432/cyrus-master   
tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN      3432/cyrus-master   
tcp        0      0 :::110                      :::*                        LISTEN      3432/cyrus-master   
tcp        0      0 :::143                      :::*                        LISTEN      3432/cyrus-master   
tcp        0      0 :::4190                     :::*                        LISTEN      3432/cyrus-master   
tcp        0      0 :::993                      :::*                        LISTEN      3432/cyrus-master   
tcp        0      0 :::995                      :::*                        LISTEN      3432/cyrus-master

答案1

NickW 立刻回答了你的问题。由于当 iptables 关闭时你可以 telnet 到它,但当它打开时却不行,所以问题出在防火墙上。NickW 的第二条评论也是正确的,即进程应该是“主”而不是 smtp,但默认情况下 postfix 应该监听端口 25。

当我现在进行 telnet 时,我得到了以下信息:

# telnet h-chen.com 25
Trying 144.214.150.161...
telnet: Unable to connect to remote host: No route to host

如果您安装的是默认的 CentOS 安装,那么 iptables 中的“拒绝”语句之一可能如下所示:

REJECT --reject-with icmp-host-prohibited

当服务器使用“icmp-host-prohibited”拒绝时,它会向客户端发送“无路由到主机”语句。从您提供给我们的 iptables 输出(提供 iptables -L 的输出会对我们更有帮助)我认为不需要“-i”或“--sport”选项。

相关内容