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

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

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

  2.5

  由于防火墙地理位置的优越(往往处于网络的关键出口上),防火墙一般附加了NAT,地址伪装和VPN等功能,这些不在本文的讨论范围。

  三 检测点

  3.0 综述

  包过滤需要检查IP包,因此它工作在网络层,截获IP包,并与用户定义的规则做比较。

  3.1 ipchains

  摘自【3】

  ----------------------------------------------------------------

  | ACCEPT/ lo interface |

  v REDIRECT _______ |

  --> C --> S --> ______ --> D --> ~~~~~~~~ -->|forward|----> _______ -->

  h a |input | e {Routing } |Chain | |output |ACCEPT

  e n |Chain | m {Decision} |_______| --->|Chain |

  c i |______| a ~~~~~~~~ | | ->|_______|

  k t | s | | | | |

  s y | q | v | | |

  u | v e v DENY/ | | v

  m | DENY/ r Local Process REJECT | | DENY/

  | v REJECT a | | | REJECT

  | DENY d --------------------- |

  v e -----------------------------

  DENY

  总体来说,分为输入检测,输出检测和转发检测。但具体到代码的时候,输出检测实际分散到了几处(不同的上层协议走IP层的不同的流程):

  UDP/RAW/ICMP报文:ip_build_xmit

  TCP报文:ip_queue_xmit

  转发的包:ip_forward

  其它:ip_build_and_send_pkt

  正如ipchains项目的负责人Rusty Russell所说,在开始ipchians不久,便发现选择的检测点位置错了,最终只能暂时将错就错。一个明显的问题是转发的包在此结构中必须经过三条链的匹配。地址伪装功能与防火墙模块牵扯过于紧密,如果不详细了解其原理的话,配置规则很容易出错。

责编:豆豆技术应用

正在加载评论...