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

linux内核 Netfilter

Netfilter是 Linux 内核中一套模块化、可扩展的网络数据包处理框架是 iptables、nftables、firewalld 等防火墙工具的底层核心负责实现数据包过滤、NAT、连接跟踪、流量整形等网络功能。Netfilter 是 Linux 内核内置的网络数据包处理框架通过5 个钩子点拦截网络流量配合5 张表实现过滤、NAT、修改、跟踪、安全控制是所有 Linux 防火墙的底层核心。核心定位与历史本质内核态的钩子Hook系统在 TCP/IP 协议栈关键路径上埋点允许内核模块注册回调函数介入数据包处理。起源由 Rusty Russell 主导开发Linux 2.42000 年正式引入替代早期的 ipchains/ipfwadm。设计理念模块化、分层、无侵入将规则配置用户态与数据包处理内核态分离。核心架构五钩子 表 / 链模型Netfilter 在 IPv4/IPv6 协议栈中定义了5 个标准钩子点Hook Points数据包按路径依次经过钩子点触发时机主要用途NF_INET_PRE_ROUTING数据包刚进入内核、路由决策前DNAT、流量标记、raw 表处理NF_INET_LOCAL_IN路由后发往本机进程入站过滤filter、本地 NATNF_INET_FORWARD路由后需要转发的数据包转发过滤、流量控制NF_INET_LOCAL_OUT本机进程发出、路由前出站过滤、SNAT 前处理NF_INET_POST_ROUTING数据包即将离开网卡、路由后SNAT、MASQUERADE、流量整形表Tables与链Chains规则按功能分组到表每个表包含对应钩子点的链规则列表filter 表默认负责过滤含 INPUT、FORWARD、OUTPUT 链。nat 表负责地址 / 端口转换含 PREROUTING、POSTROUTING、OUTPUT 链。mangle 表修改数据包头部TOS/TTL/Mark覆盖所有 5 个钩子。raw 表最早介入用于关闭连接跟踪NOTRACK。security 表用于强制访问控制MAC如 SELinux 标签。5 张表 作用 执行顺序执行优先级从上到下表名优先级核心功能一句话记住raw1关闭连接跟踪不跟踪、高性能mangle2修改数据包属性打标记、改 TTL/QoSnat3地址 / 端口转换SNAT/DNAT、共享上网filter4防火墙过滤允许 / 拒绝 / 丢弃security5SELinux 安全标记强制访问控制Netfilter 5 张表的执行顺序执行顺序raw → mangle → nat → filter → security作用raw优先级最高关闭连接跟踪NOTRACKmangle修改数据包头部、打 MARK、QoSnat地址 / 端口转换SNAT/DNATfilter防火墙过滤ACCEPT/DROP/REJECTsecuritySELinux 安全标记强制访问控制一个数据包从外网进入 Linux 路由器经过转发到另一台内网机器经过的所有 Netfilter 钩子点和表网卡收包PREROUTINGraw → mangle → natDNAT路由决策FORWARDmangle → filter → securityPOSTROUTINGmangle → natSNAT从网卡发出filter 表最常用、默认表作用对数据包进行过滤控制决定是否放行。优先级三张表里最后执行。包含链INPUT发往本机的包FORWARD经过本机转发的包路由器功能OUTPUT本机发出的包典型动作ACCEPT允许DROP丢弃REJECT拒绝并返回错误典型用途开放 / 关闭端口80、22 等限制某个 IP 访问防火墙规则nat 表网络地址转换作用修改数据包的源 IP / 端口SNAT或目标 IP / 端口DNAT。特点仅对连接首包生效后续包自动沿用转换结果。包含链PREROUTING刚进网卡时 →DNATOUTPUT本地进程发出的包 → 本地 DNATPOSTROUTING即将出网卡时 →SNAT/MASQUERADE典型用途SNAT/MASQUERADE内网共享一个公网 IP 上网DNAT端口映射、内网服务器对外暴露负载均衡前置转发mangle 表数据包修改作用修改数据包本身的属性不做过滤、不做 NAT。特点可以作用在所有 5 个钩子点。包含链PREROUTINGINPUTFORWARDOUTPUTPOSTROUTING典型用途设置MARK标记用于策略路由、tc 流量控制修改 TOS/DSCP优化 QoS修改 TTL防追踪、穿透数据包整形、分类raw 表raw 表是 iptables 中优先级最高的表高于 mangle/nat/filter自 iptables 1.2.9 版本引入对应的内核模块是iptable_raw其唯一核心目标是控制 nf_conntrack 连接跟踪通过NOTRACK动作让指定数据包彻底跳过连接跟踪不再进入 conntrack 哈希表、无状态记录从而降低内核开销、提升大流量场景性能。支持的链与动作仅两条链没有 INPUT/FORWARD/POSTROUTINGPREROUTING网卡收包刚进入 Netfilter路由决策前OUTPUT本机进程发出的包路由决策前核心动作NOTRACK禁用该数据包 / 连接的跟踪对应的状态是UNTRACKED可在 filter 表中匹配额外支持TRACE内核数据包跟踪调试仅在 raw 表有效规则特性一旦匹配 NOTRACK后续 conntrack 流程不触发但仍会走 mangle/filter 等表的常规处理只是无状态信息可用执行顺序与位置在 Netfilter 流程中的顺序是raw表PREROUTING/OUTPUT → mangle → nat → filter入站网卡 →raw PREROUTING→ 路由决策 → ...出站应用 →raw OUTPUT→ 路由决策 → POSTROUTING → 网卡转发PREROUTING raw → 路由 → FORWARD无 raw 链典型适用场景高并发 UDP / 流媒体DNS、视频会议、CDN 转发避免 conntrack 表溢出、锁竞争大流量 Web 服务器80/443 端口不做 NAT / 状态过滤时禁用跟踪减少 CPU / 内存消耗DDoS 防护前置过滤海量短连接包不触发 conntrack 资源耗尽内核调试用TRACE动作跟踪数据包在 Netfilter 各表的流转路径security 表security 表是 Netfilter 中用于强制访问控制MAC的表专门配合SELinux等安全模块对数据包打上 / 检查安全上下文标签做更细粒度的网络访问控制。位置在filter 表之后执行作用不是普通防火墙而是安全标签控制依赖一般只有开启 SELinux 时才真正发挥作用完整的 Netfilter 表执行优先级raw → mangle → nat → filter → security包含的链security 表的链和 filter 表完全一样INPUTFORWARDOUTPUT不包含 PREROUTING、POSTROUTING。主要用途SELinux 网络标签给数据包打上 SELinux 安全上下文控制哪个进程能发包哪个域能接收包转发包的安全策略强制网络访问控制比普通防火墙更严格即使 iptables filter 允许了security 表 SELinux 依然可以拒绝多级别安全MLS用于高安全场景涉密、政务、军工系统按安全级别隔离网络流量核心工作流程以 IPv4 为例数据包进入网卡经链路层处理后到达PRE_ROUTING钩子。内核执行路由决策判断是发往本机还是转发。发往本机 → 经过LOCAL_IN→ 交付上层协议栈。需要转发 → 经过FORWARD→ 再到POST_ROUTING→ 发送。本机发出 → 经过LOCAL_OUT→ 路由 →POST_ROUTING→ 发送。关键能力与应用数据包过滤基于 IP、端口、协议、MAC、TCP 标志位等规则允许 / 拒绝 / 丢弃数据包。NATSNAT修改源地址如内网共享公网 IP。DNAT修改目标地址如端口映射、反向代理。MASQUERADE动态 SNAT适配动态公网 IP。连接跟踪conntrack记录连接状态NEW/ESTABLISHED/RELATED实现状态防火墙。流量标记与整形结合 tc 实现 QoS、带宽限制、策略路由。日志与审计记录匹配规则的数据包用于安全分析。用户态工具生态iptables传统工具基于 Netfilter配置复杂但成熟稳定。nftables下一代工具统一 IPv4/IPv6/ARP/ 桥接语法更简洁、性能更好逐步替代 iptables。firewalld动态防火墙管理工具底层调用 iptables/nftables支持区域zone管理。与内核网络栈的关系Netfilter 是内核网络子系统的一部分直接嵌入 IP 层处理流程不依赖用户态处理效率高。它通过nf_register_hook()/nf_unregister_hook()注册 / 注销钩子函数回调返回值决定数据包命运NF_ACCEPT继续处理。NF_DROP丢弃。NF_STOLEN模块接管不再继续。NF_QUEUE送入用户态队列如 nfqueue。NF_REPEAT重新调用钩子。典型应用场景服务器防火墙限制入站端口如仅开放 80/443。网关 NAT家庭 / 企业路由器共享公网 IP。端口转发公网 IP 端口映射到内网服务。流量控制限制 P2P 下载带宽保障关键业务。安全审计记录所有进出数据包用于入侵检测。Netfilter 数据包流转总图IPv4┌───────────────┐ │ 网卡收包 │ └───────┬───────┘ │ ▼ ┌─────────────────────────────────────┐ │ NF_INET_PRE_ROUTING │ │ - raw 表: PREROUTING │ │ - mangle 表: PREROUTING │ │ - nat 表: PREROUTINGDNAT │ └───────────────┬─────────────────────┘ │ ▼ ╔═════════════════╗ ║ 路由决策点 ║ ║ 判断去向 ║ ╚═══════╦═════════╝ │ ┌──────────┴──────────┐ ▼ ▼ ┌────────────────┐ ┌─────────────────────────┐ │ 发往本机 │ │ 需要转发路由器场景 │ └────┬───────────┘ └───────┬─────────────────┘ │ │ ▼ ▼ ┌─────────────────────────┐ ┌─────────────────────────────┐ │ NF_INET_LOCAL_IN │ │ NF_INET_FORWARD │ │ - mangle 表: INPUT │ │ - mangle 表: FORWARD │ │ - filter 表: INPUT │ │ - filter 表: FORWARD │ │ - security 表: INPUT │ │ - security 表: FORWARD │ └──────────┬──────────────┘ └──────────────┬──────────────┘ │ │ ▼ ▼ 交付上层协议栈 ┌─────────────────────────────┐ │ NF_INET_POST_ROUTING │ │ - mangle 表: POSTROUTING │ │ - nat 表: POSTROUTING(SNAT)│ └──────────────┬──────────────┘ │ ▼ 从网卡发出本机发包流程补充┌────────────────┐ │ 应用层发包 │ └───────┬────────┘ │ ▼ ┌─────────────────────────────────────┐ │ NF_INET_LOCAL_OUT │ │ - raw 表: OUTPUT │ │ - mangle 表: OUTPUT │ │ - nat 表: OUTPUT本地进程DNAT │ │ - filter 表: OUTPUT │ │ - security 表: OUTPUT │ └───────────────┬──────────────────────┘ │ ▼ ╔═════════════════╗ ║ 路由决策点 ║ ╚═══════╦═════════╝ │ ▼ ┌─────────────────────────────────────┐ │ NF_INET_POST_ROUTING │ │ - mangle 表: POSTROUTING │ │ - nat 表: POSTROUTING(SNAT) │ └───────────────┬─────────────────────┘ │ ▼ 从网卡发出

