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

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

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

  (2)内核空间接管过滤工作。当规则建立并将链放在filter表之后,    就可以开始进行真正的信息包过滤工作了。这时内核空间从用户空间接管工作。

  包过滤工作要经过如下的步骤:

  1)路由。当信息包到达防火墙时,内核先检查信息包的头信息,尤其是信息包的目的地。我们将这个过程称为路由。

  2)根据情况将数据包送往包过滤表(filter)的不同的链。

  →如果信息包源自外界并且数据包的目的地址是本机,而且防火墙是打开的,那么内核将它传递到内核空间信息包过滤表的INPUT链。

  →如果信息包源自系统本机,并且此信息包要前往另一个系统,那么信息包被传递到OUTPUT链。

  →信息包源自广域网前往局域网或相反方向的信息包被传递到FORWARD链。

  3)规则检查。将信息包的头信息与它所传递到的链中的每条规则进行比较,看它是否与某条规则完全匹配。

  →如果信息包与某条规则匹配,那么内核就对该信息包执行由该项规则的目标指定的操作。

  &如果目标为ACCEPT,则允许该信息包通过,并将该包发给相应的本地进程处理。

  &如果目标为DROP或REJECT,则不允许该信息包通过,并将该包阻塞并杀死。

  →如果信息包与这条规则不匹配,那么它将与链中的下一条规则进行比较。

  →最后,如果信息包与链中的任何规则都不匹配,那么内核将参考该链的策略来决定如何处理该信息包。理想的策略应该告诉内核DROP该信息包。

  1.2.5 Red Hat linux 9中的Netfilter/iptables

  Red Hat linux 9使用2.4版本的内核,并且内核的编译选项中包含对Netfilter的支持,同时iptables软件包是被默认安装的,所以可以直接使用。

  另外,为了完成转发功能,必须打开系统内核的IP转发功能。使Linux变成路由器。

  在Red Hat中有两种方法:

  (1)修改内核变量ip_forward

  #echo “1”>;/proc/sys/net/ipv4/ip_forward

  (2)修改脚本/etc/sysconfig/network。

  将FORWARD_IPV4=false

  改为FORWARD_IPV4=true

责编:豆豆技术应用

正在加载评论...