给你的主机防火墙添加l7-filter
     linux系统自带的防火墙也可以起到过滤字符串或特定的报文的共能,但是其过滤能力远远有限,不能进行一些常用协议及软件的过滤,如大家最熟悉的QQ、p2p下载协议等,l7-filter 便为我们的防火墙提供了更加强大的过滤功能,对于过滤常见的软件或协议来说不仅不费吹灰之力,操作还极其方简单。
     我们先来认识一下l7-filter
     l7-filter即7层过滤器,L7过滤器是一个软件包,它提供了对Linux的Netfilter的子系统可以基于互联网协议 ,在他们的数据包的应用层数据进行分类的分类。 这个工具的主要目标是使尽可能的识别点对点等节目,使用不可预知的端口号,正因它是为后来才给linux的Netfilter一个软件包,所以我们要为linux的内核选择相对应的l7软件包,对内核打l7补丁,然后重新编辑内核,开启相应的模块功能,因为l7是对iptables的功能提升,也需要对iptables打补丁、重新编译,最终我们再安装一个协议包,这个协议包里包含了l7能够进行过滤的协议即可。
      需要准备的压缩包:
      1、linux-2.6.28.10.tar.gz   因l7的版本对内核版本的限制,内核的版本不要过新。
      2、iptables-1.4.6.tar.bz2    iptables的源码安装包
      3、netfilter-layer7-v2.22.tar.gz l7的源码安装包
      4、l7-protocols-2009-05-28.tar.gz  l7的协议包
 
我们直接开始操作:(说明:只要没有明确操作目录,就不必切换目录)
一、对内核的工作
   1、解压内核和内核补丁:
         tar xvf linux-2.6.28.10.tar.gz -C  /usr/src 
         tar xvf netfilter-layer7-v2.22.tar.gz -C  /usr/src/
         进入工作目录
         cd /usr/src/ 
         创建linux-2.6.28.10的连接linux(关于内核编译的步骤及原理在我博客中有相关的文章,在此不再重复)
         ln -sv linux-2.6.28.10 linux
         cd linux
     2、给内核打补丁
          patch -p1 < ../netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch 
     3、重新配置、编译、安装内核    
          拷贝一个内核配置的样本
          cp /boot/config-2.6.18-164.el5 .config
          make menuconfig 
          根据对内核的配置进行如下修改    
          进入Networking support  --->Networking options  --->Network packet filtering framework (Netfilter)  --->  Core Netfilter Configuration进行如下修改
          <M> Netfilter connection tracking support
          <M>   "string" match support                                          
          <M>   "time" match support 
          <M>   "layer7" match support 
          <M>iprange" address range match support
          <M>   "connlimit" match support
          <M>   "state" match support
          <M>   "conntrack" connection tracking match support
          <M>   "mac" address match support
          <M>   "multiport" Multiple port match support 
          进行完相应的修改之后则保存退出
           编译、安装内核
           make                   编译模块
           make modules_install   安装内核模块
           make install           安装内核
     3、测试新编译的内核      
           用新编译的内核重新启动系统,当系统能正常启动之后再进行下面的操作,不然将出现错误提示。
二、编译安装iptables
     1、备份系统原有的iptables启动脚本和配置文件
           cp /etc/init.d/iptabless ~/iptables  将iptables的启动脚本备份至家目录
           cp /etc/sysconfig/iptables-config ~/  
     2、卸载系统原有的与iptables有关的rpm包
           rpm -e iptables-ipv6 iptables iptstate --nodeps
     3、解压、编译、安装iptables-1.4.6.tar.bz2 源码包
           tar xvf iptables-1.4.6.tar.bz2 -C /usr/src
           cd /usr/src/iptables-1.4.6
           cp ../netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/libx_layer7.* ./extensisons/
           ./configure --prefix=/usr  --with-ksource=/usr/src/linux
            make
            make install
三、编译安装l7-protocols-2009-05-28.tar.gz协议包
      1、解压
            tar xvf l7-protocols-2009-05-28.tar.gz 
      2、编译安装(不需要编译)
            cd l7-protocols-2009-05-28
            make install
四、修改、还原iptables的服务脚本和配置文件
            mv ~/ipitables /etc/rc.d/init.d/
            cd !$
            修改服务脚本
            vim iptables
            在莫行模式下输入
            :%s@/bin/$IPTABLES@/usr/sbin/$IPTABLES@g
     保存退出
            cp iptables-config /etc/sysconfig/   还原配置文件  
     好了,我们就可以启动服务了  
            service iptables start
     到此我们的l7就安装成功我们可以简单练习一下,禁止192.168.10.0/24内的主机上QQ,命令如下:
          iptables -t filter -A FORWARD -s 192.168.10.0/24 -m layer7 --17proto qq -j REJECT 
       
     至于软件或协议的控制也是如此的方便。

