防火墙与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命令建立过滤规则,并将这些规则添加到内核空间过滤表内的链中
添加、删除和修改规则的命令语法