弄了好几天总算是解决了配置OK后,iptables 服务无法启动的问题

1、下载所需要软件包

linux-2.6.28.tar.gz             
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.gz

iptables-1.4.5.tar.bz2          
http://netfilter.org/projects/iptables/files/iptables-1.4.5.tar.bz2

netfilter-layer7-v2.22.tar.gz   
http://sourceforge.net/projects/l7-filter/files/l7-filter%20kernel%20version/2.22/netfilter-layer7-v2.22.tar.gz/download

l7-protocols-2009-05-28.tar.gz  
http://sourceforge.net/projects/l7-filter/files/Protocol%20definitions/2009-05-28/l7-protocols-2009-05-28.tar.gz/download

2、把以上内核和软件包解压到/usr/src下
tar -zxvf linux-2.6.28.tar.gz -C /usr/src
tar -zxvf netfilter-layer7-v2.22.tar.gz -C /usr/src
tar -zxvf l7-protocols-2009-05-28.tar.gz -C /usr/src
tar -jxvf iptables-1.4.5.tar.bz2 -C /usr/src

3、备份iptable 相关文件

cp /etc/rc.d/init.d/iptables ~/iptables

cp /etc/sysconfig/iptables-config  ~/iptables-config

4、卸载原有的iptable

rpm -e iptables-ipv6  iptables iptstate --nodeps

5、给新内核安装layer7补丁 
cd /usr/src/linux-2.6.28/

给新内核安装layer7补丁 
cd /usr/src/linux-2.6.28/
patch -p1 < /usr/src/netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch

6、编译新内核,修改内核配置项 

make oldconfig

注意:  
全部保持默认,直接回车。
(如果之前曾经编译过,需要先执行 make mrproper 。make oldconfig会自动对比之前的kernel config,根据之前版本的配置生成一个kernel config,这样方便我们在编译新核心的时候,无须在从头修改所有的核心设置)

make menuconfig  (*为编译到内核,M为编译成模块)

General setup  --->
Prompt for development and/or incomplete code/drivers  必选(M)

Networking  --->
Networking options  --->
Network packet filtering framework (Netfilter)  --->
Core Netfilter Configuration  --->   该项下的所有项目建议都选上(M)

<M> Netfilter connection tracking support  这个项目必需选上,下面才会出现layer7的选项
<M>   "layer7" match support         必选                               
          Layer 7 debugging output             必选

IP: Netfilter Configuration  --->    该项下的所有 项目必需都选上(M)

7、编译并安装新内核 
make
make modules_install
make install

8、设置新内核为默认启动的内核
vi /etc/gurb.conf

default=1     把1改为0 
timeout=9     设置等候时间为9秒

保存退出,重新启动系统
reboot
编译内核重启后会报出 insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits,解决方法见下文。

重启登录后检查内核版本:uname -a

Linux bogon 2.6.28 #1 SMP Sat Aug 24 20:31:54 EDT 2013 i686 i686 i386 GNU/Linux

