一段时间以来,我无法通过端口25或587从外部到达我的服务器上的SMTP,虽然这两个端口都是打开的,而且postfix正在监听它们:
$ telnet domain.tld 25 Telnet escape character is '^]'. Trying *.*.*.*... telnet: Unable to connect to remote host: Connection timed out $ iptables -S -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -N fail2ban-ssh -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -A INPUT -p tcp -m tcp --dport 587 -j ACCEPT -A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT -A fail2ban-ssh -j RETURN $ netstat -anpt | grep master tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 1081/master tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1081/master
从服务器本身发送邮件(通过命令行和Web界面)和通过IMAP提取邮件也是可能的。
有什么build议么?
tcptraceroute mydomain 25
会告诉你哪个主机阻塞了端口25(与mtr或traceroute mydomain相比)