转载于:https://blog.51cto.com/aceruser/643995

给你的主机防火墙添加l7-filter相关推荐

  1. Linux iptables 防火墙 添加删除 端口

    Linux iptables 防火墙 添加删除 端口 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 一 ...

  2. 主机防火墙配置模板linux,主机防火墙的设置与优化

    一.设置主机防火墙. 开放: 服务器的:web服务.vsftpd 文件服务.ssh远程连接服务.ping 请求. 1.开放sshd服务 开放流入本地主机,22端口的数据报文.[root@stu13 ~ ...

  3. Centos防火墙添加IP白名单

    Centos iptables防火墙添加IP白名单,指定IP可访问端口 vi /etc/sysconfig/iptables 以下为我虚拟机的防火墙为例(Centos 7) # sample conf ...

  4. 【操作方法】windows防火墙添加出入站规则方法

    [操作方法]windows防火墙添加出入站规则方法 说明 一.入站规则 1.打开防火墙,点击"高级设置" 2.点击"入站规则"后点击"新建规则&quo ...

  5. Windows防火墙添加80端口,解决apache无法访问的问题

    Windows防火墙添加80端口,解决apache无法访问的问题 参考文章: (1)Windows防火墙添加80端口,解决apache无法访问的问题 (2)https://www.cnblogs.co ...

  6. win7防火墙例外设置方法_win7防火墙添加端口方法

    win7防火墙例外设置方法 控制面板(右上角选择查看方式为大图标)---防火墙---高级设置---高级设置---出站规则---最右边 新建规则"新建出站规则向导",在向导的第一步, ...

  7. C#为WindowsDefender防火墙添加出入站规则

    在用C#编写程序的时候碰到添加windows系统自带防火墙出入站规则的问题,在网上查询相关资料只找到添加端口和程序例外的规则参考这里.有没有什么办法能够添加更加通用的,实用的出站规则呢? 微软提供了C ...

  8. 使用iptables实现主机防火墙隔离

    #打开主机防火墙 iptables -P -INPUT DROP #集群内部 iptables -A INPUT -s $ip -j ACCEPT #外部系统访问限制 iptables -A INPU ...

  9. debian 6上安装l7 filter在应用层禁用xunlei

    2019独角兽企业重金招聘Python工程师标准>>> 平台:debian 6 x86_64,在linode里选择内核版本2.6.28,l7 filter官网说改版本内核可用 1,准 ...

最新文章

  1. 下一代防火墙NGFW解读
  2. Day14:使用斯坦福 NER 软件包实现你自己的命名实体识别器
  3. linux fedora35安装deepin-wine:deepin-wine-on-fedora项目
  4. 机器学习之 weka学习(四)
  5. win7锁定计算机会断网吗,win7系统如何设置电脑定时断网
  6. 扫雷java讲解_java课程设计(扫雷游戏)讲解.doc
  7. java点击图片发出声音_Java 中图片和声音文件的加载
  8. 系统学习 TypeScript(四)——变量声明的初步学习
  9. H.264中整数DCT变换,量化,反量化,反DCT究竟是如何实现的?(无代码,无真相)
  10. 使用protues仿真stm32教程
  11. 郑州大学计算机课程表查询,郑州大学研究生课程表
  12. 华3交换机3层vlan隔离配置
  13. 无人驾驶车辆纵向速度PID控制
  14. vue 播放rtmp 直播拉流视频
  15. python 文件操作 os模块和shutil模块
  16. MySQL详解 --- 聚合与分组
  17. 微信小程序开发入门教程(七)
  18. 舔狗日记随机展示网站源码
  19. 关于未来几年家庭信息通讯的几点遥想
  20. 谷歌的两面,威胁背后的苦战

热门文章

  1. html table导出到Excel中,不走后台,js完成
  2. [py][mx]django form验证-给db减压
  3. servlet的几个函数
  4. C# 调用Word(PrintOut) 直接打印,出现“第一节的页边距设于可打印区域之外,是否继续”...
  5. JSP自定义标签开发入门
  6. Direct3D 开发之旅 3D 游戏基本概念的介绍2
  7. 创建yum存储库;文件目录下存RPM包,不挂载镜像,不使用外网yum源;
  8. 【题解】SDOI2008莎拉公主的困惑
  9. 使用Chrome快速实现数据的抓取(四)——优点
  10. 只要你想学,分分钟钟用H5教会你玩转魔方