前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >k8s使用的iptables,具体原理是什么?深入浅出

k8s使用的iptables,具体原理是什么?深入浅出

原创
作者头像
hugo_lei
发布于 2022-08-05 08:22:57
发布于 2022-08-05 08:22:57
1.1K0
举报

1. netfilter

指的是内核中的netfilter框架,这个框架在协议栈中增加了5个hook,并维护内核模块在这些hook的地方注册的callback函数。

1.1. iptables和netfilter的关系

iptables是用户空间的一个程序,通过一定机制和内核的netfilter打交道,负责往hook上配置callback函数。

2. netfilter的5个hook

在这里插入图片描述
在这里插入图片描述

2.1. 数据包常见的三种hook路径

● 本机收到的,目的IP是本机的package:NF_IP_PRE_ROUTING -> NF_IP_LOCAL_IN

● 本机收到的,目的IP不是本机的package:NF_IP_PRE_ROUTING -> NF_IP_FORWARD -> NF_IP_POST_ROUTING

● 本机发出去的package:NF_IP_LOCAL_OUT -> NF_IP_POST_ROUTING

3. hook回调函数:rule

向hook注册的回调函数就是rule,rule = match + target

示例:

#允许ftp服务的21端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT

3.1. match

● -p tcp:--protocol tcp协议

● --dport 21:--destination-port,目的port是21

3.2. target

● -j ACCEPT :接收此package

常见的target有:

● DROP丢弃

● RETURN跳出当前chain

● ACCEPT通过

● QUEUE放入用户空间队列

custom-chain:跳转到用户自定义的chain

4. table:对rule进行分类

rule具备不同的能力,根据rule的能力分为5类,如:

● FIlter表:rule用于过滤

NAT表:rule用于地址转换

● Mangle表:rule用来修改IP数据包头,如修改TTL

● Raw表:rule给package打标记

● Security表:rule和SELinux有关

5. hook如何调rule:hook调chain,chain将rule组织成链

rule有很多很多,hook只有5个点位,hook如何调这么多的rule呢?

答:将rule组织成5条链,每条链对应一个hook

table-chain-rule关系:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 自定义chain

创建自定义chain时需要指定,在哪个table里创建,默认是在filter表。

在nat表里创建自定义chain

iptables -t nat -N CUSTOM_NAT

hook无法直接调用自定义chain,hook调用5大chain,5大chain里的rule通过jump到自定义的chain。

7. 总结

netfilter包的处理流程汇总如下:

● 包按netfilter框架分别经过5个hook点

● 每个hook点调用自己对应的官方chain

● 官方chain串联的rule按类别分散在5张表里

● 官方chain按照预先定义的表的顺序来执行rule

● 表里的rule可以jump到表里自定义的chain

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python+Matplotlib绘制热力图可视化学生成绩辅助分析
热力图是一种通过对特定区域进行着色来展示数据的统计图表,适用于查看数据总体情况、发现异常值、显示多个变量之间的差异以及检测多组数据之间是否存在相关性等场景。
Python小屋屋主
2022/06/05
1.1K0
Python+Matplotlib绘制热力图可视化学生成绩辅助分析
Python使用pandas读取Excel文件多个WorkSheet的数据并绘制柱状图和热力图
问题描述:在当前文件夹中有一个存放同一门课程两个班级同学成绩的Excel文件“学生成绩.xlsx”,每个工作表中存放一个班级的成绩。编写程序,使用pandas读取其中的数据,然后绘制柱状图和热力图对学生的成绩数据进行可视化。
Python小屋屋主
2018/08/20
7.7K0
Python使用pandas读取Excel文件多个WorkSheet的数据并绘制柱状图和热力图
【Unity 实用插件篇】| 可视化图表插件XCharts (折线图、柱状图、饼图等)详细教学
一款基于UGUI的功能强大、简单易用的数据可视化图表插件。支持折线图、柱状图、饼图、雷达图、散点图、热力图、环形图、K线图、极坐标、平行坐标等十多种内置图表,以及3D饼图、3D柱图、3D金字塔、漏斗图、仪表盘、水位图、象形柱图、甘特图、矩形树图等扩展图表。
呆呆敲代码的小Y
2023/07/28
17.3K1
【Unity 实用插件篇】| 可视化图表插件XCharts (折线图、柱状图、饼图等)详细教学
origin绘图同时添加柱状图和折线图
在绘制数据图时,为了清晰反应不同数据之间的关系,往往需要在同一个图中同时添加柱状图和点线图。这时候需要左右两个纵坐标。下面介绍这种图的绘制方法
全栈程序员站长
2022/08/31
18.8K0
origin绘图同时添加柱状图和折线图
使用matplotlib绘制折线图,柱状图,柱线混合图「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138667.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/02
4.2K0
使用matplotlib绘制折线图,柱状图,柱线混合图「建议收藏」
Android——MPAndroidChart折线图/柱状图/饼形图的使用
【背景】:项目中需要使用到图表,于是找了目前非常热门的开源图表,折线图/柱状图/饼图等应有尽有,各种效果实现都很给力,附上github链接,有原DEMO,github是最好的老师,看DEMO例程源码,相比在网上泛泛的查资料要高效的多。https://github.com/PhilJay/MPAndroidChart
Winter_world
2020/09/25
3.7K0
Android——MPAndroidChart折线图/柱状图/饼形图的使用
Python+matplotlib绘制折线图、柱状图、散点图动画并保存GIF
封面图片:《Python程序设计实验指导书》(ISBN:9787302525790),董付国,清华大学出版社
Python小屋屋主
2019/08/15
2.6K0
Python+matplotlib绘制折线图、柱状图、散点图动画并保存GIF
【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
Qomolangma
2024/07/29
2870
【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图
强大的高颜值iOS图表框架AAChartKit,支持柱状图、条形图、折线图、曲线图...
[编辑器不兼容 GitHub 的 markdown,真的蛋疼] 您所喜爱的 AAChartKit 开源图表库现在更有swift版本可供使用,详情请点击以下链接 传送门 https://github.com/AAChartModel/AAChartKit-Swift 前言 AAChartKit 项目,是AAInfographics的 Objective-C 语言版本,是在流行的开源前端图表库Highcharts的基础上,封装的面向对象的,一组简单易用,极其精美的图表绘制控件.可能是这个星球上 UI 最精致的
用户5161443
2019/11/29
5.7K0
【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图
Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:
Qomolangma
2024/07/29
2750
【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图
Echarts——饼图折线图柱状图相互转换
配置项: echarts option codesandbox示例: Echarts数据转换
思索
2024/08/15
1870
Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战
QLineSeries 是 Qt 中的一个类,用于在图表中表示一系列的数据点。它继承自 QAbstractSeries 类,提供了绘制折线图所需的基本功能。
Qt历险记
2024/07/30
1.8K0
Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战
G2 基本使用 折线图 柱状图 饼图 基本配置
  1.浏览器引入 <!-- 引入在线资源 --> <script src="https://gw.alipayobjects.com/os/lib/antv/g2/3.4.10/dist/g2.min.js"></script>
