LinuxDown

LinuxDown.com
Linux系统下载网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux内核中的包过滤引擎的5个检查点

2023年8月18日 78点热度

Netfilter

Netfilter是Linux2.4内核引入的一个子系统,是坐落Linux内核中的包过滤引擎,基于Netfilter可以实现防火墙的相关策略。

Netfilter的构架就是在网路流程中数据包必须经过的位置放置了5个检查点(hook),在每位检查点上登记了一些处理函数进行处理,即钩子函数(hookfunction)。钩子函数实现了每位hook的检测规则链。

这5个hook就是数据包传输路径中的5个控制关卡,任何一个数据包,必然经过其中的一个或某几个。每位hook都对应了一条规则链。

linux中tcp/ip协议实现及嵌入式应用_tcp/ip协议簇及其应用

Netfilter的5个检测点

这5个检测点分别是:

PREROUTING

数据包刚步入网路插口以后linux中tcp/ip协议实现及嵌入式应用,在路由处理之前

INPUT

假如数据包是本机的,则从内核流入用户空间

FORWARD

假如数据包是要转发的,在内核空间中进行路由转发处理,从一个网路插口到另一个网路插口。

OUTPUT

数据包从用户空间流出到内核空间

POSTROUTING

tcp/ip协议簇及其应用_linux中tcp/ip协议实现及嵌入式应用

路由处理过后,数据包离开网路插口前

数据包的传输过程是这样的:

iptables

iptables是拿来管理防火墙的的工具,通过iptables将过滤规则写入内核,Netfilter再按照规则对数据包进行过滤。

实际上iptables是通过调用Netfilter来实现防火墙管理的linux 命令,本身并不具备过滤数据包的功能。iptables程序坐落/sbin/iptables,配置文件坐落/etc/sysconfig/iptables。

不仅Netfilter的5种hook规则链,iptables还有4个规则表。规则表的作用就是容纳各类规则,并与netfilter的5个hook规则链产生一定的对应关系。

规则表

作用

raw表

确定是否对该数据包进行状态跟踪kernel2.6然后加进去的

mangle表

为数据包设置标记

nat表

更改数据包中的源ip、目标ip或端口

filter表

确定是否放行该数据包

tcp/ip协议簇及其应用_linux中tcp/ip协议实现及嵌入式应用

tcp/ip协议簇及其应用_linux中tcp/ip协议实现及嵌入式应用

规则表与规则链的示意图

iptables的包处理流程如右图所示。

linux中tcp/ip协议实现及嵌入式应用_tcp/ip协议簇及其应用

iptables包处理流程

Firewalld

在Linux发行版Rhel7中,默认将防火墙从iptables升级为firewalld。Firewalld自身并不具备防火墙的功能,和iptables一样,也是通过内核的Netfilter来实现。

Firewalld和iptables的作用都是用于维护规则,真正使用规则干活的是内核的Netfilterlinux嵌入式开发,不过Firewalld和iptables的结构以及使用方式不太一样。Firewalld底层一直基于iptables的命令。

linux中tcp/ip协议实现及嵌入式应用_tcp/ip协议簇及其应用

Firewall与iptables的区别

Firewalld将规则定义为zone,一个zone就是一套过滤规则,数据包必需要经过某个zone能够入站或出站。

Firewalld一共定义了9个zone:

总结

Firewalld相对于iptables的主要优点是更人性化,虽然不明白“四张表五条链”,或则对TCP/IP合同也不理解的人,也可以通过配置实现大部份功能。

在Linux发行版中既有iptables防火墙,又有firewalld防火墙。并且同一时刻只能开一个,所以必须得关掉其中一个,通常都是关掉iptables防火墙,打开Firewalld防火墙。

我会持续更新关于物联网、云原生、数字化技术方面的文章,用简单的语言描述复杂的技术,也会时常发表一下对IT产业的想法,请你们多多关注,欢迎留言和转发,希望与你们互动交流linux中tcp/ip协议实现及嵌入式应用,多谢。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 内核 规则 转发 过滤 防火墙
最后更新:2023年8月18日

