3、内核补丁

针对专家的缩写版:应用我们的内核补丁,在netfilter中打开新的匹配选项。

从Layer 7 paches包中选择适当的内核补丁,并给linux内核打补丁(请阅读包里面的readme文件选择合适的文件)。或者根据你的需要设置其他内核版本。

打开EXPERIMENTAL(Device Drivers->Networking support->Networking Options->Network packet filtering),接下来打开connection tracking(Network packet filtering->IP:Netfilter Configuration->Connection tracking)。在同一屏,同样打开Connection tracking flow accounting 和IP tables support。

打开Layer 7 match support,你需要打开其他一些Netfilter选项,比较显而易见的如Ftp support。如果你还不太了解具体的选项含义,那么就打开所有的Layer 7 mach support

向平常一样编译并安装新内核(我们的代码会导致一个警告,不管它),重启,并加载合适的内核。

如何给源代码树加载补丁。

下面给出一个一般适用于任意内核源码的方法。首先把下载得到的补丁源码解压

gunzip layer7-kernel-patch-v.X.Y.Z.patch.gz

bunzip2 layer7-kernel-patch-v.X.Y.Z.patch.bz2

接下来打补丁,在源码的根目录中:

patch -p1 < layer7-kernel-patch-vX.Y.Z.patch

你也会看到别人告诉你"gzip -cd ../patch.gz | patch -p1",这也是管用的。

4、Iptables补丁

给专家的缩写版本:应用我们的iptables补丁,这样添加:"-m layer7 --17proto [http|ftp|etc...]"

使用layer7 patches包中的补丁文件给iptables代码打补丁,完成后,运行chmod +x extensions/ .layer7-test

编译iptables,"make KERNEL_DIR=/path/to/pathed/kernel"。接着用root身份运行"make install KERNEL_DIR=/path/to/pathed/kernel"(确保在运行这一步骤前已经给内核打过补丁)。


相关内容