防火墙与 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 命令建立过滤规