基于Linux系统的包过滤防火墙(2)

http://tech.ddvip.com   2006年04月03日    社区交流 收藏本文

本文详细介绍基于Linux系统的包过滤防火墙(2)

  即每分钟所允许的最大包数量为限制速率(本例为3)加上当前的触发阀值burst数。在任何情况下,都可以保证3个包通过,触发阀值burst相当于是允许额外的包数量。

  (4)基于状态的匹配扩展(连接跟踪)。 

  每个网络连接包括以下信息:源地址、目的地址、源端口、目的湍口,称为套接字对(socket pairs);协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些信息称为状态(stateful),能够检测每个连接状态的防火墙叫作状态包过滤防火墙。它除了能够完成简单包过滤防火墙的包过滤工作外,还在自己的内存中维护一个跟踪连接状态的表,比简单包过滤防火墙具有更大的安全性。 iptables与ipchains的不同之处在于iptables可以使用连接状态信息,创建基于包的状态的规则匹配。

  基于状态匹配创建规则的命令格式如下:

  iptables -m state-state [!]state [,state,state,state]

  其中,state表是一个用逗号分割的列表,用来指定的连接状态可以是如下的4种:

  →NEW:该包想要开始一个连接(重新连接或将连接重定向)。

  →RELATED:该包是属于某个已经建立连接所建立的新连接。例如:FTP的数据传输连接和控制连接之间就是RELATED关系。

  →ESTABLISHED:该包属于某个已经建立的连接。

  →INVALID:该包不匹配于任何连接,通常这些包会被DROP。

  例如:

  1)在INPUT链添加一条规则,匹配已经建立的连接或由已经建立的连接所建立的新连接。即匹配所有的TCP回应包。

  #iptables -A INPUT -m state-state RELATED,ESTABLISHED

  2)在INPUTP链添加一条规则,匹配所有从非eth0接口来的连接请求包。

  #iptables -A INPUT -m state-state NEW -i ! eth0

责编:豆豆技术应用

正在加载评论...