一、安装 firewalld

1. 检查是否已安装

如果有输出 firewalld-… 说明已安装。

2. 安装 firewalld(若未安装)

说明:

  • firewalld 是核心服务;

  • firewall-config 是图形化配置工具(桌面系统可用,可选)。

3. 启动并设置开机自启

查看是否开机自启:

查看状态:

输出示例:

  • Active: active (running) → 防火墙已开启

  • Active: inactive (dead) → 防火墙已关闭

若只想简洁输出:

输出 active 表示开启;inactive 表示关闭。

二、firewalld 基础配置

1. 查看当前防火墙状态

输出 running 表示正在运行。

2. 查看所有区域(zone)

查看当前激活区域:

查看默认区域:

3. 设置默认区域(通常用 public)

4. 查看当前区域详细信息

输出示例:

三、常用防火墙规则配置

firewalld 有两类配置:

  • 运行时配置(runtime):立即生效,但重启防火墙后失效。

  • 永久配置(permanent):修改配置文件,需重新加载后生效。

通常建议:

         添加规则时加上 –permanent,然后执行 firewall-cmd –reload 让规则立即生效。

1. 开放端口

然后重新加载:

查看是否添加成功/查看已开放端口:

2. 删除端口规则

3. 开放或关闭服务(基于 /usr/lib/firewalld/services/)

4. 指定 IP 访问控制

允许单个 IP 访问端口:

拒绝某个 IP 的所有访问

允许一个网段访问

5. 启用 NAT 转发(如内网转发)

6. 保存当前临时规则为永久规则

7. 重新加载配置

四、进阶命令

操作 命令
查看版本 firewall-cmd –version
查看所有支持的服务 firewall-cmd –get-services
查看接口对应区域 firewall-cmd –get-active-zones
将网卡加入区域 firewall-cmd –zone=public –add-interface=eth0
移除网卡 firewall-cmd –zone=public –remove-interface=eth0
查看 rich rules firewall-cmd –list-rich-rules
查看所有规则(详细) firewall-cmd –list-all-zones

五、停止与卸载 firewalld

1. 停止服务

2. 禁止开机自启

3. 确认已关闭

4. 卸载

(可选)删除配置文件: