Iptables+layer7的实现

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) ”处主修改如下两个地方:

Iptables+layer7的实现

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)退出,保存

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2c3c79cd1fb9e3d2b422ab43d7e2e88b.html