防火墙与 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 的语法及其使用通过使用 i