相关文章:

linux内核 Netfilter

Netfilter 是 Linux 内核中一套模块化、可扩展的网络数据包处理框架,是 iptables、nftables、firewalld 等防火墙工具的底层核心,负责实现数据包过滤、NAT、连接跟踪、流量整形等网络功能。Netfilter 是 Linux 内核内置的网络数据包处理框架,…...

关于 HarmonyOS 版本的简述

1、所有版本 HarmonyOS 已面向开发者发布的所有版本清单如下: 2、推荐开发版本 目前官方推荐使用 6.0.0(20) 版本,配套的工具为 DevEco Studio 6.0.0 Release(6.0.0.858) 版本。6.0.0(20) Release 开发者套件配套信息如下: 3、应用工程…...

OpenClaw 第十三篇:核心技术实现拆解——从指令输入到执行落地的全链路原理

OpenClaw 第十三篇:核心技术实现拆解——从指令输入到执行落地的全链路原理前面十二篇我们聚焦OpenClaw的实操落地,从基础部署、本地自动化,到远程操控、职场场景全覆盖,相信大家已经能熟练用它解决实际问题。但很多技术爱好者、开…...

【数据库】金仓数据库智能SQL防护机制,实现99.99%异常语句精准拦截

文章目录前言一、注入风险:隐藏在输入背后的隐患二、三种模式:构建灵活的“智能准入系统”三、高效、精准、易用:理想的安全防护标准1. 99.99%的识别准确率,近乎“零误判”2. 性能损耗低于6%,业务无感知3. 两步配置&am…...

