Postfix 远程连接超时,本地工作正常

Postfix 远程连接超时,本地工作正常

在 Debian 上运行 Postfix 时,我无法再连接并发送邮件。大约一周前它还能正常工作。我不记得那段时间触碰过服务器的配置,这让我很难找出问题所在。

当从服务器连接到其自身时,它工作正常:

root@xxxx:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
ehlo localhost
220 mail.xxxx.de ESMTP Postfix (Debian/GNU)
250-mail.xxxx.de
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

尝试远程执行相同操作超时:

laptop:~ $ telnet mail.xxxx.de 25
Trying 93.xx.xx.xx...
telnet: connect to address 93.xx.xx.xx: Operation timed out
telnet: Unable to connect to remote host

配置如下:

root@xxxx:~# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
mailbox_command = 
mailbox_size_limit = 0
mydestination = localhost.localdomain, localhost.localdomain, localhost
myhostname = mail.xxxx.de
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = 
smtp_tls_note_starttls_offer = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_local_domain = 
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:8
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 150
virtual_transport = dovecot

接收邮件没有问题,远程检索邮件也没有问题。你知道我下一步该检查什么吗?

答案1

您收到“连接超时”错误这一事实强烈表明这是防火墙问题。请运行

/sbin/iptables -nvL

检查服务器上现有的防火墙规则。我怀疑你会发现一条阻止入站端口 25 连接的规则。

要检查外部机器的连接性,首先使用 traceroute:

traceroute server.example.com

那么另一个值得尝试的好工具是地铁它将 ping 和 traceroute 结合到一个工具中。

最后,您应该使用 nmap 从外部系统扫描您的机器:

sudo nmap -sS -V -O server.example.com

查看端口 25 是否打开或被阻止。

如果您没有在机器上进行任何更改,我怀疑您的 ISP 已开始阻止传入的端口 25 连接。 nmap 将帮助揭示这一点。

以下是有关如何确认 postfix 的信息设置接收来信. 特别要仔细检查你的master.cf配置文件。

这是一个可能相关的服务器故障关于postfix拒绝接收邮件的问题

相关内容