当前位置:首页 > 日记 > 正文

从五个方面分析linux防火墙框架

从五个方面分析linux防火墙框架
点评:在Linux的Netfilter提供了一个抽象的、通用的架构,和一次实施框架中定义的功能是数据包的过滤系统

在Linux系统Netfilter提供了实现该框架的子功能抽象和一般框架是包过滤系统的定义、框架包括以下五个部分:1。对于每一个网络协议(IPv4,IPv6)定义了一组钩子函数(IPv4定义了5个钩子函数)。在数据的几个关键点的钩子函数通过协议栈的报道称,这些点,协议栈将调用Netfilter框架采用数据报和钩子函数标记作为参数。
2的任何模块。内核可以注册每个协议的一个或多个钩子,并实现连接。当一个数据包被传递到内核的Netfilter框架,可以检测任何模块登记协议和钩子函数。如果注册,注册时使用的模块调用回调函数,使这些模块有机会检查(修改)的数据包,丢弃该数据包并指导Netfilter进入包到用户空间的队列。
三.排队的数据包的处理异步发送到用户空间,用户进程可以检查数据包,修改数据包,甚至把数据包通过该钩子函数从内核到4内核。这是任何IP数据包被丢弃在IP层之前,他们是真的放弃了检查。例如,一个模块可以检查IP欺骗包(找出)。

这一点已经在内核中定义的,内核模块可以在这些钩子点注册,可以使用nf_register_hook函数指定。数据称为数据报通过这些钩子函数的时候,这样的模块可以修改数据并返回下列值的Netfilter:
nf_accept继续数据的正常传输
nf_drop丢弃该数据报,不再传输
的nf_stolen模块进行数据报不继续发送数据报
nf_queue队列的数据包(通常是用来处理数据到用户空间)。
nf_repeat调用钩子函数了
数据报选择系统基于Netfilter框架,称为防火墙,应用在Linux2.4内核。事实上,这是一个简单的继承人的工具,但它具有更好的可扩展性。内核模块可以登记一个新的规则表(表)和需要的数据流通过指定的规则表。这个数据包选择用来实现数据过滤(filter表),网络地址转换(NAT表)和数据报处理(mangle表)。三数据处理功能的设置是基于Linux2.4内核的Netfilter钩子函数和IP表。他们是独立的模块,相互独立的。他们完全融入了netfileter框架。
包过滤
过滤器表不修改数据,但只有滤波器的数据报。一方面iptables的优于ipchains是更小、更快。它是通过钩子函数nf_ip_local_in,nf_ip_forward连接到Netfilter框架,并nf_ip_local_out.so只有一个地方的任何数量的报纸进行过滤,这是在利用巨大的改进,因为转发数据报在IPchains穿越三链。
NAT
NAT表听三Netfilter钩子函数:nf_ip_pre_routing,nf_ip_post_routing,和nf_ip_local_out.nf_ip_pre_routing实现地址转换的源地址,需要转发,而nf_ip_post_routing地址需要转发的数据包的地址。对局部数据的目的地址的转换是由nf_ip_local_out.the NAT实现形式不同过滤表,因为只有第一个数据报,新连接将导线的形式,和随后的数据报将根据第一数据结果做同样的变换处理。NAT表中使用源地址NAT,目的地址NAT,伪装(这是源地址转换的一种特殊情况)和透明代理(它是目标NAT的特殊情况)。
数据处理(数据处理)
mangle表是在nf_ip_pre_routing和nf_ip_local_out钩注册。使用mangle表,您可以修改数据或附加了一些波段数据报文。当前mangle表支持TOS位的修饰和skb的nfmard字段的设置。
如果我们要添加自己的代码,我们需要使用nf_register_hook功能。我们的工作是产生结构nf_hook_ops结构和使用nf_register_hook把钩在它的一个实例。其中,我们总是初始化列表项,{零和零};因为PF总是pf_inet当工作在IP层一般;hooknum就是我们选择的钩点;钩点可以挂多个处理功能;谁想看到它第一取决于优先权,即优先的设计。netfilter_ipv4。H指定的内置处理功能的优先级与枚举类型

相关文章