【JWT】JWT(JSON Web Token)结构化知识体系(完整版)

文章目录JWT(JSON Web Token)一、基础认知层:定义与核心边界1. 核心定义2. 诞生背景3. 适用与不适用场景二、核心结构层:JWT的标准格式与字段规范1. Header(头部)2. Payload(载荷)3.…...

3-1课堂笔记

import os import json import requests from bs4 import BeautifulSoup# 数据采集基础知识:豆瓣读书T250的数据的获取 def getHTML(n):# 获取每一张含有25本书的网页,n为页码-1url "https://book.douban.com/top250"header {"user-age…...

CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像+本地源双方案)

CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像本地源双方案)【实操指南】CentOS 7.5/RHEL 7.x 配置 YUM 源(阿里云镜像本地源双方案)环境说明前置准备:备份原有 YUM 源方案一:配置阿里云 CentOS 7 镜像源&am…...

企业微信ipad协议的消息扩展字段与业务数据注入

企业微信ipad协议的消息扩展字段与业务数据注入 在企业微信的深度集成场景中,单纯收发消息往往无法满足业务需求。如何将内部系统的工单号、客户标签、订单状态等信息与聊天消息绑定,实现跨系统的数据关联?企业微信ipad协议通过预留的扩展字段…...

别盲目入行网安!一文看懂所有网安岗位岗位职责与发展方向

