新闻详情

新闻详情

首页 / 资讯中心 / 详情

小白速通Linux——防火墙管理(上)

发布时间:2026/9/28 20:50:50来源:尧图网络
小白速通Linux——防火墙管理(上)
文章目录防火墙管理1. Linux 防火墙管理1.1 防火墙是什么2. Netfilter 子系统Nftables 子系统3. 静态防火墙和动态防火墙4. Firewalld 防火墙5. Firewalld 区域 Zone6. Firewalld 规则匹配优先级7. Firewalld 配置方式两个基本概念8. firewall-cmd 核心命令与反馈8.1 zone 管理8.2 service 管理8.3 port 管理8.4 masquerade 管理8.5 forward-port 管理9. 命令速查表10. 易错点与复习自测易错点自测题自测题防火墙管理1. Linux 防火墙管理1.1 防火墙是什么防火墙工作在网络或主机边缘对进出网络或主机的数据包基于规则进行检查匹配规则后按规则定义行为处理。基本思路默认关闭所有通过型访问只开放允许访问的策略。希望外网访问的主机通常放在 DMZ隔离区网络中。按保护范围划分主机防火墙服务范围为当前一台主机。网络防火墙服务范围为防火墙一侧的局域网。按实现方式划分硬件防火墙专用硬件级别实现如华为、华三、天融信等。软件防火墙运行在通用硬件平台上的防火墙软件如iptables、firewalld。按网络协议划分网络层防火墙工作在 OSI 下四层又称包过滤防火墙。依据 ACL 检查源地址、目的地址、端口号、协议状态等。优点对用户透明、处理速度快、易于维护。缺点无法检查应用层数据如病毒等。应用层防火墙 / 代理服务器工作在 OSI 七层或承担 proxy 代理网关。优点提供应用层保护。缺点处理速度慢。2. Netfilter 子系统Netfilter 是 Linux 内核中强大的网络过滤子系统。对进入系统的每个数据包在到达用户空间组件或应用之前进行检查可通过编程方式修改、丢弃或路由数据包。Netfilter 工作在内核态用户使用以下命令配置防火墙规则iptables过滤 IPv4 协议数据包。ip6tables过滤 IPv6 协议数据包。arptables过滤 arp 协议数据包。ebtables过滤数据链路层数据包。命令反馈[rootcentos7 ~]# ls -1 /sbin/*tables-rwxr-xr-x1root root5987211月62016/sbin/arptables -rwxr-xr-x.1root root70164月112018/sbin/ebtables lrwxrwxrwx.1root root138月115:45 /sbin/ip6tables -xtables-multi lrwxrwxrwx.1root root138月115:45 /sbin/iptables -xtables-multiNftables 子系统Nftables 是 netfilter 的增强版保留了 netfilter 架构。优点更快的数据包处理更快的规则集更新使用单个nft用户空间实用程序管理所有协议3. 静态防火墙和动态防火墙类型特点例子静态防火墙修改规则时需要重新加载所有防火墙规则会导致网络连接丢失iptables动态防火墙只将变更部分保存并更新到运行中的 iptables不需要重新加载整个规则列表firewalld4. Firewalld 防火墙Firewalld 是 Red Hat 开发的防火墙软件默认后端为nftables。在 CentOS 7 中firewalld取代iptables成为默认防火墙软件。Firewalld 和 iptables 的关系firewalld提供了 daemon 和 service还有命令行和图形界面配置工具。它仅替代了iptables service部分。底层还是使用iptables作为防火墙规则管理入口。真正干活的是内核的netfilter。5. Firewalld 区域 ZoneFirewalld 将所有网络流量分为多个区域zone每个 zone 就是一套过滤规则集。常用 zonezone说明trusted允许所有传入流量public允许与 ssh 或 dhcpv6-client 预定义服务匹配的传入流量其余拒绝。新添加网络接口的默认区域external允许与 ssh 预定义服务匹配的传入流量其余拒绝。默认将通过此区域转发的 IPv4 传出流量进行地址伪装home允许与 ssh、mdns、samba-client 或 dhcpv6-client 预定义服务匹配的传入流量其余拒绝internal默认与 home 区域相同work允许与 ssh、dhcpv6-client 预定义服务匹配的传入流量其余拒绝dmz允许与 ssh 预定义服务匹配的传入流量其余拒绝block拒绝所有传入流量drop丢弃所有传入流量并且不产生包含 ICMP 的错误响应数据包与 zone 匹配规则该源地址被分配给特定区域则应用该区域规则。如果数据包未匹配源地址则分配给与传入网络接口关联的区域并应用该区域规则。如果以上都未匹配firewalld 将数据包分配给默认区域。注意事项firewalld默认指定public区域为默认区域。将lo回环接口映射至trusted区域。如果流量不与允许的端口、协议或服务匹配通常会被拒绝。6. Firewalld 规则匹配优先级区域内规则匹配优先级首先匹配为该区域设置的任何端口转发和伪装原则。其次匹配该区域设置的任何允许规则。最后匹配该区域设置的任何拒绝规则。还可以同时为以上 3 类规则设置记录和审计规则可以同时生效。富规则中的规则优先级高于区域中其他规则。如果区域中所有规则都不匹配通常会拒绝该包trusted例外。7. Firewalld 配置方式配置方法直接编辑/etc/firewalld/中的配置文件。firewall-cmd命令行工具。firewall-config图形工具。不建议直接修改配置文件推荐使用firewall-cmd。两个基本概念runtime运行态立刻生效。permanent永久态写入配置文件需要--reload才生效。配置规则必须在一个区域内。如果不使用--zone选项则使用默认区域public。建议配置防火墙时一次性写两条规则第一条使用--permanent永久生效。第二条不使用--permanent立刻生效。8. firewall-cmd 核心命令与反馈8.1 zone 管理# 查看 zone 清单[rootcentos7 ~]# firewall-cmd --get-zonesblock dmz drop external home internal public trusted work# 查看激活的 zone 清单[rootcentos7 ~]# firewall-cmd --get-active-zonespublic interfaces: ens32# 查看默认 zone[rootcentos7 ~]# firewall-cmd --get-default-zonepublic# 设置默认 zone[rootcentos7 ~]# firewall-cmd --set-default-zonetrusted# 查看默认 zone 中的规则[rootcentos7 ~]# firewall-cmd --list-allpublic(active)target: default icmp-block-inversion: no interfaces: ens32 sources: services: cockpit dhcpv6-clientsshports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:复习提示--list-all不加--zone时显示默认/活动区域信息示例输出可能因 runtime/permanent 和当前激活区域不同而变化实际以你的环境为准。8.2 service 管理# 查看系统中预定义了哪些服务[rootcentos7 ~]# firewall-cmd --get-services# 添加放行服务[rootcentos7 ~]# firewall-cmd --add-servicehttp# 查看放行服务列表[rootcentos7 ~]# firewall-cmd --list-servicescockpit dhcpv6-client httpssh# 查看服务是否放行[rootcentos7 ~]# firewall-cmd --query-servicehttpyes# 删除服务[rootcentos7 ~]# firewall-cmd --remove-servicehttp8.3 port 管理# 添加放行端口[rootcentos7 ~]# firewall-cmd --add-port5900/tcp# 查看端口放行列表[rootcentos7 ~]# firewall-cmd --list-ports5900/tcp# 删除端口[rootcentos7 ~]# firewall-cmd --remove-port5900/tcp8.4 masquerade 管理masquerade 用于 SNAT让内网主机通过本机访问外网。# 查看 masquerade 是否启动[rootcentos7 ~]# firewall-cmd --query-masqueradeno# 启动 masquerade[rootcentos7 ~]# firewall-cmd --add-masquerade# 禁用 masquerade[rootcentos7 ~]# firewall-cmd --remove-masquerade8.5 forward-port 管理使用 port forward 前确保对应 zone 启用 masquerade 功能。# 访问本机端口 8000 转发到本机 80[rootcentos7 ~]# firewall-cmd --add-forward-portport8000:prototcp:toport80# 访问本机端口 1022 转发到 10.1.1.11:22[rootcentos7 ~]# firewall-cmd --add-forward-portport1022:prototcp:toport22:toaddr10.1.1.11# 查询端口转发清单[rootcentos7 ~]# firewall-cmd --list-forward-portsport8000:prototcp:toport80:toaddrport1022:prototcp:toport22:toaddr10.1.1.119. 命令速查表操作命令查看所有 zonefirewall-cmd --get-zones查看激活 zonefirewall-cmd --get-active-zones查看默认 zonefirewall-cmd --get-default-zone设置默认 zonefirewall-cmd --set-default-zonetrusted查看当前区域规则firewall-cmd --list-all查看预定义服务firewall-cmd --get-services添加服务firewall-cmd --add-servicehttp查看服务列表firewall-cmd --list-services查询服务firewall-cmd --query-servicehttp删除服务firewall-cmd --remove-servicehttp添加端口firewall-cmd --add-port5900/tcp查看端口firewall-cmd --list-ports删除端口firewall-cmd --remove-port5900/tcp查询伪装firewall-cmd --query-masquerade开启伪装firewall-cmd --add-masquerade关闭伪装firewall-cmd --remove-masquerade添加端口转发firewall-cmd --add-forward-portport8000:prototcp:toport80查看端口转发firewall-cmd --list-forward-ports10. 易错点与复习自测易错点runtime和permanent不分不加--permanent的命令立刻生效但重启或--reload后可能丢失。加--permanent的命令不会立刻生效需要--reload。忘记指定--zone默认使用public区域。区域匹配顺序源地址 → 入接口关联区域 → 默认区域。规则优先级端口转发/伪装 允许规则 拒绝规则富规则优先级高于区域其他规则。forward-port前要确认对应 zone 已启用masquerade。默认publiclo映射到trusted。不建议直接编辑/etc/firewalld/推荐firewall-cmd。自测题如何查看当前默认 zone如何添加一个永久放行http服务并让它立刻生效firewall-cmd --add-port5900/tcp和加--permanent有什么区别端口转发前为什么要确认 masquerade→ 默认区域。规则优先级端口转发/伪装 允许规则 拒绝规则富规则优先级高于区域其他规则。forward-port前要确认对应 zone 已启用masquerade。默认publiclo映射到trusted。不建议直接编辑/etc/firewalld/推荐firewall-cmd。自测题如何查看当前默认 zone如何添加一个永久放行http服务并让它立刻生效firewall-cmd --add-port5900/tcp和加--permanent有什么区别端口转发前为什么要确认 masquerade数据包没有匹配任何源地址和接口时会进入哪个区域
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

