CentOS 7 系统中,防火墙要怎么使用?

CentOS 7 系统中,默认有两个防火墙管理工具:

  1. firewalld (默认的动态防火墙,基于 D-Bus 管理)

  2. iptables (传统的静态防火墙,底层由 netfilter 提供支持)

是否需要关闭这两个防火墙,取决于你的具体需求。以下是详细分析和操作指南:

1. 两个防火墙的关系

  • firewalld 是 CentOS 7 的默认前端管理工具,底层仍然依赖 iptables/nftables 规则。

  • iptables 是直接操作内核级防火墙规则的传统工具。

  • 两者同时启用可能导致规则冲突 (例如端口开放不一致),但通常 firewalld 会管理 iptables 规则。

2. 是否需要关闭?

场景 建议操作
使用 firewalld 保持 firewalld 开启,无需关闭 iptablesfirewalld 会自动管理规则)。
使用 iptables 关闭 firewalld,直接通过 iptables 配置规则(避免冲突)。
完全禁用防火墙 关闭 firewalld 并清空 iptables 规则(仅限测试环境,生产环境不推荐!)。

3. 操作步骤

(1)查看防火墙状态
复制代码
systemctl status firewalld    # 检查 firewalld 状态
systemctl status iptables     # 检查 iptables 服务(通常未启用)
iptables -L -n                # 查看 iptables 规则
(2)关闭 firewalld
复制代码
sudo systemctl stop firewalld      # 临时停止
sudo systemctl disable firewalld   # 永久禁用
(3)关闭 iptables(如需)
复制代码
sudo systemctl stop iptables       # 临时停止
sudo systemctl disable iptables    # 永久禁用
sudo iptables -F                  # 清空所有规则(谨慎操作!)
(4)启用 iptables(替代 firewalld
复制代码
sudo yum install iptables-services  # 确保 iptables 服务已安装
sudo systemctl enable iptables      # 启用服务
sudo systemctl start iptables       # 启动服务

4. 注意事项

  1. 生产环境建议保留防火墙

    • 使用 firewalld(推荐)或 iptables 至少开启一个,避免暴露所有端口。

    • 通过 firewall-cmdiptables 命令配置放行必要端口(如 SSH、HTTP)。

  2. firewalldiptables 冲突

    • 如果同时修改两者,可能导致规则混乱。建议统一使用一种工具。
  3. 临时测试关闭防火墙

    复制代码
    sudo systemctl stop firewalld
    sudo iptables -F

5. 推荐方案

  • 大多数情况 :保持 firewalld 开启,通过以下命令管理:

    复制代码
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent  # 放行端口
    sudo firewall-cmd --reload                                    # 重载配置
  • 需要传统 iptables :禁用 firewalld,手动编写 /etc/sysconfig/iptables 规则。


总结

需求 操作
默认安全防护 保持 firewalld 开启,无需操作 iptables
使用自定义规则 关闭 firewalld,启用 iptables-services 并手动配置。
彻底关闭防火墙 停止并禁用 firewalld + 清空 iptables 规则(仅限内网测试环境)。
相关推荐
cpsvps20 分钟前
文件系统完整性校验工具在美服安全审计中的关键作用与实施步骤
服务器·网络·架构
♤SF♤21 分钟前
SSL 剥离漏洞
网络·安全·https
猫头虎29 分钟前
新手小白如何快速检测IP 的好坏?
网络·人工智能·网络协议·tcp/ip·开源·github·php
sz66cm42 分钟前
Linux基础 -- 内核快速向用户态共享内核变量方案之ctl_table
linux·运维·服务器
hhj123k1 小时前
渗透作业3
网络·学习
努力一点9481 小时前
ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令
linux·运维·服务器·人工智能·gpu算力
SKYDROID云卓小助手2 小时前
无人设备遥控器之多设备协同技术篇
网络·人工智能·嵌入式硬件·算法·信号处理
wb1892 小时前
企业WEB应用服务器TOMCAT
运维·前端·笔记·tomcat·云计算
利刃大大3 小时前
【在线五子棋对战】十一、整合封装服务器模块实现
运维·服务器·c++·项目·五子棋
Web极客码3 小时前
如何为你的WordPress网站选择合适的安全插件
网络·安全