1.内核 +7层补丁
2.iptables +l7补丁
IPTABLES 7层过滤
软件环境:
(内核源代码,已不是最新了)
(iptables源代码)
Ubuntu.com/sourceforge/l/l7/l7-filter/netfilter-layer7-v2.20.tar.gz (L7补丁)
(7层协议)
主要目标:
为iptables增加layer7补丁,实现应用层过滤功能,以便能够实现过滤即时通信和下载
软件的流量,及一些流氓软件的流量过滤。
但是我的内核版本是2.6.18-164.el5不支持L7过滤功能,为此我们需要升级一下我的内核版本
1、重新编译内核 将kernel+layer7补丁合并
(Linux内核 在/boot/vmlinuz-2.6.18-164.el5
内核模块 在/lib/modules/2.6.18-164.el5/kernel/)
tar -jxvf linux-2.6.25.19.tar.bz2 -C /usr/src/ --将我上传上去的linux内核源码解压缩
tar -zxvf netfilter-layer7-v2.20.tar.gz -C /usr/src/ --解压缩L7补丁
cd /usr/src/linux-2.6.25.19/
patch -p1 < /usr/src/netfilter-layer7-v2.20/kernel-2.6.25-layer7-2.20.patch --打上L7的补丁
2、配置新内核
cp /boot/config-2.6.18-8.el5 .config --沿用旧的内核配置
make menuconfig --打开配置菜单
//配置内核时依次选择如下,在“Networking ---> Networking Options ---> Network Packet filtering framework (Netfilter) ”处主修改如下两个地方:
1) 在Core Netfilter Configuration ---->中
将“Netfilter connection tracking suport (NEW)”选择编译为模块(M)(按下空格键),需选取此项才能在下面看到layer7支持的配置。
再将layer7、string、state、time、IPsec、iprange、connlimit……等编译成模块(M),一般这些都满足需要了。
2) 在IP: Netfilter Configuration ---->中
将“IPv4 connection tracking support (require for NAT)”编译成模块(M)。
将“Full NAT”下的“MASQUERADE target support”和“REDIRECT target support”编译成模块。
3)退出,保存