真实废弃物分类数据集实战:4,800张图从训练到部署 2026/9/28 22:22:11

真实废弃物分类数据集实战:4,800张图从训练到部署

简介:本资源为面向计算机视觉初学者与图像分类实践者的真实废弃物图像分类数据集,覆盖纸板、食品有机物、玻璃、金属、杂项垃圾、纸张、塑料、纺织品垃圾和植被共9个类别,适合用于分类网络训练、迁移学习验证及垃圾分类相关课程设计。数据已完…

阅读更多 →
Altium Designer晶振铺铜挖空设计原理与实操 2026/9/28 22:21:49

Altium Designer晶振铺铜挖空设计原理与实操

1. 这不是“填铜”而是“控铜”:晶振区域铺铜的本质矛盾与破局逻辑Altium Designer里画多边形铺铜,很多人以为只是把空白区域“填满”——这恰恰是导致晶振电路失效、EMI超标、起振失败的根源。我带过三届硬件新人,90%的人第一次做STM32H743Z…

阅读更多 →
Superpowers 实战:为 AI 编程助手注入技能包与四阶段工作流 2026/9/28 22:21:42

Superpowers 实战:为 AI 编程助手注入技能包与四阶段工作流

做开发这么多年,我越来越相信一件事:工具本身不产生价值,用工具的习惯才产生价值。superpowers 这个名字听起来像游戏外挂,实际上是一套围绕 AI 编程助手设计的技能增强方案。它不是要替代 Codex 这类智能体,而是给它们…

