连接部署在AWS EC2上的MTA服务器出现连接超时该如何解决
AWS EC2 Ubuntu 20.04 MTA服务连接超时排查方案
检查EC2安全组入站规则
MTA常用端口包括SMTP 25端口、邮件提交587/465端口,首先确认你实例关联的安全组已放通对应端口的入站流量,源地址建议设置为你测试端的公网IP段,不要直接开放0.0.0.0/0避免被恶意扫描攻击。验证Ubuntu系统防火墙配置
Ubuntu 20.04默认启用ufw防火墙,执行ufw status查看是否已放通MTA对应端口。如果未放通,执行ufw allow 25/tcp(替换为你实际使用的端口),之后执行systemctl restart ufw重启防火墙生效。确认MTA服务监听地址配置
很多MTA默认配置只会监听本地回环地址,公网无法访问。执行ss -tulpn | grep :[你的MTA端口号]查看监听地址,如果仅显示127.0.0.1:[端口],需要修改MTA配置文件,将监听地址改为0.0.0.0或EC2实例的私网IP,修改完成后重启MTA服务生效。核实AWS官方端口限制
AWS默认对所有EC2实例的25端口做了公网流量封禁,如果你使用25端口作为MTA通信端口,需要到AWS控制台提交工单申请解除25端口的流量限制,否则公网请求会被AWS底层网络拦截。逐层测试网络连通性
- 本地测试公网连通:执行
telnet [EC2公网IP] [MTA端口],确认是否能建立TCP连接 - 实例本地测试:登录EC2实例执行
telnet 127.0.0.1 [MTA端口],确认服务本地可正常访问,排除服务本身故障 - 抓包验证流量:在EC2实例执行
tcpdump -i any port [MTA端口],同时在本地发起连接请求,确认请求包是否能到达EC2实例,判断故障出在外部网络链路还是实例内部配置
- 本地测试公网连通:执行
内容的提问来源于stack exchange,提问作者Mr Ferdi
相关产品推荐
相关产品推荐

