Linux 防火墙操作指南

本文档基于 firewalld 服务整理常用防火墙操作命令及注意事项,适用于 CentOS/RHEL 等系统。


目录


基础操作

查看防火墙状态

1
2
systemctl status firewalld   # 查看详细状态(运行状态、日志等)
firewall-cmd --state # 快速查看防火墙是否运行

启动/停止防火墙

1
2
systemctl start firewalld    # 立即启动防火墙
systemctl stop firewalld # 立即停止防火墙

开机自启配置

1
2
systemctl disable firewalld  # 永久关闭防火墙(禁止开机自启)
systemctl enable firewalld # 启用开机自启(未提供,但建议补充)

端口管理

开放/关闭端口

1
2
3
4
5
# 开放 TCP 8080 端口(永久生效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 关闭 TCP 8080 端口(永久生效)
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

配置生效与查询

1
2
firewall-cmd --reload        # 重新加载配置(使更改立即生效)
firewall-cmd --zone=public --list-ports # 查看已开放的端口

注意事项

  1. 服务管理工具
    systemctl 是 Linux 服务管理核心命令,支持对服务的启动(start)、停止(stop)、重启(restart)、状态查看(status)等操作。

  2. 防火墙专用命令
    firewall-cmdfirewalld 服务的专用配置工具,需 root 权限执行。

  3. 生产环境建议

    • 除非必要,不要永久关闭防火墙disable + stop)。
    • 开放端口时尽量限定 IP 范围(如 --add-rich-rule 规则),而非全网开放。
    • 修改配置后必须执行 --reload 使规则生效。
  4. 临时 vs 永久

    • 若未加 --permanent 参数,规则重启后失效。
    • 临时测试可使用非永久规则,生产环境需显式声明 --permanent

提示:可通过 man firewall-cmd 查看完整手册,或使用 --help 参数获取帮助。