Linux系统下载网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux系统下载网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
linux web proxy 超越期待!Linux下的高效Web代理服务器及技巧详解 公众号获取账号所属类目的公共库模板标题列表 开源社区评测:Linux游戏开发对比 Linux chown命令:更改文件和目录所有权 高速无线网络畅享,tplink300M Linux驱动带你飞 Linux系统的秘密技巧:轻松修改文件创建日期 Windows远程连接Linux,轻松跨平台操作 关于linux下获取文件的创建时间与实战的相关资料 树莓派Linux系统:极简体验大比拼 Linux系统如何修改文件的时间touch命令的描述指令? Linux上运行exe文件的软件,你绝对不能错过这些 蓝牙耳机怎么连接电脑?笔记本蓝牙适配器的开启方法 全新Linux局域网聊天软件 系统启动时自动运行程序的三种功能方法介绍 Linux系统下载攻略:掌握这些技巧,轻松get Linux查看端口占用情况linux命令:ps、grep、kill 剖析ARM Linux内核:奥秘与精髓解读 康华:Linux内核空间和用户空间的区别及用法 LinuxWine:使用关关采集器的最佳选择 Linux对段式内存映射的支持
Linux操作系统下载:选择适合你的发行版linux web proxy 超越期待!Linux下的高效Web代理服务器及技巧详解ls-alrtAFR-a显建站服务器的参考价值-显Linux查看GTK版本的实用技巧14种嵌入式操作系统的特点及特点解决RedHat浏览器中文乱码问题的七种方法Linux命令行不会删除的文件,很抱歉这个技巧unix系统和linux系统 Unix和Linux系统的经验技巧,你了解吗?lastb列出登入系统失败的用户相关信息补充说明命令嵌入式操作系统的特点及发展前景分析快速定位目标文件,Linux文档管理软件!深入解析Linux网络内核的开发技巧获取UbuntuLinux操作系统的PDF文件文件的基础知识介绍Linux下Python开发经验与技巧分享Linux,下的日志文件系统的载体介绍-苏州安嘉Linux编程:系统IO速度稳定性评测IMAP和POP有什么区别?如何配置邮件客户端使用IMAPLinux轻松下载文件,简单操作!Linux远程主机的指定目录内容的使用命令Linux解压RAR神器,一招搞定zxvf命令
(i春秋)Linux登录密码生成与爆破的详细讲解 魔幻图像编辑器,你值得拥有! Linux完美支持中文,你想知道吗? 掌握Linux内核链接脚本:详解、实践与优化 Win7上安装Linux虚拟机软件的经验分享! 轻松掌握Linux系统培训,快速掌握基本流程及方法 优化Linux内存使用效率,教你查看已使用内存 轻松掌握Linux世界:虚拟机Linux下载文件指南 Wine能让我们在Linux上做哪些操作呢? 探究Linux操作系统的历史与发展,了解这个什么系统? 嵌入式Linux驱动开发(三)-字符设备驱动之中断方式获取按键值 轻松掌握Linux库版本查看技巧-操作系统详解 Linux命令用于显示内存使用情况的free(-bkmotV) 深入了解Linux内核底层奥秘,掌握查看技巧 Linux sol_tcp头文件:实现与应用 树莓派Linux系统:极简体验大比拼 解锁Linux声卡创新 KX驱动,音效焕发新生! node切换工具nvm安装并切换nodejs版本的注意事项! 系统启动时自动运行程序的三种功能方法介绍 Linux系统端口分为3类进行使用方法详解
标签聚合
linux系统 文件 linux服务器 命令 软件 文件目录 电脑 内核 应用 操作
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 96篇
  • 2023年8月 / 122篇
  • 2023年7月 / 122篇
  • 2023年6月 / 119篇
  • 2023年5月 / 123篇
  • 2023年4月 / 113篇
  • 2023年3月 / 265篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 LinuxDown.com ALL RIGHTS RESERVED.

京ICP备14023444号-2