用户1197315
2019/05/25
5K0
利用grafana让mysql数据生成折线图和柱状图
在表中添加如下数据,用来测试,注意create_time特意填入的日期每个都不一样,不是同一天。
用户1696846
2023/08/25
3.1K0
利用grafana让mysql数据生成折线图和柱状图
「AntV」基于 AntV G2Plot 来实现一个 堆叠柱状图 加 折线图 的多图层案例
最近研究了一下antv/g2的组合图例,并尝试做了一个不算太难的组合图,下面介绍一下整个图里的实现过程。
拿我格子衫来
2023/08/24
1.8K0
「AntV」基于 AntV G2Plot 来实现一个 堆叠柱状图 加 折线图 的多图层案例
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
Matplotlib 是一个Python的 2D绘图库。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。 通过学习Matplotlib,可让数据可视化,更直观的真实给用户。使数据更加客观、更具有说服力。 Matplotlib是Python的库,又是开发中常用的库。
爱喝兽奶的熊孩子
2024/04/10
14.9K0
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
Python常用画图代码(折线图、柱状图、饼图)
如何在论文中画出漂亮的插图?: https://www.zhihu.com/question/21664179
godweiyang
2021/01/27
3.5K0
Python常用画图代码(折线图、柱状图、饼图)
【Html.js——echarts 柱形图】学生信息统计(蓝桥杯真题-1843)【合集】
在 echars 图标中,x 轴和 y 轴无论存不存在数据都必须要定义。这个报错主要是因为没有定义 x 轴引起的。
Rossy Yan
2025/01/24
3200
【Html.js——echarts 柱形图】学生信息统计(蓝桥杯真题-1843)【合集】
python基础——json数据及pyecharts入门使用【用pyecharts生成折线图,地图,和动态柱状图】
📝前言: 这篇文章主要记录一下使用pyecharts生成GDP折线图的步骤和过程
用户11029137
2024/04/15
4060
python基础——json数据及pyecharts入门使用【用pyecharts生成折线图,地图,和动态柱状图】
Python数据分析---matplotlib可视化(柱状图和折线图叠加2)
偶然看到网上国家统计数据,利用Python数据分析自己做了几种图表练习。主要采用Pandas来做数据统计,matplotlib来做图表可视化。
MiaoGIS
2020/03/11
2.4K0
Python数据分析---matplotlib可视化(柱状图和折线图叠加2)
推荐阅读
Python+Matplotlib绘制热力图可视化学生成绩辅助分析
1.1K0
Python使用pandas读取Excel文件多个WorkSheet的数据并绘制柱状图和热力图
7.7K0
【Unity 实用插件篇】| 可视化图表插件XCharts (折线图、柱状图、饼图等)详细教学
17.3K1
origin绘图同时添加柱状图和折线图
18.8K0
使用matplotlib绘制折线图,柱状图,柱线混合图「建议收藏」
4.2K0
Android——MPAndroidChart折线图/柱状图/饼形图的使用
3.7K0
Python+matplotlib绘制折线图、柱状图、散点图动画并保存GIF
2.6K0
【深度学习】 Python 和 NumPy 系列教程(十四):Matplotlib详解:1、2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图
2870
强大的高颜值iOS图表框架AAChartKit,支持柱状图、条形图、折线图、曲线图...
5.7K0
【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图
2750
Echarts——饼图折线图柱状图相互转换
1870
Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战
1.8K0
G2 基本使用 折线图 柱状图 饼图 基本配置
5K0
利用grafana让mysql数据生成折线图和柱状图
3.1K0
「AntV」基于 AntV G2Plot 来实现一个 堆叠柱状图 加 折线图 的多图层案例
1.8K0
Python学习笔记之Matplotlib模块入门(直线图、折线图、曲线图、散点图、柱状图、饼状图、直方图、等高线图和三维图的绘制)
14.9K0
Python常用画图代码(折线图、柱状图、饼图)
3.5K0
【Html.js——echarts 柱形图】学生信息统计(蓝桥杯真题-1843)【合集】
3200
python基础——json数据及pyecharts入门使用【用pyecharts生成折线图,地图,和动态柱状图】
4060
Python数据分析---matplotlib可视化(柱状图和折线图叠加2)
2.4K0
相关推荐
Python+Matplotlib绘制热力图可视化学生成绩辅助分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档