专栏首页pythonloveLinux防火墙iptables(三)
原创

Linux防火墙iptables(三)

Linux防火墙iptables(三)

我们前面两篇已经把iptables介绍的比较充分了,今天来说一个iptables对layer 7的实践。我们说过iptables/netfilter工作在内核空间是不支持应用层协议的,但是诸如QQ、MSN、迅雷等应用我们是无法在传输层或者网络层完全封闭它们的,因为它们非常狡猾发现自己的端口被封掉之后会用其它打开的端口进行传输数据,所以只有在7层中封闭它们才行。所以有人就针对这种情况对iptables/netfilter进行了二次开发,写了一些补丁,我们打上这些补丁可以使iptables支持7层协议。

因为iptables-l7的作者在09年之后就没有在更新过这个补丁,所以它所依赖的内核版本和iptables程序包都比较老,所以我们需要自己编译内核,自己编译iptables才能使用。

我们需要用到以下几个包:

安装编译环境:

创建编译所需用户、解压内核文件:

向内核打layer 7的补丁:

配置并编译内核:

为了节省时间,我们用系统自带的config文件做模板在其基础上进行修改

选择网络功能:

选择网络选项:

选择netfilter模块:

选择netfilter核心配置:

添加支持layer7层模块:

关闭RedHat内核模块校验:

保存退出:

因为红帽为了防止其它人更改其内核模块进行二次发行,所以添加了模块签名机制,我们的模块没有红帽的签名,所以需要关闭这个功能才能编译成功。

#yum install screen -y

#screen

#make –j 4

#make modules_install

#make install

查看新内核是否安装成功:

使用新内核启动:

编译前的准备工作:

编译安装:

设置配套的脚本和配置文件:

安装layer7的补丁:

开启连接追踪功能:

构建实验拓扑:

NAT Server:192.168.1.0/24, 192.168.23.0/24

Client:192.168.23.0/24

创建NAT条目:

可以看到Client的确是通过NAT Server上网的:

现在QQ也可以登录:

设置layer7层条目拒绝QQ:

已经登录失败了:

匹配到的layer7的规则:

还是能够上网:

匹配到的NAT规则:

拒绝QQ连接的原理:

OK,我们的实验成功啦。可以有效的防止QQ登录,但是还可以上网。虽然我们可以完成这样甚至限制更多的7层服务的功能,但是我是不赞成公司使用的,因为只有自由开放的公司才有活力,靠权利去禁止某些东西归根结底治标不治本。如有错误敬请指出。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DNS子域授权、view配置详解

    子域授权:其实就是将一个比较大的域再分割成小区域,每个小区域可以交由一组或多组服务器管理,这些服务器只解析其管辖范围内的域名,超出其范围的解析请求一般会转发给父...

    用户2645267
  • Linux防火墙iptables(二)

    上一篇文章我们说了一些iptables/netfilter的基础知识,本文我们来介绍一下iptables的规则编写。Iptables的规则可以概括的分为两个方面...

    用户2645267
  • Linux防火墙iptables/netfilter(一)

    防火墙大家都不陌生,或者说都听说过,现实中的防火墙是将一个区域内的火隔离开来使之不蔓延到另一个区域,计算机领域的防火墙与之功能类似,也是为了隔离危险。在如今广阔...

    用户2645267
  • 百度web前端面试题之求两个数的最大公约数和最小公倍数

    deepcc
  • Android使用原生动画工具类实现平移动画

    Vance大飞
  • C# 委托

    一、前言:每次看到委托和事件,心理面总是不自在,原因大家都懂,但是委托和事件在.NET FrameWork里面的应用非常的广泛,所以熟练的掌握委托和事件对一个....

    郑小超.
  • 响铃:IP跨界她经济,同道能讲好“单身婚纱”的故事吗?

    国泰君安证券报告显示,女性消费对经济增长的贡献率接近70%,到2019年中国内地女性经济市场规模近将接近4.5万亿元,而家庭消费中,近75%由女性决策。

    曾响铃
  • 【最强ResNet改进系列】Res2Net:一种新的多尺度网络结构,性能提升显著

    【导读】2020年,在各大CV顶会上又出现了许多基于ResNet改进的工作,比如:Res2Net,ResNeSt,IResNet,SCNet等等。为了更好的了解...

    深度学习技术前沿公众号博主
  • Linux基础命令(二)

    tailf /application/nginx/logs/access.log

    小马过河
  • 为什么我的iptables一重启就失效了?

    搭了个VPN,但是默认VPN没有在做转发,用的iptables做的nat转发,可是每次重启,都需要重新执行iptables命令。

    libo1106

扫码关注云+社区

领取腾讯云代金券