linux iptables L7-filter
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-17
一、L7-filter介绍
TCP/IP模块总共包含四层,在L7-filter之前,netfilter可以过滤前三层数据,分别为网络接口层,网络层,传输层,具体实现方法如下:
Network access layer: iptables -A CHAIN -m mac --mac-source …" Internet: iptables -A CHAIN -s IP_ADDRESS …" Transport: iptables -A CHAIN -p tcp --dport 80 … 三层间可以进行任意的组合,如下实例: iptables –A FORWARD –s 192.168.0.2 –p tcp -–dport 80 –m mac –-mac-source 00:01:BC:2D:EF:2A –j DROP" L7-filter在增加了一个新的功能至netfilter中,匹配的数据包属于哪一个应用程序,发现TCP/IP四层,一个非常重要的事情是,L7-filter是iptables的一个匹配选项,,可以做为所有规则的另一个匹配选项,因此,可以在所有的操作上使用iptables上是使用L7-filter来匹配数据包. L7-filter包含了下列三个重要的部分: 内核补丁:这是提供了内核分析IP数据包头部信息的方法. iptables 补丁:其为iptables提供了匹配选项 集合模式档案:其提供了正则表达式所支持的协议 二、安装L7-filter 参考文档: http://l7-filter.sourceforge.net/L7-HOWTO-Netfilter http://www.netfilter.org/documentation/HOWTO//netfilter-extensions-HOWTO.html Applying the Kernel Patch The first step is to download the kernel source we want from http://www.kernel.org. Next, we need to download L7-filter from http://l7-filter.sourceforge.net. For this chapter, we used kernel source 2.6.12.5 and L7-filter version 2.0 beta. After downloading what you need to the /usr/src folder, unzip the L7-filter TAR archive as follows: router:/usr/src# tar xfvz netfilter-layer7-v2.0-beta.tar.gz netfilter-layer7-v2.0-beta/ netfilter-layer7-v2.0-beta/stray_code netfilter-layer7-v2.0-beta/for_older_kernels/ netfilter-layer7-v2.0-beta/for_older_kernels/ kernel-2.6.9-2.6.10-layer7-1.2.patch netfilter-layer7-v2.0-beta/for_older_kernels/ kernel-2.6.0-2.6.8.1-layer7-0.9.2.patch netfilter-layer7-v2.0-beta/for_older_kernels/ kernel-2.6.11-2.6.12-layer7-1.4.patch netfilter-layer7-v2.0-beta/CHANGELOG netfilter-layer7-v2.0-beta/README netfilter-layer7-v2.0-beta/iptables-layer7-2.0.patch netfilter-layer7-v2.0-beta/kernel-2.6.13-layer7-2.0.patch netfilter-layer7-v2.0-beta/kernel-2.4-layer7-2.0.patch router:/usr/src# Next, go to the kernel source root and patch the kernel using the appropriate patch: router:/usr/src/linux-2.6.12.5# patch -p1 < ../netfilter-layer7-v2. 0-beta/for_older_kernels/kernel-2.6.11-2.6.12-layer7-1.4.patch patching file include/linux/netfilter_ipv4/ip_conntrack.h patching file include/linux/netfilter_ipv4/ipt_layer7.h patching file net/ipv4/netfilter/Kconfig patching file net/ipv4/netfilter/Makefile patching file net/ipv4/netfilter/ip_conntrack_core.c patching file net/ipv4/netfilter/ip_conntrack_standalone.c Hunk #1 succeeded at 189 with fuzz 2 (offset 37 lines). patching file net/ipv4/netfilter/ipt_layer7.c patching file net/ipv4/netfilter/regexp/regexp.c patching file net/ipv4/netfilter/regexp/regexp.h patching file net/ipv4/netfilter/regexp/regmagic.h patching file net/ipv4/netfilter/regexp/regsub.c router:/usr/src/linux-2.6.12.5# Next, run make config, make menuconfig, or make Xconfig. You need to enable the f |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于linux iptables L7-filter的所有评论