iptables编译内核及升级iptables,实现流量控制
| ttp://www.docin.com/fjlinfeng 使用iptables—layer7应用层过滤功能 实验背景描述 在OSI七层参考模型中,应用层属于第七层,对于QQ,MSN,BT下载工具等程序,军事用了相对固定的应用层协议。使用”L7-filter”项目提供的补丁文件包,可以为linux内核,iptables增加应用层过滤的功能,结合其提供的I7-protocols底层协议定一包,能够识别不同应用层协议的数据特性,并方便及时更新。 环境所需四个员吗博爱文件为 Netfilter-layer7-v2.21.tar.gz Linux-2.6.28.8.tar.gz iptables-1.4.2.tar.gz L7-filter项目源码站点在http://l7-filter.sourceforge.net,获得最新的补丁包及协议包。 Linux内核源码包下载站点http://www.kernel.org Iptables源码包下载站点http://www.netfilter.org 实验步骤 1. 重新便已安装linux内核 1) 解压释放netfilter-layer7和linux内核源码包,使用patch工具合并补丁文件。 [root@localhost home]#tar zxvf netfilter-layer7-v2.21.tar.gz -C /usr/local/src [root@localhost home]#tar jxvf linux-2.6.28.8.tar.bz2 -C /usr/local/src [root@localhost home]#cd /usr/local/src/linux-2.6.28.8 [root@localhost linux-2.6.28.8]# patch -1 < ../netfilter-layer7-v2.21/kernel.2.6.25-2.6.28-layer7-2.21.patch 2)重新配置内核编译参数,添加state机制及layer7支持。 [root@localhost linux-2.6.28.8]#cp /boot/config/2.6.18.164.e.15 .config [root@localhost linux-2.6.28.8]#make menuconfig 为了支持应用层过滤功能及数据包的状态跟踪,需要配置“Code Netfilter Configuration” 网络过滤代码配置如下: Networking support ——>Networking Options ——>Networking Packet filtering framework(Netfilter)——>Core Netfilter Configuration ——>依次找到下面几项,并编译为模块[M] 1. Netfilter connection tracking support 2. Layer7 match support 3. String match support 4. Ipranger address range match support 5. Time match support 6. Connlimit match support 7. State match support 功能 “IP Netfilter Configuration” IP包过滤功能配置如下: Networking support——>Networking Optioins——>networking packet filtering framework(Netfilter)——>IP:Netfilter Configuration——>依次找到下面几项,编译为模块[M] 1.IPv4 connection tracking support (require for NAT) 2.Full NAT 及其部分的MASQUERADE target support、REDIRECT target support功能。 然后就一直按‘exit‘,提示保存时选YES保存退出。 3)编译新内核,并安装新内核文件,复制模板文件 [root@localhost linux-2.6.28.8]#make && make modules_install && make install 4)调整GRUB引导菜单,使系统默认为新内核,然后启动 [root@localhost ~]#vim /boot/grub/grub.conf 10 default=0 第十行default值改为0 [root@localhost~]#reboot 升级iptables wget http://ftp.netfilter.org/pub/iptables/iptables-1.4.9.tar.bz2 #解压 tar xjvf iptables-1.4.9.tar.bz2 cd iptables-1.4.9 #安装前配置 ./configure #编译并安装 make & make install 这里,要注意一下,安装的路径是在/usr/local/sbin,我们需要把安装后的文件,替换到/sbin,这样就能完成对iptables文件的升级和替换。 #先停掉正在运行的iptables服务 service iptables stop cd /usr/local/sbin cp /usr/local/sbin/iptables /sbin/ cp /usr/local/sbin/iptables-restore /sbin/ cp /usr/local/sbin/iptables-save /sbin/ #覆盖好文件后,重新启动iptables服务 service iptables start 最后,可以验证一下安装升级是否成功: |
浙公网安备 33010602011771号