9、编译安装iptables并支持layer7 
cd /usr/src/iptables-1.4.5/
cp /usr/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/*.* extensions/

./configure --prefix=/usr  --with-ksource=/usr/src/linux-2.6.28

make

make install

mv ~/iptables /etc/rc.d/init.d/

mv ~/iptables-config /etc/sysconfig/iptables-config  

ln –sv /usr/sbin/iptables /sbin/iptables

2.6.28.10 内核中 ip_conntrack_ftp 改名为 nf_conntrack_ftp

加模块: modprobe nf_conntrack_ftp

 

10、安装Layer7协议文件


cd l7-protocols-2009-05-28
make install

10、测试iptables版本是否生效 
/usr/local/sbin/iptables -V

显示如下,说明安装成功:
iptables v1.4.5

再来测试layer7模块是否安装成功
/usr/lptables -m layer7 --help

显示如下,说明安装成功:
[root@localhost src]# /usr/local/sbin/iptables -m layer7 --help
iptables v1.4.5

Usage: iptables -[AD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -R chain rulenum rule-specification [options]
       iptables -D chain rulenum [options]
       iptables -[LS] [chain [rulenum]] [options]
       iptables -[FZ] [chain] [options]
       iptables -[NX] chain
       iptables -E old-chain-name new-chain-name
       iptables -P chain target [options]
       iptables -h (print this help information)
。。。。。。。。。。。。。
。。。。。。。。。。。。。
。。。。。。。。。。。。。

layer7 match options:
    --l7dir <directory> : Look for patterns here instead of /etc/l7-protocols/
                          (--l7dir must be specified before --l7proto if used)
[!] --l7proto <name>: Match named protocol using /etc/l7-protocols/.../name.pat

至此安装过程完全完成。(看看你的iptables 能不能通过service iptables start 启动)

 

编译内核重启后会报出 insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits
其实不影响启动,解决方法如下:

1、解压initrd 
cp /boot/initrd-2.6.28.img /tmp 
cd /tmp/

mkdir newinitrd 
cd newinitrd/ 
zcat ../initrd-2.6.28.img | cpio -i 
11264 blocks

2、编辑init,删掉其中重复的两行
echo "Loading dm-region-hash.ko module" 
insmod /lib/dm-region-hash.ko 
echo "Loading dm-region-hash.ko module" 
insmod /lib/dm-region-hash.ko

3、重新打包initrd 
find . | cpio -c -o > ../initrd 
11169 blocks

cd .. 
gzip -9 < initrd > initrd-2.6.28.img

initrd-2.6.28.img就是重新打包的initrd了,然后把initrd.img拷贝到/boot就可以了,再reboot,就不会有之前的错误了。

以下是L7的限制语句

iptables -A FORWARD -m layer7 --l7proto xunlei -j DROP

转载于:https://blog.51cto.com/andy110/1282324

Iptables Layer7禁止QQ、MSN、p2p软件(解决iptable 无法启动)相关推荐

  1. 在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]...

    作者:何祖彬[RobinHe] Mail:zubin.he@gmail.com 始于2008年8月3日 上午 版本号:KernelLayer7-V1.0-20080803,2008年8月3日首版 转载 ...

  2. iptables防火墙详解及使用layer7阻止qq,酷狗,等P2P软件

    iptables防火墙详解及使用layer7阻止qq,酷狗,等P2P软件   防火墙其实就是一个加固主机或者网络安全的一个设备或者软件而已,通过防火墙可以隔离风险区域与安全区域的连接,同时不会妨碍风险 ...

  3. (转)禁止QQ直播、p2p软件的方法

    最近估计大家为这个也犯愁了,刚好找到有文章介绍的 封qq直播端口即可解决此问题.这东西比BT还BT.. 封13000-14000的udp 端口 ---------------------------- ...

  4. 禁止QQ直播、p2p软件的方法

    现在qq直播非常严重,所以很多网管都在烦这个问题.无意中得知! 封qq直播端口即可解决此问题.这东西比BT还BT.. 封13000-14000的udp 端口 --------------------- ...

  5. 【转载】用开源软件搭建企业内部协作平台, Kill QQ MSN

    作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...

  6. 用开源软件搭建企业内部协作平台, Kill QQ MSN

    作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...

  7. 华为路由器:配置禁止P2P软件下载的示例

    配置禁止P2P软件下载的示例 https://support.huawei.com/hedex/hdx.do?docid=EDOC1100007338&lang=zh 企业内用户通过交换机连接 ...

  8. 怎么去禁止QQ的安全组件,来解决QQ和360的冲突问题

    真对于360和腾讯之间的战争,弄得我们现在只能选其一,现在有一个力法来避免这一些的发生. 原理很简单,禁止QQ安全组件的运行. XP系统,在C:\Documents and Settings\Admi ...

  9. WIN7禁止QQ的安全组件,来解决QQ和360的冲突问题

    针对于360和腾讯之间的战争,弄得我们现在只能选其一,现在有一个方法来避免这一些的发生. 原理很简单,禁止QQ安全组件的运行.  WIN7系统,在C:\Users\vinsonzou\AppData\ ...

最新文章

  1. 爬虫必备工具,掌握它就解决了一半的问题
  2. 通过rsync清除目录的shell脚本
  3. Windows10 使用docker toolbox安装docker
  4. Home Assistant 安装Samba和SSH server 插件
  5. MP实战系列(十七)之乐观锁插件
  6. 《玩转D语言系列》二、D语言现状、基本规定和相关资源介绍
  7. 【转】【MySql】Waiting for table metadata lock原因分析
  8. matlab path路径定义文件,MATLAB基本操作(七):有关文件路径的几个函数在编程中的作用...
  9. 软件开发工程师应该具备哪些证书_智能展厅设计应该具备哪些特点?
  10. Highcharts使用=====通过指定日期显示曲线
  11. 端到端测试 VS 单元测试
  12. 取石子游戏(斐波那契博弈)
  13. 智能手环开发之 实现蓝牙(BLE)基本功能
  14. 虚拟化介绍及Docker与传统虚拟化有什么区别
  15. vue项目查看脚手架版本报错
  16. ECCVW 2022 | 第二届城市规模点云语义理解挑战赛
  17. 小米10至尊纪念版和华为mate40的区别 哪个好
  18. python 宝典 笔记 第十二章 存储数据和对象 (各种对象转换成字符串)
  19. 郑和下西洋有两个主要目的:
  20. python进程池multiprocessing.Pool和线程池multiprocessing.dummy.Pool实例

热门文章

  1. 个性化资源管理器软件Q-dir_6.36(附安装包)
  2. 神经网络 | BP神经网络介绍(附源代码:BP神经网络-异或问题)
  3. 北斗导航 | GPS原理与接收机设计——琉璃剑(GPS概述)
  4. ngx_lua操作Redis和Mysql
  5. 套接字有哪些类型?socket有哪些类型?
  6. java实战调用数据库_实战php调用java类由java类读数据库完成相关操作(InberWrite)_PHP...
  7. python3精要(26)-map
  8. tensorflow随笔-条件循环控制(2)
  9. 【深度学习】一文看懂 (Transfer Learning)迁移学习(pytorch实现)
  10. WSDM Cup 2020 引用意图识别赛道冠军解决方案(附答辩视频、PPT和代码)