基于Iptables图形管理工具设计
关键词:Iptables防火墙;Browser/Server;包过滤
摘 要
Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。但是,由于种种原因,Iptables一直是使用命令模式管理配置防火墙,这就要求用户必须熟悉Iptables各种繁杂的命令,为用户的使用带来了很多不便。本文设计并实现了一个基于Web的Iptables图形管理工具,通过友好的配置界面,简化了Iptables防火墙的管理配置程序,更方便用户对Iptables防火墙的使用。
本工具采用Browser/Server模式,通过Web配置界面,用户可远程修改Iptables的相关配置文件,从而到达配置Iptables的目的。整个工具由添加/删除规则,插入/替换规则,状态机制,关闭/启动/重启防火墙等几个模块组成。用户只需登陆到配置页面,通过简单的鼠标操作就可以轻松完成防火墙的基本配置工作。
2.4 Iptables工作原理
2.4.1 Iptables规则表简介
Iptables与其他包过滤防火墙一样,它的工作原理是对IP数据包和规则进行匹配,根据规则表中的规则对IP数据包进行进一步的处理。Iptables的规则表是保存在一个规则链中的,而规则链是由Linux内核进行维护。在Iptables中包含以下规则表:
(1)Filter表
Filter表主要用于过滤数据包,该表根据系统管理员预定义的一组规则过滤符合条件的数据包。对与防火墙而言,主要是利用在filter表中指定的一系列规则来实现对数据包的过滤操作。
(2)Nat表
Nat表主要用于网络地址转换NAT,该表可以实现一对一、一对多、多对多等NAT工作,Iptables就是使用该表实现共享上网的功能。Nat表包含了PREROUTING链,OUTPUT链,和POSTROUTING链。
(3)Mangle表
Mangle表主要用于对指定的包进行修改,因为某些特殊应用可能需要去改写数据包的一些传输特性,例如更改数据包的TTL和TOS等。Mangle表仅包含PREROUTING链和OUTPUT链。
2.4.2 Iptables的工作流程
当一个数据包到达主机后,iptabels会按照下图的处理过程对数据包进行处理。
当主机收到数据包后首先会去匹配mangle和nat表,如果找到相应的匹配规则会按照规则处理,然后再判断是否是发往本机的数据包,如果是发往本机的数据包,则将数据包送往INPUT链做相应的处理,如果不是发往本机的,则将数据包发往FORWARD链做相应处理。若是本机产生的数据包,则会先匹配OUTPUT链的相应规则后再做处理。
3.系统概述
3.1 系统摘要
Iptables B/S管理模式实现是一个通过前台WEB界面管理单网卡模式下Iptables规则的系统。它可以提供友好的用户管理界面,让用户在不用输入任何的命令的情况下修改Iptables的相应规则,关闭/启动及重启Iptables防火墙,并可以查看Iptables相应的配置文件及规则链。本系统可以在WEB前台向Iptables添加、删除、替换和插入规则,并可以实现基于状态检测防火墙的规则。
3.2 系统设计模式
本系统采用B/S开发模式,即浏览器/服务器模式。这种模式可以节约客户端资源,客户端在不用安装任何软件的条件下即可使用该系统。该系统由以下四大部分组成:Iptables配置主页,Iptabels各功能界面,客户端表单验证,Iptabels相关文件及操作。
目 录
1引 言 1
2 防火墙基本理论 1
2.1 防火墙技术分类 2
2.1.1包过滤技术 2
2.1.2代理技术 2
2.1.3状态监视技术 2
2.2包过滤防火墙工作原理 2
2.3 Iptables防火墙简介 3
2.3.1 Netfilter组件 3
2.3.2 Iptables组件 3
2.4 Iptables工作原理 3
2.4.1 Iptables规则表简介 3
2.4.2 Iptables的工作流程 4
3.系统概述 4
3.1 系统摘要 4
3.2 系统设计模式 4
4 开发环境及工具 5
4.1 开发环境 5
4.2 开发工具 6
5 系统构成 6
5.1系统基本构成 6
5.2功能模块构成 7
5.2.1添加规则功能模块 7
5.2.2 删除规则功能模块 7
5.2.3插入规则功能模块 7
5.2.4替换规则功能模块 7
5.2.5状态机制功能模块 7
5.2.6 防火墙关闭/启动功能模块 7
5.2.7 防火墙重启模块 7
5.2.8读取防火墙配置文件/规则链模块 8
6 系统设计 8
6.1前台主页设计 8
6.2基本设置功能的设计 9
6.3状态机制功能设计 10
6.4 Iptables操作功能设计 10
6.5 Iptables配置文件/规则链读取功能设计 11
7系统实现 11
7.1基本设置及高级功能实现方法 11
7.2 Iptables操作功能实现 15
7.3读取防火墙配置文件/规则链的实现 16
8开发中遇到的问题及解决办法 18
8.1所遇问题 18
8.2解决办法 18
9系统测试 19
相关热词:JSP 147 基于 Iptables 图形 管理 工具