iTunes提示装置误差0xe8000012(溶液

iTunes提示装置误差0xe8000012(溶液

装置,提示,误差,无法连接,溶液,问题: 我想升级我的iPad mini的新系统ios6.1。连接到iTunes后,我暗示我不能连接装置,误差0xe8000012,然后重新安装iTunes。为什么 答案uff1a iPad迷你满足上述情况。如果你的电脑系统是XP,建议删除锁定文件夹下C…

设置方法和win7虚拟内存的关注

设置方法和win7虚拟内存的关注

方法,虚拟内存,设置,电脑软件,点评:内存是计算机的重要组成部分,所有的程序都需要经过内存,虚拟内存被称为技术,部分硬盘当内存使用,下面介绍win7如何设置虚拟内存 众所周知,内存是计算机必不可少的一部分,所有的程序都需要经过内存,如果我们同时做…

PHP内核介绍与扩展开发指南-基础知

PHP内核介绍与扩展开发指南-基础知

开发指南,内核,扩展,基础知识,电脑软件,1。基本知识 本章简要介绍了Zend引擎内部的一些机制,以扩展密切相关,帮助我们写出更高效的PHP代码。 1.1 PHP变量存储 1.1.1 zval结构 Zend使用zval结构存储PHP变量的值,如下所示: 复制代码代码如下所示: …

是arupld32.exe过程有毒吗是arupld

是arupld32.exe过程有毒吗是arupld

过程,电脑软件,exe,点评:arupld32.exe会监视你的浏览行为。这个过程会在后台的工作来回报你的浏览习惯,为经营宗旨 进程文件:arupld32或arupld32.exe 进程名称:arupld32 过程类别:安全风险的过程 英文描述: arupld32.exe是过程监控你的上网习惯…

USB3.0驱动win7系统(AMDA68/A75芯片

USB3.0驱动win7系统(AMDA68/A75芯片

芯片组,系统,电脑软件,计算机处理器是AMD A68,主板是A75芯片组,如果用户使用Win7系统,USB3.0驱动没有安装好。USB3.0驱动与这个驱动程序共享,适用于Windows 7 32bit 位或64位。 USB3.0驱动百度的SkyDrive,点击这里下载。…

为了解决部分的出现并没有结束%端

为了解决部分的出现并没有结束%端

安装系统,多拉,结束,电脑软件,点评:Fedora安装在VMware虚拟机的今天,结果出现部分误差不结束%结束 如下: 当狗被搜查,发现我用VMware向导安装Fedora的。所以,如何解决它。 方法一:不使用VMware的操作系统安装向导 方法二:删除自动安装的CD-ROM…

MySQLbinlog二进制日志的详细解释

MySQLbinlog二进制日志的详细解释

解释,二进制日志,详细,电脑软件,MySQLbinlog,基本概念 定义 uff1a 二进制日志包含更新数据或潜在更新数据的所有语句(例如,不匹配任何行的删除)。 uff1a效应 1、二进制日志的主要目的是将数据库恢复到尽可能大的更新,因为二进制日志包含备份之…

AmethodofrefusingshutdownduringW

AmethodofrefusingshutdownduringW

电脑软件,AmethodofrefusingshutdownduringWinXPsystemlocking,点评:这篇文章主要介绍了拒绝关闭WinXP系统锁定在该方法中,需要的朋友可以参考一下。 作为上班族,在机器的过程中,经常被事务性的工作,需要暂时离开办公室去分发文件,方便和安全的需…

停在屏幕在Windows启动时win7启动(

停在屏幕在Windows启动时win7启动(

启动,解决方案,屏幕,停在,启动时,问题: 该系统使用U盘安装win7的笔记本。在安装过程中重新启动时,它停留在Windows引导屏幕上,并且不继续安装。同样,XP系统的安装非常顺利。原因何在 答案uff1a 根据这一点,它可能是GHOST版的系统有问题。因为G…

Oracle删除表字段和Oracle表以添加

Oracle删除表字段和Oracle表以添加

字段,删除表,电脑软件,Oracle,添加的字段的语法:tablename表添加(列数据类型的默认值} { {空/非空},…); 修改字段的语法:tablename表的修改(列数据类型的默认值} { {空/非空},…); 删除该字段的语法:去掉表(列); 添加、修改、删除多栏,用逗号隔开。 …

如何在Windows中启用自动登录是自

如何在Windows中启用自动登录是自

执行,启用,登录,自动登录,过程,注释:通过将密码和其他相关信息存储在注册表数据库中,Windows被配置为自动执行登录过程。此功能允许其他用户启动您的计算机并自动登录您的帐户,感兴趣的朋友可以理解它。 本文介绍如何配置Windows,通过在注册表…

深入理解linux页面缓冲区缓存

深入理解linux页面缓冲区缓存

缓存,页面,电脑软件,linux,评论:页面缓存和缓存缓存一直是两个混淆的概念,在这段时间内我工作,页面缓存和缓存缓存的概念让我困惑,如果您能理解两个缓存的本质,那么我们在分析IO问题时就更方便了。 页面缓存和缓冲区高速缓存已两混淆的概念,在互…