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

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

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

  #iptables -A INPUT -s 192.168.1.1

  2)指定匹配的网络

  #iptables -A INPUT -s 192.168.1.0/24

  3)匹配指定主机之外的地址。

  #iptables -A FORWARD -s ! 192.168.0.1

  4)匹配指定网络之外的网络

  #iptables -A FORWARD -s ! 192.168.0.0/24

  (3)指定网络接口匹配。

  1)指定单一的网络接口匹配。

  #iptables -A INPUT -i eth0

  #iptables -A FORWARD -o eth0

  2)指定同类型的网络接口匹配

  #iptables -A FORWARD -o ppp+

  (4)指定端口匹配

  1)指定单一的端口匹配。

  #iptables -A INPUT -p tcp-sport www

  #iptables -A INPUT -p tcp-sport 80

  #iptables -A INPUT -p tcp-sport 53

  #iptables -A INPUT -p udp-dport 53

  2)匹配指定端口之外的端口。

  #iptables -A INPUT -p tcp-dport ! 22

  3)匹配指定端口的范围。

  #iptables -A INPUT -p tcp-soprt 22:80

  4)匹配ICMP端口和ICMP类型。

  #iptables -A INPUT -p icmp --icmp-type 8

  5)指定ip碎片

  在TCP/IP通信过程中,每一个网络接口都有一个最大的传输单元(MTU),这个参数定义了可以通过的数据包的最大尺寸。如果一个数据包大于这个参数值时,系统会将其划分成更小的数个数据包(称之为ip碎片)来传输,而接收方则对这些ip碎片再进行重组以还原整个包。

  但是在进行包过滤的时候,ip碎片会导致这样一个问题:当系统将大数据包划分成ip碎片传送时,第一个碎片含有完整的包头信息(IP+TCP、UDP和 ICMP),但是后续的碎片只有包头的部分信息(如源地址、目的地址)。因此,检查后面的ip碎片的头部(就像有TCP、UDP和ICMP一样)是不可能的。假如有这样一条规则:

责编:豆豆技术应用

正在加载评论...