news 2026/4/25 13:59:17

防火墙配置:掌握 iptables、firewalld 等工具的使用与管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
防火墙配置:掌握 iptables、firewalld 等工具的使用与管理

防火墙配置:掌握 iptables、firewalld 等工具的使用与管理

在现代服务器安全体系中,防火墙是最基础、最关键的安全屏障之一。无论是传统的iptables,还是更现代的firewalld,都承担着“限制访问、减少攻击面、保护系统”的核心职责。

本文将从以下几个方面展开:

  • iptables 与 firewalld 的区别与适用场景
  • iptables 常用规则与管理方法
  • firewalld 的区域、服务与端口管理
  • 企业级防火墙最佳实践

1. iptables 与 firewalld 的区别

项目iptablesfirewalld
工作方式静态规则表动态规则管理
配置难度较高较低
是否支持热更新❌ 重载会中断连接✔ 支持动态更新
管理方式命令行规则区域(zone)+ 服务(service)
适用场景高度自定义、精细控制日常运维、快速配置

总结:

  • 需要精细控制 → 用iptables
  • 需要快速管理、动态更新 → 用firewalld

2. iptables 基础与常用配置

iptables 基于表(table)链(chain)工作:

  • filter:默认表,用于过滤流量
  • nat:地址转换(DNAT/SNAT)
  • mangle:修改数据包
  • raw:绕过连接跟踪

常用链:

  • INPUT:进入本机的流量
  • OUTPUT:从本机发出的流量
  • FORWARD:转发流量

2.1 查看当前规则

iptables -L -n -v

2.2 放行常用端口

放行 SSH(22)

iptables -A INPUT -p tcp --dport22-j ACCEPT

放行 HTTP/HTTPS

iptables -A INPUT -p tcp -m multiport --dports80,443-j ACCEPT

2.3 拒绝所有其他流量(默认策略)

iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT

2.4 允许本地回环与已建立连接

iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

2.5 保存规则

CentOS 7 及以下:

serviceiptables save

Ubuntu:

iptables-save>/etc/iptables.rules

3. firewalld 使用与管理

firewalld 是基于区域(zone)的动态防火墙,支持热更新,不会中断现有连接。


3.1 常用命令

查看状态

systemctl status firewalld

启动/停止

systemctl start firewalld systemctlenablefirewalld

3.2 区域(Zone)概念

常见区域:

区域说明
public默认区域,允许最少服务
internal内网环境
trusted信任所有流量(慎用)
drop丢弃所有流量

查看当前区域:

firewall-cmd --get-active-zones

3.3 开放端口

开放 80 端口

firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload

开放多个端口

firewall-cmd --add-port=3000-3010/tcp --permanent

3.4 开放服务(推荐方式)

firewalld 内置服务定义(如 ssh、http、https)。

开放 HTTP 服务

firewall-cmd --add-service=http --permanent firewall-cmd --reload

查看所有服务:

firewall-cmd --get-services

3.5 移除端口或服务

firewall-cmd --remove-port=80/tcp --permanent firewall-cmd --remove-service=http --permanent firewall-cmd --reload

3.6 允许特定 IP 访问

仅允许某 IP 访问 SSH

firewall-cmd --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port port="22" protocol="tcp" accept'--permanent

4. iptables 与 firewalld 的组合使用建议

  • firewalld 是 iptables 的上层管理工具
  • 不建议同时启用两者,否则规则冲突难以排查
  • 若使用 firewalld,应关闭 iptables 服务

5. 企业级防火墙最佳实践

5.1 最小暴露面原则

  • 只开放业务必须端口
  • 禁用所有默认服务
  • 定期审计端口暴露情况

5.2 使用白名单策略

  • SSH 仅允许固定 IP 登录
  • 管理后台仅允许内网访问

5.3 分环境管理

环境策略
生产严格白名单
测试适度放开
开发内网访问即可

5.4 日志与审计

  • 定期查看防火墙日志
  • 监控异常访问(如暴力破解)
  • 配合 fail2ban 等工具自动封禁恶意 IP

6. 总结

掌握 iptables 与 firewalld,是系统安全加固的基础能力:

  • iptables:适合精细化控制
  • firewalld:适合动态管理与日常运维
  • 最小暴露面 + 白名单 + 审计是企业级最佳实践

通过合理配置防火墙,可以显著降低攻击面,提升系统整体安全性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 14:33:09

从入门到精通:大模型赋能千行百业的百万元级AI解决方案价值图谱

本文基于《百万元级AI解决方案价值图谱》,系统梳理了大模型在通信、政务、医疗、教育等九大行业的落地场景与核心价值。分析表明,大模型应用已从"试验田"走向"生产力",主要带来降本增效、办公提质、安全稳定和提升客户感…

作者头像 李华
网站建设 2026/4/18 2:33:51

【C2000系列DSP的Bootloader详解】如何利用脚本自动合并hex文件

【C2000系列DSP的Bootloader详解】如何利用脚本自动合并hex文件 在C2000系列微控制器开发中,Bootloader(启动引导程序)和UserApp(用户应用程序)是嵌入式系统的核心组成部分。Bootloader负责芯片上电后初始化硬件、加载用户程序,UserApp则是实际的业务逻辑代码。本文将详…

作者头像 李华
网站建设 2026/4/18 14:53:41

文件上传php知识和理解

为什么要学真实黑客攻击:找目标网站——上传恶意文件——猜网站的漏洞——上传木马文件——成功然后可以走两个方式1.蚁剑连接测试连接——成功,这里的连接其实就是上传的一句话木马文件的POST里面你写的“密码”,蚁剑叫它密码,但…

作者头像 李华
网站建设 2026/4/22 16:19:45

微观交通流仿真软件:AIMSUN_(15).用户界面与操作

用户界面与操作 1. AIMSUN用户界面概述 AIMSUN 是一款强大的微观交通流仿真软件,用户界面设计直观且功能丰富,旨在帮助用户高效地进行交通网络建模、仿真和分析。本节将详细介绍 AIMSUN 用户界面的主要组成部分和基本操作方法,帮助用户快速…

作者头像 李华
网站建设 2026/4/24 9:16:54

微观交通流仿真软件:Paramics_(1).Paramics软件基础与安装

Paramics软件基础与安装 1. Paramics软件简介 Paramics是一款强大的微观交通流仿真软件,广泛应用于交通规划、道路设计、交通管理和研究等领域。它通过模拟交通系统中的车辆、驾驶员、交通设施等微观元素的行为,提供详细的交通数据和分析结果。Paramics不…

作者头像 李华
网站建设 2026/4/23 15:18:59

mac m3上使用vscode + platformio开发esp32

前言 之前使用过arduino ide去开发esp32。但是感觉有两个问题,一是arduino上面那个esp32的插件不太好下载,二是本人习惯使用vscode的了,想用vscode去开发。所以这次使用vscode platformio arduino库去做开发。 环境介绍 电脑&#xff1a…

作者头像 李华