插件窝 干货文章 centos如何查看防火墙状态

centos如何查看防火墙状态

firewalld 防火墙 iptables sudo 423    来源:    2025-04-03

在 CentOS 系统中,防火墙状态可以通过以下方法查看,具体取决于系统使用的防火墙工具:


1. firewalld(CentOS 7/8/9 默认)

# 查看防火墙状态(是否运行)
sudo firewall-cmd --state

# 查看详细状态(包括活动区域、规则等)
sudo firewall-cmd --list-all

# 检查 firewalld 服务是否启用
sudo systemctl status firewalld

输出说明: - running 表示防火墙正在运行。 - not running 表示防火墙已停止。 - --list-all 会显示当前区域的规则(如开放端口、服务等)。


2. iptables(传统防火墙,若已安装)

# 查看规则(需 root 权限)
sudo iptables -L -n -v

# 检查 iptables 服务状态(仅限旧版 CentOS 6)
sudo service iptables status

3. nftables(CentOS 8/9 替代 iptables 的新工具)

# 查看规则
sudo nft list ruleset

4. 通用服务状态检查

# 检查防火墙服务是否开机自启
sudo systemctl is-enabled firewalld   # firewalld
sudo systemctl is-enabled iptables    # iptables(旧版)

# 检查服务是否正在运行
sudo systemctl is-active firewalld

常见问题解决

  • 如果命令未找到
    可能是防火墙工具未安装,安装命令:

    sudo yum install firewalld    # firewalld
    sudo yum install iptables     # iptables
    
  • 临时关闭防火墙(谨慎操作):

    sudo systemctl stop firewalld    # 停止 firewalld
    sudo systemctl disable firewalld # 禁用开机启动
    

总结

  • 推荐使用 firewall-cmd --state(现代 CentOS 默认)。
  • 如果需要更详细的规则信息,使用 firewall-cmd --list-alliptables -L

根据你的系统版本和防火墙工具选择对应命令即可。