Linux防火墙状态需分工具验证:firewalld用systemctl status firewalld和firewall-cmd --state双查;UFW用ufw status verbose确认active及规则;iptables用iptables -L -n看实际生效规则;云服务器还需核查安全组入方向规则。

直接查状态,不绕弯子。关键是看防火墙服务是否运行、规则是否生效,而不是只看“开了没”。不同系统工具不同,得对症下药。
Linux 系统:先确认用的是哪个防火墙
现代 Linux 常见三种防火墙工具,不能混用命令:
-
firewalld(CentOS/RHEL 7+、Fedora 默认):运行
sudo systemctl status firewalld查服务状态;再执行sudo firewall-cmd --state看是否活跃(输出running才算真启用) -
UFW(Ubuntu/Debian 默认):用
sudo ufw status verbose,显示Status: active且有规则列表才算正常启用 -
iptables(传统工具,部分老系统或容器环境仍在用):运行
sudo iptables -L -n,若规则为空但默认策略是ACCEPT,实际等于“没拦”,不能当作“防火墙起作用”
Windows 服务器:别只看图形界面
图形界面容易误判,建议优先用命令行验证:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
- 打开 PowerShell 或 CMD,执行:
netsh advfirewall show allprofiles - 重点看每类配置文件(Domain/Public/Private)的
State是否为ON,同时检查Firewall State行 - 如果显示
OFF,即使控制面板里看着像“已开启”,实际也不生效
云服务器要多查一层:安全组
本地防火墙开着,不代表端口能通——云平台还有安全组这一道关卡:
- 阿里云、腾讯云、华为云等控制台中,找到对应实例的“安全组”配置
- 确认入方向(Inbound)规则里,目标端口(如 22、80、443)是否明确放行,协议类型(TCP/UDP)和源 IP 范围是否匹配实际访问需求
- 安全组规则优先级高于系统防火墙,哪怕本地防火墙全开,安全组没放行,外部依然连不上
快速交叉验证是否真生效
光看状态不够,得测试规则是否实际拦截或放行:
- 从另一台机器用
telnet 服务器IP 端口或nc -zv 服务器IP 端口测试连通性 - 在服务器本地执行
sudo ss -tuln | grep :端口号,确认服务确实在监听 - 结合日志看效果:firewalld 可加
--log-denied=all后查/var/log/firewalld;UFW 日志默认在/var/log/ufw.log

















