阅读量:2
CentOS镜像中firewalld防火墙设置教程(适用于CentOS 7及以上版本)
一、firewalld基础认知
firewalld是CentOS 7及以上版本的默认防火墙管理工具,采用动态管理模式,支持IPv4/IPv6双栈,允许实时调整规则(无需重启服务),并通过**区域(Zone)**机制划分网络信任级别(如public、home、internal等)。默认区域为public,适用于公网服务器。
二、firewalld安装(若未预装)
多数CentOS镜像已默认安装firewalld,可通过以下命令验证:
rpm -q firewalld
若未安装,执行以下命令安装:
sudo yum install -y firewalld
三、firewalld服务管理
- 启动firewalld:
sudo systemctl start firewalld - 设置开机自启(避免重启后失效):
sudo systemctl enable firewalld - 停止firewalld(临时禁用,生产环境不推荐):
sudo systemctl stop firewalld - 禁用开机自启:
sudo systemctl disable firewalld - 查看服务状态:
sudo systemctl status firewalld # 查看服务运行状态 sudo firewall-cmd --state # 查看firewalld是否激活
四、核心规则配置
1. 查看当前规则
- 查看所有开放端口与服务:
sudo firewall-cmd --list-all - 仅查看开放端口:
sudo firewall-cmd --list-ports - 查看所有可用服务:
sudo firewall-cmd --get-services
2. 添加规则(永久生效)
- 添加端口(如开放HTTP端口80/tcp、HTTPS端口443/tcp):
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp sudo firewall-cmd --permanent --zone=public --add-port=443/tcp - 添加服务(如开放SSH服务,默认端口22/tcp):
sudo firewall-cmd --permanent --zone=public --add-service=ssh - 添加富规则(高级场景,如允许特定IP访问):
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
3. 删除规则(永久生效)
- 删除端口:
sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp - 删除服务:
sudo firewall-cmd --permanent --zone=public --remove-service=ssh - 删除富规则:
sudo firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
4. 重新加载配置
添加/删除规则后,必须执行以下命令使更改生效:
sudo firewall-cmd --reload
五、区域(Zone)管理
- 查看所有可用区域:
sudo firewall-cmd --get-zones - 更改默认区域(如将默认区域设为
home):sudo firewall-cmd --set-default-zone=home - 将接口绑定到指定区域(如将
eth0接口绑定到public区域):sudo firewall-cmd --permanent --zone=public --change-interface=eth0 sudo firewall-cmd --reload
六、安全增强建议
- 启用SELinux:SELinux与firewalld配合,提供更细粒度的安全控制。确保SELinux处于
Enforcing模式:sudo setenforce 1 # 临时启用 sudo vi /etc/selinux/config # 设置SELINUX=enforcing(永久生效) - 日志记录:开启firewalld日志,便于排查问题:
sudo firewall-cmd --permanent --zone=public --add-log-prefix="Firewall: " sudo firewall-cmd --reload - 定期审计规则:每月检查一次防火墙规则,移除不必要的开放端口/服务。
七、常见问题解决
- 规则不生效:忘记执行
--reload命令,或规则未添加--permanent参数(临时规则重启后失效)。 - 无法启动firewalld:检查是否有其他防火墙工具(如iptables)冲突,可通过
systemctl stop iptables停止冲突服务。 - 端口未开放:确认服务是否监听正确端口(
ss -tulnp | grep),并检查云服务商安全组设置(若有)。
以上就是关于“CentOS镜像中的防火墙设置教程”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm