1、Linux防火墙基础
作为隔离内外网、过滤非法数据的有力屏障,防火墙通常按实现环境的不同分为硬件防火墙和软件防火墙。硬件防火墙是功能专一的硬件设备,具有比较全面的功能,其工作效率较高,但是加个昂贵,通常只应用于非常重要的主干网络节点。而软件防火墙的功能是由操作系统或软件程序实现的,可以在Linux或者Windows等系统平台构建软件防火墙。软件防火墙的价格优势比较明显,配置也相对灵活,如果设置得当,同样可以实现硬件防火墙具有的功能和效率。Internet中有大量的企业网络在使用Linux系统搭建软件防火墙
1.1>、Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(或称网络层防火墙)。Linux的防火墙体系基于内核编码实现,因此具有非常稳定的性能和高效率,也因此被更加广泛采纳和应用。
●>Linux防火墙发展历史
linux内核从很早的时候就实现了网络防火墙的功能,并为用户提供了管理防火墙规则的命令工具。
>>>在2.0版本的内核中,包过滤机制是ipfw,管理防火墙规则的命令工具是ipfwadm。 >>>在2.2版本的内核中,包过滤机制是ipchain,管理防火墙规则的命令工具是ipchains。 >>>在2.4版本的内核开始,包过滤机制是netfiter,管理防火墙的命令工具是iptables。 本文以iptables作为主要命令工具,学习Linux防火墙的配置和使用。 ●>netfiter与iptables
在许多关于防火墙的资料中,netfiter和iptables通常都可以用来指Linux防火墙,往往容易引起混淆。两者的主要区别如下:
>>>netfiter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于“内核态”(Kernel Space,又称内核空间)的防火墙功能体系
>>>iptables: 指的是管理防火墙的命令工具,程序通常位于/sbin/iptables,属于“用户态”(User Space,又称用户空间)的防火墙管理体系。
1.2>、iptables的规则表、链结构
iptables的作用在于为包过滤的实现提供规则(或称策略),通过各种不同的规则,告诉netfiter对来自有些源、前往某些目的地或具有某些协议特征的数据包应该如何处理。为了更方便地组织和管理防火墙策略,iptables采用了“表”和“链”的分层结构。每个规则“表”相当于内核空间的一个容器,根据处理数据包的时机不同,表容器内包括不同的规则“链”。针对特定数据包的各种防火墙规则,按顺序依次放入对应的规则“链”中。