网络安全可以从事哪些岗位 伴随着社会的发展,网络安全被列为国家安全战略的一部分,因此越来越多的行业开始迫切需要网安人员,也有不少人转行学习网络安全。那么网络安全可以从事哪些岗位?岗位职责是什么?相信很多人都不太了解,…...

安装显卡驱动报错提示“7-Zip:CRC error“

目录问题描述解决方案问题描述 我的设备信息如下 安装驱动(591.86-desktop-win10-win11-64bit-international-dch-whql.exe)报错:7-Zip:CRC error 解决方案 打开选择电源计划–>选择节能–>重启电脑–>管理员身份再打开驱动安装程序 创建的时候按照自己的需求即可 …...

【软件开发设计全流程及工具推荐】从需求到部署的完整指南

文章目录软件开发设计全流程及工具推荐:从需求到部署的完整指南一、引言二、软件开发全流程2.1 整体流程概览三、需求分析阶段3.1 核心任务3.2 推荐工具3.3 实践建议四、系统设计阶段4.1 设计层次4.2 推荐工具4.3 架构设计示例五、编码实现阶段5.1 编码规范5.2 推荐…...

避开这些弯路,智慧校园平台这样选才靠谱

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

面对open claw的安全问题:我开源一个 MCP 安全检测项目

面向 MCP Server 的风险扫描、策略评估、运行时隔离与审计追踪 最近一直在看 MCP 生态,也在认真想一个问题: 如果 MCP Server 越来越多,大家开始频繁安装、调用、组合第三方工具,那么它的安全边界到底在哪里? 现在很…...

STM32常用变量类型位数及取值范围

STM32 是 32 位单片机&#xff0c;类型大小固定不变&#xff0c;所有类型大小都遵循标准。uint8_t/uint16_t/uint32_t/uint64_t 来自头文件 #include <stdint.h>&#xff0c;是标准精确类型&#xff08;STM32 官方库强制使用&#xff09;。一、对应关系无符号类型等价的基…...

额度紧缩、token涨价:OpenClaw带来的新行情

这是一篇为您深度重构后的 CSDN 技术博客。我结合了 Gemini CLI 最新的配额政策、MCP 协议的架构演进&#xff0c;以及开发者在 2026 年面临的真实成本压力&#xff0c;去除了敏感表述&#xff0c;强化了实战案例与架构深度。额度紧缩、Token 涨价&#xff1a;OpenClaw 开启的“…...

LabVIEW调用TensorFlow深度学习教程

labview调用TensorFlow深度学习教程一、前言随着人工智能技术的快速发展&#xff0c;深度学习已经成为众多领域研究的热点。LabVIEW作为一种强大的工程开发环境&#xff0c;其与TensorFlow的结合使用&#xff0c;能够更高效地实现深度学习模型的开发与应用。本教程将介绍如何使…...

【Unity游戏框架】PlayMaker 技术解析:Unity最经典的可视化状态机开发工具

在 Unity 的开发生态中&#xff0c;可视化脚本&#xff08;Visual Scripting&#xff09;一直是降低开发门槛的重要工具。其中最具代表性的插件之一&#xff0c;就是来自 Hutong Games 的 PlayMaker。 PlayMaker 并不是简单地把 Unity API 拆成节点&#xff0c;而是基于 有限状…...

[具身智能-25]:为什么具身智能的整机厂家要提供开放的开发套件?

具身智能&#xff08;Embodied AI&#xff09;整机厂家&#xff08;如宇树、智元、傅利叶、特斯拉等&#xff09;之所以大力提供开放的开发套件&#xff08;SDK 硬件接口 仿真环境&#xff09;&#xff0c;并非单纯为了“做慈善”&#xff0c;而是基于技术瓶颈、生态构建、商…...

AD里面可能会用到的一些规则

---PlaneClearance中的间距比较大&#xff08;可能会切割负片面&#xff0c;造成铜皮不完整&#xff09;--的话&#xff0c;可以设置成8Mil左右&#xff0c;这是一个比较合理的距离---关于铜皮的连接方式考虑手工焊接的简易性的话十字连接&#xff08;下图中第一个&#xff09;…...

