一、简介
iptables layer7的功能可以实现对应用层软件的过滤,例如:限制qq、迅雷等软件,这样对一些公司和学校非常有用。下面介绍具体的实现过程。
二、总体步骤概括
(1)给内核打补丁,并重新编译内核。
(2)给iptables源码打补丁,并重新编译iptables
(3)安装l7proto
三、给内核打补丁并重新编译内核
(1)下载软件包:linux-2.6.28.10.tar.gz,netfilter-layer7-v2.22.tar.gz.
(2)给内核打补丁。执行以下命令。
- #tar zxvf linux-2.6.28.10.tar.gz -C /usr/src (一定要解压到/usr/src中)
- #tar zxvf netfilter-layer7-v2.22.tar.gz -C /usr/src(同上)
- #cd /usr/src
- #ln -s linux-2.6.28.10 linux
- #cd /usr/src/linux/
- #patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.2.22.pach
- #cp /boot/config-2.6.18-164.el5 /usr/src/linux/.config
- #make menuconfig
(3)配置内核参数
- #make
- #make modules_isntall
- #make install
编译安装完内核之,就可以从前系统,进入刚编译好的系统,对iptables打补丁。
四、给iptables打补丁,并重新编译iptables
(1)
- #cp /etc/init.d/iptables /tmp/iptables
- #cp /etc/sysconfig/iptables-config /tmp
这两步的主要功能是为启动iptables而准备,即:可以用service iptables [start|restart|stop]等命令。
(2)
- #rpm -e iptables-ipv6 iptables ipstate --nodeps (此命令卸载原有的iptables)
- 先下载iptables-1.4.6.tar.bz2,然后将其解压到/usr/src目录中
- #tar jxvf iptables-1.4.6.tar.bz2 -C /usr/src
- #cd /usr/src/iptables-1.4.6
- #cp
- /usr/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/
- libxt_layer7.* ./extensions/
- # ./configure --prefix=/usr --with-ksource=/usr/src/linux
- # make
- # make install
安装完成后启动iptables:
- #mv /tmp/iptables-conifg /etc/sysconfig/
- #mv /tmp/iptables /etc/rc.d/init.d/
- #vim /etc/rc.d/init.d/iptables (在末行模式下输入:%s@/sbin/$IPTABLES@/usr/sbin/$IPTABLES@g)
- #service iptables start
五、安装 l7-protocls
- # tar zxvf l7-protocols-2009-05-28.tar.gz
- # cd l7-protocols-2009-05-28
- # make install
六、指定限制QQ规则
- # iptables [specify table & chain] -m layer7 --l7proto [protocol name] -j [action]
- (基本规则)
- # iptables -A FORWARD -m layer7 --l7proto qq -j DROP
转载于:https://blog.51cto.com/qingmu/925779