AlmaLinux系统出站连接被拦截问题排查:如何开放邮件发送端口?
AlmaLinux系统出站连接被拦截问题排查:如何开放邮件发送端口?
看起来你在新安装的AlmaLinux上遇到了出站连接的头疼问题,尤其是邮件发送端口25被拦,明明SELinux和firewalld都已经关掉了还是不行——我完全懂这种排查到怀疑人生的感觉!咱们一步步来梳理可能的原因和解决办法:
可能的拦截组件及排查步骤
1. 检查nftables服务(最可能的原因)
AlmaLinux现在默认采用nftables作为防火墙的底层实现,哪怕你停了firewalld,nftables服务本身可能还在运行,带着默认规则拦截出站流量:
- 先查看nftables状态:
如果显示sudo systemctl status nftablesactive (running),那大概率是它在搞鬼。 - 查看当前nftables规则,重点看output链是否有拒绝25端口的规则:
sudo nft list ruleset - 临时停止nftables测试:
再执行sudo systemctl stop nftablestelnet portquiz.net 25,如果能正常连接,就确认是nftables的问题了。 - 永久开放25端口:
编辑/etc/nftables.conf配置文件,找到inet filter output链的规则部分,添加一行:
保存后重启nftables服务:tcp dport 25 acceptsudo systemctl restart nftables
2. 排查iptables遗留规则
虽然AlmaLinux默认用nftables,但如果之前系统里装过iptables服务,可能会有残留规则:
- 查看当前iptables规则:
检查iptables -L -nOUTPUT链是否有针对25端口的拒绝规则。 - 临时清空iptables规则测试:
如果测试正常,就把规则永久保存:sudo iptables -Fsudo iptables-save > /etc/sysconfig/iptables
3. 检查路由与网络连通性
新安装的系统可能网关配置错误,导致数据包无法正常出站:
- 查看当前路由表:
对比之前CentOS系统的网关配置,确认默认网关是否正确。ip route - 跟踪25端口的数据包走向,看是否在某个节点丢包:
如果是网关问题,修改对应网卡的配置文件(比如traceroute -T -p 25 portquiz.net/etc/sysconfig/network-scripts/ifcfg-eth0),设置正确的GATEWAY参数,然后重启网络服务:sudo systemctl restart NetworkManager
4. 检查Exim自身的配置限制
有时候不是系统层面的拦截,而是Exim邮件服务自身的配置有约束:
- 打开Exim的主配置文件(通常是
/etc/exim.conf或/etc/exim/exim.conf),搜索以下关键词:deny:查看是否有ACL规则限制了出站连接port:确认是否强制使用了非25端口发送邮件
- 修改相关配置后,重启Exim服务:
sudo systemctl restart exim
5. 补充:确认主机商限制(虽然你已排除,但可以再验证)
虽然你说之前CentOS正常,但部分主机商会在系统重装后重置端口权限。可以用另一台机器测试telnet 你的服务器IP 25,或者直接联系主机商确认25端口的出站权限是否正常。
备注:内容来源于stack exchange,提问作者David Mora
相关产品推荐
相关产品推荐

