--------使用layer7应用层过滤功能---------------
默认 netfilter/iptables 体系的不足
以基于网络层的数据包过滤机制为主,同时提供少量的传输层、数据链路层的过滤功能
难以判断数据包对应于何种应用程序(如QQ、MSN)
netfilter-layer7 补丁包的作用
由“L7-filter”项目提供
源码站点位于 http://l7-filter.sourceforge.net
通过为Linux内核、iptables添加相应的补丁文件,重新编译安装后提供基于应用层(第7层)的扩展功能
通过独立的 l7-protocols 协议包提供对各种应用层数据的特征识别定义,便于更新
整体实现过程
添加内核补丁,重新编译内核,并以新内核引导系统
添加iptables补丁,重新编译安装iptables
安装l7-protocols协议定义包
使用iptables命令设置应用层过滤规则
使用的软件包列表
Linux内核源码包:linux-2.6.28.8.tar.bz2
iptables源码包:iptables-1.4.2.tar.bz2
layer7补丁源码包:netfilter-layer7-v2.21.tar.gz
协议定义包:l7-protocols-2009-05-10.tar.gz
--------重新编译新内核-------------
释放内核源码包,并合并补丁
[root@localhost ~]# tar zxvf netfilter-layer7-v2.21.tar.gz -C /usr/src/
[root@localhost ~]# tar jxvf linux-2.6.28.8.tar.bz2 -C /usr/src/
[root@localhost ~]# cd /usr/src/linux-2.6.28.8
[root@localhost linux-2.6.28.8]# patch -p1 < ../netfilter-layer7-v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch
---------配置内核编译参数------------

复制当前系统使用的内核配置文件,以此作为基础
当前系统的内核配置文件:/boot/config-2.6.18-8.el5
源码目录的默认配置文件名:.config
进入源码目录,执行“make menuconfig”命令
在配置界面中的操作
方向键 ?、?、?、? 用于定位功能项、菜单项
菜单项