WEB开发网
开发学院网络安全防火墙 iptables的状态检测机制 阅读

iptables的状态检测机制

 2006-04-03 12:37:11 来源:WEB开发网   
核心提示: 在讨论iptables状态检测之前,我们先大体看一下整个netfilter框架,iptables的状态检测机制(2),如果要在两个网络接口之间转发一个分组,这个分组将以以下的顺序接收规则链的检查: PREROUTING链 如果必要对这个分组进行目的网络地址转换(DNAT)和mangle处理

在讨论iptables状态检测之前,我们先大体看一下整个netfilter框架。如果要在两个网络接口之间转发一个分组,这个分组将以以下的顺序接收规则链的检查:

PREROUTING链

如果必要对这个分组进行目的网络地址转换(DNAT)和mangle处理。同时,iptables的状态检测机制将重组分组,并且以以下某种方式跟踪其状态:

分组是否匹配状态表中的一个已经实现(ESTABLISHED)的连接。

它是否是和状态表中某个UDP/TCP连接相关(RELATED)的一个ICMP分组。

这个分组是否要发起一个新(NEW)的连接。

如果分组和任何连接无关,就被认为是无效(INVALID)的。

FORWARD链

把分组的状态和过滤表中的规则进行匹配,如果分组与所有的规则都无法匹配,就使用默认的策略进行处理。

POSTROUTING链

如果有必要,就对分组进行源网络地址转换(SNAT),

注意:所有的分组都必须和过滤表的规则进行比较。如果你修改了规则,要拒绝所有的网络流量,那么即使分组的状态匹配状态表中的一个ESTABLISHED条目,也将被拒绝。

下面,我们对UDP、TCP和ICMP三个协议分别进行分析。

2.2.UDP连接

UDP(用户数据包协议)是一种无状态协议,以为这个协议没有序列号。不过,这并不意味着我们不能跟踪UDP连接。虽然没有序列号,但是我们还可以使用其它的一些信息跟踪UDP连接的状态。下面是状态表中关于UDP连接的条目:

udp 17 19 src=192.168.1.2 dst=192.168.1.50 sport=1032 dport=53 [UNREPLIED] src=192.168.1.50 dst=192.168.1.2 sport=53 dport=1032 use=1

这个状态表项只有在iptables过滤规则允许建立新的连接时,才能建立。以下的规则可以产生这类状态表项,这两条规则只允许向外的UDP连接:

上一页  1 2 3 4 5 6 7  下一页

Tags:iptables 状态 检测

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接