iptables防火墙详解(四)使用layer7添加应用层过滤功能

在前面的几遍文章中我学习了Linux防火墙iptables,大家也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。以基于网络层的数据包过滤机制为主,同时提供少量的传输层、数据链路层的过滤功能。难以判断数据包对应于何种应用程序(如:QQ MSN等)

安装netfilter-layer7补丁包的作用

通过为Linux内核、iptables添加相应的补丁文件,重新编译安装后提供基于应用层(第7层)的扩展功能。

通过独立的l7-protocols协议包提供各种应用层数据的特征识别定义,便于更新。

整体实施过程

添加内核补丁,重新编译内核,并以新内核引导系统。

卸载原有的iptables,给下载的iptables包打上补丁,并重新编译安装。

安装i7-protocols协议定义包。

使用iptables命令设置应用层过滤规则。

使用的软件包列表如下:

Linux内核源码包:linux-2.6.28.tar.bz2                可点击这里下载其他linux内核版本

iptables源码包:iptables-1.4.2.tar.bz2               可点击这里下载其他iptables源码包

layer7补丁包源码包:netfilter-layer-v2.21.tar.gz     可点击这里下载layer7和协议定义包

协议定义包:l7-protocols-20090510.tar.gz

作者使用的是2.6.18的内核,iptables版本是1.3.5,所以使用上述软件包可以满足,如果大家使用的内核版本较高,可以根据实际情况下载相应的版本软件包。

iptables防火墙详解(四)使用layer7添加应用层过滤功能

操作工程如下:

释放内核源码包,并合并补丁。

iptables防火墙详解(四)使用layer7添加应用层过滤功能

复制当前系统使用的内核配置文件到内核源码目录改名为“.config”,以此作为基础进行配置内参数。

iptables防火墙详解(四)使用layer7添加应用层过滤功能

执行完"make menuconfig"命令后会进入内核编辑模式,在内核编辑模式中,操作方式如下:

方向键á、a、、à用于定位功能项,菜单项。

菜单项