iptables是与Linux3.5版本Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或者LAN、服务器或者连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好的控制IP信息包过滤和防火墙配置。
防火墙在做信息包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息包过滤表中,而这些集成在Linux内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP
信息包过滤系统是一款功能强大的工具,可以用于添加、编辑和移除规则。
虽然netfilter/iptables
IP 信息包过滤系统被称为单个实体,但是它实际上由两个组件netfilter
和 iptables
组成。
netfilter
组件也被称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制包过滤处理的规则集。
iptables组件是一种工具,也称为用户空间(userspace
),它使插入、修改和除去信息包过滤表中的规则变得容易。除非你正在使用 Red Hat Linux 7.1
或者更高版本,否则需要下载该工具并且俺咋混个使用它。
历史版本
与Linux内核各版本集成的防火墙历史版本:
2.0.X内核:ipfwadm
2.2.X内核:ipchains
2.4.X内核:iptables
Iptables 是用来设置、维护和检查Linux内核的IP包过滤规则的。
可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作target
(目标),也可以跳向同一个表内的用户定义的链。