当前位置: 首页 > news >正文

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-cmd 或 iptables 命令配置放行必要端口(如 SSH、HTTP)。

  2. firewalld 与 iptables 冲突

    • 如果同时修改两者,可能导致规则混乱。建议统一使用一种工具。

  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 规则(仅限内网测试环境)。

相关文章:

  • TDengine 流计算引擎设计
  • 【Yii2】Yii2框架的一次BUG排查
  • 第十天 Shader编程:编写简单表面着色器 Addressable资源管理系统 DOTS(面向数据技术栈)入门
  • 给git配置SSH(github,gitee)
  • Android 智能家居开发:串口是什么,为什么android版本都比较低?粘包半包的原因以及处理思路,缓冲区处理,以及超时清空缓冲区....
  • C++开发之设计模式
  • 中小企业技术跃迁:云原生后端如何实现高效低成本系统建设
  • Java:XML被自动转义
  • 【软件设计师】模拟题一
  • 面试题:Redis 一次性获取大量Key的风险及优化方案
  • R 语言科研绘图第 41 期 --- 桑基图-基础
  • Redis 及其在系统设计中的作用
  • 【docker】 pull FROM build
  • Dash框架深度解析:数据驱动型Web应用的Python化革命
  • 前端基础之《Vue(9)—混入》
  • Linux 命令行与 vi/vim 编辑器完全指南
  • JetBrains GoLang IDE无限重置试用期,适用最新2025版
  • std::deque的简化源码详解
  • 架构-数据库系统
  • Java基础集合 面试经典八股总结 [连载ing]
  • 国家市场监管总局:组织销毁侵权假冒服装、食药等3300吨
  • “茉上茶田”傍大牌诱导加盟续:违规从事特许经营被罚没670余万元
  • 主动权益基金一季度重仓股出炉:腾讯跃升至第一,阿里、比亚迪、中芯国际新进前十
  • 第四届全民阅读大会·阅读权益保障论坛举办
  • 汪东进卸任中海油董事长,深耕油气领域40余年、已临近退休
  • 岳阳一管道疑似有黑水直排东洞庭湖,生态环境局:已赶往现场核查