netfilter和iptables啥关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了netfilter和iptables啥关系相关的知识,希望对你有一定的参考价值。

对于Internet上的系统,不管是什么情况都要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。Linux提供了一个非常优秀的防火墙工具—netfilter/iptables。它完全免费、功能强大、使用灵活、可以对流入和流出的信息进行细化控制,且可以在一台低配置机器上很好地运行。本文将简单介绍使用netfilter/iptables实现防火墙架设和Internet连接共享等应用。netfilter/iptabels应用程序,被认为是Linux中实现包过滤功能的第四代应用程序。netfilter/iptables包含在2.4以后的内核中,它可以实现防火墙、NAT(网络地址翻译)和数据包的分割等功能。netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。netfilter/iptables从ipchains和ipwadfm(IP防火墙管理)演化而来,功能更加强大。下文将netfilter/iptabels统一称为iptables。可以用iptables为Unix、Linux和BSD个人工作站创建一个防火墙,也可以为一个子网创建防火墙以保护其它的系统平台。iptales只读取数据包头,不会给信息流增加负担,也无需进行验证。要想获得更好的安全性,可以将其和一个代理服务器(比如squid)相结合。基本概念典型的防火墙设置有两个网卡:一个流入,一个流出。iptables读取流入和流出数据包的报头,将它们与规则集(Ruleset)相比较,将可接受的数据包从一个网卡转发至另一个网卡,对被拒绝的数据包,可以丢弃或按照所定义的方式来处理。通过向防火墙提供有关对来自某个源地址、到某个目的地或具有特定协议类型的信息包要做些什么的指令,规则控制信息包的过滤。通过使用iptables系统提供的特殊命令iptables建立这些规则,并将其添加到内核空间特定信息包过滤表内的链中。关于添加、去除、编辑规则的命令,一般语法如下:iptables [-t table] command [match] [target]1.表(table)[-t table]选项允许使用标准表之外的任何表。表是包含仅处理特定类型信息包的规则和链的信息包过滤表。有三个可用的表选项:filter、nat和mangle。该选项不是必需的,如果未指定,则filter作为缺省表。各表实现的功能如表1所示。表1 三种表实现的功能2.命令(command)command部分是iptables命令最重要的部分。它告诉iptables命令要做什么,例如插入规则、将规则添加到链的末尾或删除规则。表2是最常用的一些命令及例子。3.匹配(match)iptables命令的可选match部分指定信息包与规则匹配所应具有的特征(如源地址、目的地址、协议等)。匹配分为通用匹配和特定于协议的匹配两大类。这里将介绍可用于采用任何协议的信息包的通用匹配。表3是一些重要且常用的通用匹配及示例说明。4.目标(target)目标是由规则指定的操作,对与那些规则匹配的信息包执行这些操作。除了允许用户定义的目标之外,还有许多可用的目标选项。表4是常用的一些目标及示例说明。除表4外,还有许多用于建立高级规则的其它目标,如LOG、REDIRECT、MARK、MIRROR和MASQUERADE等。 参考技术A 没关系哦i偶iuuuu和hi hiiihg;了 了了了了夸奖几句话 哈哈哈哈哈哈

iptables技术入门

1- 概述

___ netfilter/iptables: IP 信息包过滤系统,实际由两个组件netfilter和iptable组成。

1.1- netfiler/iptables关系:

  1. netfilter组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包和过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
  2. iptables组件试试一种工具,也称为用户空间(userspace),它使插入、喜欢和除去信息包过滤表中的规则变得容易。

1.2- iptables链表

___ iptables是基于内核的防火墙,功能非常强大。内置了filter,nat和mangle,raw四张表。所有规则配置后,立即生效,不需要重启服务。

  1. filter负责过滤数据包,包括规则链有:input, output,forward
  2. natS涉及网络地址转换,包括规则链有: prerouting,postrouting和output
  3. mangle主要应用在修改数据包内容上,用来做流量整形,给数据包打标识,规则链有: input,output,nat,postrouting,prerouting
  4. raw 用于处理异常,一般使用不到,包括规则链有:prerouting,output。

1.3- 五个链

  1. input: 匹配目标ip是本机的数据包
  2. output: 出口数据包,一般不在此链上做配置
  3. forward: 匹配流经本机的数据包
  4. prerouting:用来修改目的的地址,用来做DNAT。如:把内网中的80端口映射到路由器外网端口上
  5. postrouting:用来修改源地址用来做SNAT。 如: 内网通过路由器NAT转换功能实现通过一个公网地址上网

1.4- 总结

iptables四张表,五链,结构如下:
技术图片

1.5- 流量包经过顺序

以上是关于netfilter和iptables啥关系的主要内容,如果未能解决你的问题,请参考以下文章

Linux防火墙简介 – iptables配置策略

iptables防火墙基础

iptables技术入门

软件防火墙之iptables/netfilter概念篇(一)

Android网络安全:Netfilter与iptables

iptables防火墙