linux防火墙实现技术比较(1)

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

本文详细介绍linux防火墙实现技术比较(1)

  {

  ...

  /*man register_chrdev

  On success, register_chrdev returns 0 if major is a number

  other then 0, otherwise Linux will choose a major number and

  return the chosen value.*/

  if(fw_major=register_chrdev(UNNAMED_MAJOR, “fw”, &fw_fops))

  return -1;

  ...

  }

  void cleanup_module()

  {

  ...

  unregister_chrdev(fw_major, "fw");

  ...

  }

  fw_ioctl()用来做配置工作。

  六 碎片的处理

  6.0 综述

  关于分片重组的实现可参看【13】。

  6.1 ipchains

  在2.2内核中除非设置了alway_defrag,否则包过滤模块不会对经过的包进行重组。它采用的办法是只看第一片,因为只有这一片中有完整的头信息,而后序的分片一律允许通过。为了防止分片欺骗(比如第一片极小,把传输层信息放到了第二片中),对这种正常情况中不可能出现的包做了而外的处理(太小的分片会被丢弃)。

  6.2 iptables

  在2.4内核有些变化,如果启动了conncetion track,所有到达防火墙的碎片都会重组,这点在以后可能会变化,正如howto 中说的,现在考虑的还只是功能的完备性,效率还要在以后的版本中改进。检测点也有了变化,输入检测在改在重组之后。

  6.3 FW1

  FW1对分片也做了额外处理,但目前尚未对其实现做仔细的分析。

  七 状态检测

  7.0 综述

  基于状态的检测对管理规则提出了非常大的方便,现在已成了防火墙的一项基本要求。但目的明确之后,其实现可以选择多种不同的方法。

  7.1 ipchains

  ipchains本身不能完成状态检测,但有几份pacth为它做了一下这方面的补充,采用的是简单的动态添加规则的办法,这是作者对其的介绍:

责编:豆豆技术应用

正在加载评论...