在RedHat AS中默认情况下防火墙是开启,在桌面环境中可通过“system-config-securitylevel”打开图形界面进行配置。
iptables使用netfilter架构,在linux内核中管理报文过滤。iptables使用一种涉及内核的数据报文的完整架构,这种数据框架在内核中被称为表,涉及有表一共有三个:
1、报文数据过滤表(filter表);
2、网络地址转换表(NAT表);
3、报文数据修复表(mangle表);
所有的数据都将流经这三个表中的至少一个表。这种数据包处理机制用于实现数据报过滤、网络地址转换及数据报处理。netfilter的处理架构如下图:
由图可见,每个表中又包含链和规则。每个规则还包含规则标准、规则对象和规则操作。当规则对象完全符合标准时,操作便会应用于报文。
filter表不会修改数据报,而只对数据报文进行过滤。因此filter表中包含的INPUT、FORWARD及OUTPUT三个链不包含修改功能,全部是过滤作用。其中INPUT链包含着用来检测入站数据报文的规则;FORWARD链负责处理正在转发的信息包的规则;OUTPUT链包含用来检测过滤出站数据报文的规则。
NAT表的主要作用是进行网络地址转换,即转换数据报文中的IP地址,也称之为IP伪装。NAT表包含PREROUTING、POSTROUTING及OUTPUT三个链,其中PREROUTING包含路由前的规则,转换需要转发数据包的目的地址,POSTROUTING包含路由后规则,转换需要转发的数据报的源地址。对于本地数据报目的地址的转换,则由OUTPUT来实现。
mangle表的主要作用是可以实现路由前对数据报文的报头修改,或者给数据报文附上一些外带数据。mangle表有两种链:PREROUTING和OUTPUT。
数据包一到达防火墙就改变它们的规则组成的是PREROUTING链,数据在离开防火墙时才改变它们的规则组成的是POSTROUTING链。