摘要
ipatables 是一个常用的包过滤防火墙应用。但是,用户的安全设定实际上是由操作系统内部的一个数据包处理模块(netfilter)执行的,我们可以把 iptables 看做一个客户端代理。iptables 的核心为四表五链。四表为 raw 表、mangle 表、net 表、filter 表。五链为 PREROUTING、INPUT、FORWARD、OUTPUT、POATROUTING。我们可以向
iptables 中加入不同的过滤规则,实现特定功能。在本次实验中我们测试了 iptables 的基本
accept、drop、reject 动作和 nat 过滤功能。
然而 netfilter 不带有应用层过滤的功能。想要实现应用层协议的过滤,我们选用了 l7filter。
l7filter 从 2013 年就没有维护,必须选择较老版本的内核才能成功使用 l7filter 提供的过滤协议,在本次实验中我们选用 centos6.9 进行实验。实验需要先对 linux 内核打补丁,增加l7filter 的功能模块。完成试验后,能针对性的过滤应用层协议为 http、qq、迅雷等常见的应用层数据包。
关键字:iptables、l7filter、包过滤、防火墙、应用层网关
目录
第一部分 iptables 4
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1查看规则命令 5
2.1.2添加规则命令 6
2.1.3删除规则 6
2.1.4修改规则 6
2.1.5保存规则 7
2.2实验环境 7
2.2.1配置路由表 7
2.2.2验证配置正确 8
2.3实验内容 9
2.3.1测试基本功能 9
2.3.2NAT 功能测试 11
第二部分 l7filter 12
3 实验 12
3.1准备实验环境 12
3.2实验内容 13
3.2.1编译内核 13
3.2.2安装 iptables 15
3.2.3安装协议特征包 16
3.2.4开始测试 16
第三部分 小结 20
第一部分 iptables
1 简介
1.1iptables 与 netfilter
iptables 其实不是真正的防火墙,我们可以把它看做一个客户端代理。用户通过 ipta-
bles 这个代理,将用户的安全设定执行到 netfilter 中。netfilter 才是真正的防火墙。netfilter 是 linux 操作系统内部的一个数据包处理模块,它具有如下功能:数据包内容修改、数据包过滤的防火墙功能。