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

iptables的状态检测机制

 2006-04-03 12:37:11 来源:WEB开发网   
核心提示: iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT 这链条规则进行如下的过滤: 一个ICMP echo请求是一个NEW连接,因此,iptables的状态检测机制(7),允许ICMP echo请求通

iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT

这链条规则进行如下的过滤:

一个ICMP echo请求是一个NEW连接。因此,允许ICMP echo请求通过OUTPUT链。

当对应的应答返回,此时连接的状态是ESTABLISED,因此允许通过INPUT链。而INPUT链没有NEW状态,因此不允许echo请求通过INPUT链。也就是说,这两条规则允许内部主机ping外部主机,而不允许外部主机ping内部主机。

一个重定向ICMP(5)分组不是基于请求/应答方式的,因此属于RELATED。INPUT和OUTPUT链都允许RELATED状态的连接,因此重定向(5)分组可以通过INPUT和OUTPUT链。

3.FTP协议的状态检测

上面,我们比较详细地介绍了iptables的态检测机制。现在,我们以FTP状态检测为例介绍如何使用iptables进行连接状态检测。

首先,你需要加载ip_conntrack_ftp模块。使用如下规则就可以允许建立FTP控制连接(这里没有考虑IMCP问题):

iptables -A INPUT -p tcp --sport 21 -m state --state ESTABLESED -j ACCEPT

iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISED -j ACCEPT

除了控制连接之外,FTP协议还需要一个数据通道,不过,数据连接可以通过主动和被动两种模式建立,我们需要分别讨论。

3.1.主动模式

在主动模式下,客户程序在控制通道上,使用PORT命令告诉FTP服务器自己这边的数据传输端口,然后FTP从20端口向这个端口发起一个连接。连接建立后,服务器端和客户端就可以使用这个连接传输数据了,例如:传诵的文件、ls等命令的结果等。因此,在主动模式下FTP数据传输通道是反向建立的,它从 FTP服务器端向客户端发起。

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

Tags:iptables 状态 检测

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