1. 引言

CentOS作为一款流行的Linux发行版,其防火墙配置是保障系统安全的重要环节。Firewalld是CentOS默认的防火墙管理工具,它提供了一个灵活、强大的防火墙解决方案。本文将详细介绍Firewalld的配置方法、实战解析以及常见问题解答。

2. Firewalld简介

Firewalld是一个动态的防火墙管理工具,它支持网络和服务级的访问控制,并且具有灵活的规则匹配和策略配置。Firewalld可以与iptables、nftables等防火墙工具协同工作,实现更加复杂的防火墙策略。

3. Firewalld基本配置

3.1 启动和停止Firewalld

# 启动Firewalld
systemctl start firewalld

# 停止Firewalld
systemctl stop firewalld

# 设置Firewalld开机自启
systemctl enable firewalld

3.2 查看Firewalld状态

# 查看Firewalld状态
systemctl status firewalld

3.3 查看当前区域

# 查看当前区域
firewall-cmd --get-active-zones

3.4 添加和删除规则

3.4.1 添加规则

# 添加一个允许80端口访问的规则
firewall-cmd --zone=public --add-port=80/tcp

# 添加一个允许特定IP访问的规则
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="80" accept'

3.4.2 删除规则

# 删除一个端口规则
firewall-cmd --zone=public --remove-port=80/tcp

# 删除一个IP规则
firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="80" accept'

3.5 重载规则

# 重载Firewalld规则
firewall-cmd --reload

4. Firewalld实战解析

4.1 允许SSH服务访问

# 允许SSH服务访问
firewall-cmd --zone=public --add-service=ssh

4.2 允许HTTP和HTTPS服务访问

# 允许HTTP和HTTPS服务访问
firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-service=https

4.3 设置端口转发

# 设置端口转发,将本地80端口映射到远程服务器8080端口
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080

5. 常见问题解答

5.1 Firewalld与iptables的关系

Firewalld是一个管理工具,它使用iptables或nftables作为后端实现防火墙功能。Firewalld提供了更加易用的命令行和图形界面,简化了防火墙配置过程。

5.2 如何查看Firewalld规则

# 查看当前区域的规则
firewall-cmd --zone=public --list-all

# 查看所有区域的规则
firewall-cmd --get-all-zones

5.3 如何永久保存Firewalld配置

Firewalld配置在系统重启后会被重置。要永久保存配置,可以使用firewall-cmd --reload命令重载规则。

6. 总结

本文详细介绍了CentOS防火墙配置全攻略,包括Firewalld的基本配置、实战解析和常见问题解答。通过学习本文,读者可以掌握Firewalld的配置方法,提高系统安全性。