linux iptables layer7 模块 中文howto(1)(2)
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"(确保在运行这一步骤前已经给内核打过补丁)。
评论暂时关闭