防火墙与 Linux 代理效劳器 Linux 提供了一个非常优秀的防火墙工具netfilter/iptables,它免费、功能强大,可以对流入流出的信息进行灵活控制,并且可以在一台低配置机器上很好地运行。一、 netfilter/iptables 简介 Linux 在 2.4 以后的内核中包含netfilter/iptables,系统这种内置的 IP 数据包过滤了具使得配置防火墙和数据包过滤变得更加容易,使用户可以完全控制防火墙配置和数据包过滤。netfiher/iptables 允许为防火墙建立可定制的规那么来控制数据包过滤,并且还允许配置有状态的防火墙。另外,netfiher/iptables 还可以实现 NAT(网络地址转换)和数据包的分割等功能。 netfilter 组件也称为内核空间,是内核的一局部,由一些数据包过滤表组成,这些表包含内核,用来控制数据包过滤处理的规那么集。 iptables 组件是一种工具,也称为用户空间,它使插入、修改和删除数据包过滤表中的规那么变得容易。使用用户空间(iptables)构建自己定制的规那么,这些规那么存储在内核空间的过滤表中。这些规那么中的目标告诉内核,对满足条件的数据包实行相应的措施。 根据规那么处理数据包的类型,将规那么添加到不同的链中。处理入站数据包的规那么被添 加到 INPUT 链中。处理出站数据包的规那么被添加到OUTPUT 链中。处理正在转发的数 据包的规那么被添加到 FORWARD 链中。这二个链是数据包过滤表(filter)中内置的默认主规那么链。每个链都可以有一个策略,即要执行的默认操作,当数据包与链中的所有规那么都不 匹配时,将执行此操作(理想的策略应该丢弃该数据包)。 数据包经过 filter 表的过程如图 1 所示。图 1 数据包经过 fiher 表的过程二、iptables 的语法及其使用通过使用 iptables 命令建立过滤规那么,并将这些规那么添加到内核空间过滤表内的链中。添加、删除和修改规那么的命令语法如下:格式:#iptables [-t table] command [match][target]说明:1、table [ -t table)有三种可用的表选项:filter、nat 和 mansle。该选项不是必需的,如未指定,那么 filter 作为默认表。 filter 表用于一般的数据包过滤,包含INPUT、OUTPUT 和 FORWARD 链。 nat 表用于要转发的数据包,包含PREROUTING、OUTPUT 和 POSTROUTING 链。 manglc 表用于数据包及其头部的更改,包含 PREROUTING 和 OUTPUT 链。2.command command 是 iptables 命令中最重要的局部,它告诉 itables 命令要...