Java毕业设计基于springboot的玩具租赁系统(编号:89227201)

前言 基于Spring Boot的玩具租赁系统是一个高效、易用、安全的玩具租赁平台。该系统采用了先进的技术栈和优秀的开发框架&#xff0c;实现了用户注册与登录、用户信息管理、玩具管理、租赁管理、支付功能和消息通知等主要功能模块。同时&#xff0c;系统还具有高效性、易用性、…...

异步电机模型预测电流控制(MPCC)的 Simulink 实现探索

异步电机模型预测电流控制/MPCC simulink搭建的异步电机模型预测电流控制模型&#xff0c;磁链观测器为电流型&#xff0c;加入了一延迟补偿和预励磁 附带说明文档和相关参考文献&#xff0c;模型已经调好&#xff0c;可跑出图中效果&#xff0c;默认发送2023b版本的simulink模…...

大模型Token入门详解:概念、原理、换算与核心作用【AI基础】

用通俗直白的语言拆解Token相关知识点&#xff0c;全程无晦涩术语&#xff0c;适合AI初学者、大模型入门人群快速掌握核心逻辑&#xff0c;干货好懂易记。 一、Token核心定义&#xff1a;大模型的语言基础单元 我们常说的大语言模型上下文窗口&#xff0c;它的计量单位并不是日…...

Java毕业设计基于springboot的办公用品管理系统h24vr2p3_242

前言 随着企业规模的扩大和办公需求的增加&#xff0c;办公用品管理成为了一个重要的问题。传统的办公用品管理方式往往依赖于人工记录和跟踪 &#xff0c;这种方式不仅耗时费力&#xff0c;而且容易出错。因此&#xff0c;开发一个基于Spring Boot的办公用品管理系统具有重要的…...

毕业季干货|让论文效率翻倍的实用神器

我梳理了毕业之家和PaperRed的核心功能&#xff0c;并补充了两款专注于英文论文写作的高效工具。这些工具覆盖了从初稿生成、查重降重到英文学术润色的全流程&#xff0c;希望能帮你更高效地完成论文。 &#x1f393; 毕业之家&#xff1a;一站式毕业全流程专家 官网&#xff…...

如何解决modelsim闪退

...

从feko仿真到ISAR成像:全流程数据与代码详解

&#xff08;FEKO ISAR RD成像&#xff09;feko仿真单站RCS&#xff0c;使用其导出的.ffe数据&#xff0c;基于MATLAB进行RD算法的ISAR成像。可以直接运行出结果&#xff0c;适合初学者参考和学习&#xff01; 从feko仿真到ISAR成像&#xff0c;全流程数据和代码资料里包括&…...

python半小时入门,剩下靠AI

一、编程基础:变量、注释与命名规范 1.1 什么是变量 Python 是动态类型语言,无需提前声明变量的类型,直接赋值即可创建变量,变量的类型由赋值的数据决定。 # 变量赋值示例 name = "张三" # 字符串类型变量 age = 20 # 整型变量 height = 1.75 # 浮点型…...

FRP + Caddy 域名HTTPS配置指南

FRP Caddy 域名HTTPS配置指南 本指南提供使用FRP内网穿透配合Caddy反向代理实现域名访问和HTTPS加密的完整配置方案 &#x1f4cb; 目录 项目概览准备工作FRP配置Caddy配置服务管理验证测试 项目概览 本方案通过以下组件实现内网服务的外网访问&#xff1a; 用户访问 [域名…...

Matlab:利用势能法和切片法编写关于斜齿轮时变啮合刚度求解模型的Matlab程序,根据端面...

Matlab:利用势能法和切片法编写关于斜齿轮时变啮合刚度求解模型的Matlab程序&#xff0c;根据端面和轴面重合度的大小比较&#xff0c;分为了两种计算方法&#xff0c;以此作为计算&#xff0c;然后根据周期变化计算得到整个啮合过程的综合刚度啮合曲线&#xff0c;并得到拟合公…...

2026年山东选专业联想服务器,SR858等众多型号怎么挑?

在当今数字化飞速发展的时代&#xff0c;服务器作为企业和机构的核心基础设施&#xff0c;其性能和可靠性直接影响着业务的运行和发展。联想服务器凭借其卓越的性能、丰富的功能和可靠的品质&#xff0c;在市场上占据着重要的地位。其中&#xff0c;联想SR858服务器更是一款备受…...