You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

AlmaLinux 9中firewalld与SSH的异常问题

AlmaLinux 9中firewalld与SSH的异常问题

嗨,这个问题确实有点反直觉,我之前配置AlmaLinux的时候也遇到过类似的困惑,咱们一步步排查下可能的原因:

  • 先查firewalld当前生效的规则:有时候配置文件里的内容和实际运行的规则可能不一致,你可以跑一下firewall-cmd --list-all,看看输出里的ports或者services部分,是不是已经把9322、9522这些端口悄悄加入允许列表了——比如之前临时测试用firewall-cmd --add-port开了端口,没加--permanent但一直没重启firewalld,规则就还在运行时生效着。

  • 检查是否有其他防火墙工具在干活:虽然AlmaLinux 9默认用firewalld,但不排除之前手动配置过iptables或者nftables,这些工具的规则可能和firewalld共存并生效。你可以用iptables -L -n或者nft list ruleset看看,有没有允许这些非标准SSH端口的规则。

  • 确认firewalld的SSH服务配置有没有被覆盖:默认的SSH服务定义在/usr/lib/firewalld/services/ssh.xml,但如果/etc/firewalld/services/目录下有同名的ssh.xml,系统会优先用这个自定义版本。你可以打开这个自定义文件看看,是不是已经把新端口加进去了。

  • 排查区域的信任规则:如果你的SSH连接是从localhost发起,或者客户端IP被加入了firewalld的trusted区域,那所有流量都会被允许,自然不管什么端口都能连。你可以用firewall-cmd --get-active-zones看看你的网卡所属区域,再用firewall-cmd --zone=你的区域名 --list-sources查看有没有信任的IP范围。

  • SELinux的端口标签(这个不直接影响防火墙,但可以顺便确认):SELinux会限制sshd只能监听特定端口,如果你修改端口后没报错,大概率是系统自动把新端口加入了ssh_port_t上下文。你可以用semanage port -l | grep ssh验证,但这只是让sshd能正常监听,不会直接绕过firewalld的规则,所以这个不是核心原因,但能帮你排除其他问题。

最直接的第一步,先跑firewall-cmd --list-ports看看有没有直接开放9322/tcp或者9522/tcp,这能快速定位问题所在。

备注:内容来源于stack exchange,提问作者AndyK

火山引擎 最新活动