MSN: luxuabc@hotmail.com

Linux防火墙介绍

上一篇 / 下一篇  2007-11-22 16:51:35 / 个人分类:测试技术

最近学习了一下Linux防火墙,也就是iptables.现在总结一下给大家分享希望有所帮助:

   早期的Linux系统采用的防火墙是IPFW,其管理程序是ipchains。而现今的发行版都已经采用了新的防火墙架构Netfilter,管理程序是iptables,所以也称作iptables防火墙。

   iptables防火墙是基于表,链和规则来实现的,它有三张表:filter、NAT和mangle。每张表里都有内建的一些规则链(用户也可自定义规则链),规则链顾名思义就是由多条规则组成,每个规则就是一条iptables命令。当数据包进入或输出或转发的时候就会经过相应的规则链,系统会按顺序来匹配这些规则,当匹配其中一条的时候就做这条规则所定义的动作,不再继续匹配后面的规则。如果没有匹配任何一个规则,就进行默认的操作,用户可以定义是接受还是禁止。当然,禁止是安全的选择。

   filter表是默认的表,主要进行数据包过滤功能。有内建的3个规则链INPUT,OUTPUT和FORWARD。INPUT是处理输入或即将进入防火墙的数据的规则链,OUTPUT是处理输出或即将离开防火墙的规则链,FORWARD是处理转发或通过防火墙被送出的数据的规则链。

   NAT表的功能主要就是实现网络地址转换(NAT)。它有3个内建的规则链:PREROUTING规则链在传递入站数据包到路由功能前修改其目的地址(DNAT),OUTPUT规则链指定了在作出路由决定之前对本地产生的出站数据包目的地址的修改,POSTROUTING规则链制定了对将要通过防火墙路由出去的出站数据包源地址的修改(SNAT)。iptables支持4个常见的NAT类型:SNAT、DNAT、MASQUERADE(伪装)和REDIRECT(本地端口重定向)。

   mangle表能够给数据包打上标记或者将一个由Netfilter维护的值与数据包联系起来。它有5个内建的规则链,PREROUTING规则链指定了当入站数据包到达网络接口但还没有作出任何路由或本地传递时对数据包所做的修改。INPUT规则链指定了进行数据包处理时对数据包所做的修改,在PREROUTING后使用。FORWARD规则链指定了对转发出防火墙的数据包所做的修改。OUPUT规则链指定了对本地出站数据包所做的修改。POSTROUTING规则链指定了数据包将要离开防火墙时对数据包所做的修改,在OUTPUT后使用。

   具体一个数据包的过滤流程如下图所示:


TAG: Linux 测试技术 防火墙 iptabls

 

评分:0

我来说两句

Open Toolbar