阅读更多 →
Superpowers技能包:让AI编程Agent输出质量更稳的实战指南 2026/9/28 22:21:35

Superpowers技能包:让AI编程Agent输出质量更稳的实战指南

superpowers 这个名字第一次看到时,我以为是某个效率玄学工具,直到在 Codex 工作流里真正连续用了一周,才确认它并不是包装出来的概念,而是真的能把 AI 编程 Agent 的产出质量往前推一截的东西。它不是脚手架,也不是&q…

阅读更多 →
基于PaddleOCR的车牌识别算法:从检测到识别的全流程实战与优化 2026/9/28 22:21:08

基于PaddleOCR的车牌识别算法:从检测到识别的全流程实战与优化

简介:本资源面向计算机视觉初学者与进阶开发者,提供一套基于PaddleOCR的车牌识别完整项目源码,帮助读者从零搭建可运行的车牌检测与识别系统,解决车牌定位、字符识别及模型部署等实际问题。压缩包共416个文件,约37MB&a…

阅读更多 →
Python深度学习人脸识别系统毕业设计:从CNN选型到答辩演示全链路 2026/9/28 22:21:08

Python深度学习人脸识别系统毕业设计:从CNN选型到答辩演示全链路

简介:这份资源面向高校学生与深度学习入门者,提供一套基于Python的人脸识别系统完整毕业设计实现,涵盖代码、模型与文档说明,可用于毕业设计、课程设计或期末大作业。项目采用深度学习方案,涉及FER2013、CK、JAFFE等公…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