jspiptables图形管理工具的设计与实现内容摘要:

Netfilter 组件 Netfilter 组件称为内核空间,它集成在 Linux 的内核中。 Netfilter 是一种内核中用于扩展各种网络服务的结构化底层框架。 Netfilter 的设计思想是生成一个模块结构使之能够比较容易的扩展。 新的特性假如到内核中并不需要重新启动内核。 这样,可以通过简单地构造一个内核模块来实现网络新特性的扩展,给底层网络特性扩展带来了极大的便利,使更多从事网络底层 研发人员能够集中精力实现新的网络特性。 Netfilter 的目的是为用户提供一个专门用于包过滤的底层结构,用户和开发人员可以将其内建在 Linux 内核中。 Netfilter 主要有信息包过滤表组成,它包含了控制 IP 包处理的规则集。 根据规则所处理的 IP 包的类型,规则被分组放在链中,从而使内核对来自某些源、前往某些目的 地或具有某些协议类型的信息包处置方法,如完成信息包的处理、控制和过滤等工作。 Iptables 组件 Iptables 组件是一个简洁强大的工具,它被称为用户空间,用户通过它来插入、删除和修改 规则链中的规则,这些规则告诉内核中的 filter 组件如何去处理信息包。 Iptables 工作原理 Iptables 规则表简介 Iptables 与其他包过滤防火墙一样,它的工作原理是对 IP 数据包和规则进行匹配,根据规则表中的规则对 IP 数据包进行进一步的处理。 Iptables 的规则表是保存在一个规则链中的,而规则链是由 Linux 内核进行维护。 在 Iptables中包含以下规则表: ( 1) Filter 表 Filter 表主要用于过滤数据包,该表根据系统管理员预定义的一组规则过第 4 页 共 22 页 滤符合条件的数 据包。 对与防火墙而言,主要是利用在 filter 表中指定的一系列规则来实现对数据包的过滤操作。 ( 2) Nat 表 Nat 表主要用于网络地址转换 NAT,该表可以实现一对一、一对多、多对多等 NAT 工作, Iptables 就是使用该表实现共享上网的功能。 Nat 表包含了PREROUTING 链, OUTPUT 链,和 POSTROUTING 链。 ( 3) Mangle 表 Mangle 表主要用于对指定的包进行修改,因为某些特殊应用可能需要去改写数据包的一些传输特性,例如更改数据包的 TTL 和 TOS 等。 Mangle 表仅包含PREROUTING 链和 OUTPUT 链。 Iptables 的工作流程 当一个数据包到达主机后, iptabels 会按照下图的处理过程对数据包进行处理。 当主机收到数据包后首先会去匹配 mangle 和 nat 表,如果找到相应的匹配规则会按照规则处理,然后再判断是否是发往本机的数据包,如果是发往本机的数据包,则将数据包送往 INPUT 链做相应的处理,如果不是发往本机的,则将数据包发往 FORWARD 链做相应处理。 若是本机产生的数据包,则会先匹配 OUTPUT链的相应规则后再做处理。 概述 系统摘要 Iptables B/S 管理模式实现是一个通过前台 WEB 界面管理 单 网卡模式下Iptables 规则的系统。 它可以提供友好的用户管理界面,让用户在不用输入任何的命令的情况下修改 Iptables 的相应规则,关闭 /启动及重启 Iptables 防火墙,并可以查看 Iptables 相应的配置文件及规则链。 本系统可以在 WEB 前台向Iptables 添加、删除、替换和插入规则,并可以实现基于状态检测防火墙的规则。 系统设计模式 本系统采用 B/S 开发模式,即浏览器 /服务器模式。 这种模式可以节约客户端资源,客户端在不用安装任何软件的条 件下即可使用该系统。 该系统由以下四大部分组成: Iptables 配置主页, Iptabels 各功能界面,客户端表单验证,Iptabels 相关文件及操作。 第 5 页 共 22 页 图 1 系统业务流程图 4 开发环境及 工具 开发环境 表 1 开发环境表 类型 软件 版本 OS Linux Red Hat WebServer JDK Tomcat 浏览器 Inter Explorer 以上 JDK JDK 是 Java 开发工具包( Java Development Kit)的缩写。 它是一种用于构建在 Java 平台上发布的应用程序, Applet 和组件的开发环境和运行环境。 JDK是一切 Java 应用程序的基础,所有的 Java 应用程序是构建在这个之上的。 它包括一组 API 和 JRE( Java 虚拟机),这些 API 也可以说是一些 Java Class,是构建 Java 应用程序的基础,而 Java 虚拟机是运行这些程序的基础。 JSP JSP技术为创建显示动态生成内容的 Web页面提供了一个简捷快速的方法。 JS Iptables 主页 判断用户输入数据是否合法 iptables 相关配置文件 用户数据执行结果 非法数据 合法数据 第 6 页 共 22 页 P技术设计的目的是使得构造基于 Web的应 用程序更加容易和快捷,而这些应用程序能够与各种 Web服务器、应用服务器、浏览器和开发工具共同工作。 JSP页面由Web服务器中的 JSP引擎执行 , JSP引擎接受客户端对 JSP页面的请求 ,并且生成 JSP页面给客户端的响应。 JSP引擎实际上是把 JSP标 签、 JSP页中的 Java代码连同静态 HTML内容都转换为 Java代码 ,这些代码块被 JSP引擎组织到 Java Servlet中 ,然后 Servlet自动把它们编译成 Java字节码 , 这些字节码由 Java虚拟机 (JVM)解释执行。 Tomcat Tomcat 是一个免费的开源的 Serlvet 容器,它是 Apache 基金会的 Jakarta项目中的一个核心项目,由 Apache, Sun 和其它一些公司及个人共同开发而成。 由于有了 Sun 的参与和支持,最新的 Servlet 和 Jsp 规范总能在 Tomcat 中得到体现。 Tomcat 不仅仅是一个 Servlet 容器,它也具有传统的 Web 服务器的功能:处理 Html 页面。 但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。 我们可以将 Tomcat 和 Apache 集成到一块,让 Apache 处理静态 Html,而 Tomcat处理 Jsp 和 Servlet。 这种集成只需要修改一下 Apache 和 Tomcat 的配置文件即可。 开发工具 Eclipse 是一个非常优秀的集成开发环境 ,它旨在简化用于多操作系统软件工具的开发过程 ,可以用于管理多种开发任务 ,其中包括测试、性能调整以及程序调试等 ,而且还可以集成来自多个供应商的第三方应用程序开发工具。 通过集成大量的插件 ,Eclipse 的功能可以不断扩展 ,以支持各种不同的应用。 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具( Java Development Tools, JDT)。 5 系统 构成 本系统主要由系统 JSP前台页面, Java Bean, Java源代码, Linux下 Iptables防火墙配置文件组成。 JSP 前台做用户交互及数据传递操作; Java Bean 可以提高代码的利用率,它封装了一些本系统重复使用的 Java 源代码,如:读文件操作; Java源代码是嵌入到 JSP程序中的,它实现一些基本的简单的功能; Iptabels配置文件, 是用户在修改防火墙设置时,用于被 Java 程序修改的。 第 7 页 共 22 页 添加规则功能模块 本功能模块主要是为添加 Iptables 防火墙规则所用,根据用户输入的源 /目的 IP,源 /目的端口号,协议类型,链名等,修改 Iptables 的配置文件,将用户添加的规则放到 Iptables 配置文件中相应规则链的第一个。 用户在完成添加后,重启防火墙,所添加的规则即可生效。 删除规则功能模块 本功能模块是为用户删除 Iptables 防火墙相应规则设计的。 用户需要在前台 JSP 页面中,输入欲删除的 Iptables 防火墙规则编号及规则链名 , 即可完成删除规则的操作。 用户在完成删除后,重启防火墙后规则生效。 插入规则功能模块 本功能模块是为用户插入 Iptables 防火墙相应规则设计的。 用户可以利用此功能模块,向 Iptables 防火墙插入新的规则,新的规则在用户指定插入位置之前。 用户完成操作后,重启防火墙,新规则生效。 替换规则功能模块 本功能模块是为用户替换 Iptables 防火墙中已存在的规则设计的。 用户在前面页面中输入欲替换的规则编号及替换后的规则,就可以替换 Iptables 中的相应规则。 用户完 成操作后,重启防火墙后,规则生效。 状态机制功能模块 本功能模块可以把 Iptables 配置成基于状态检测的防火墙。 用户可以根据JSP 前台提供的选项完成相关配置工作,相关配置会自动写入 Iptables 配置文件中。 配置这种状态型防火墙可以提高 Iptabels 的工作效率。 同样,用户完成配置后,重启防火墙后,规则生效。 防火墙关闭 /启动功能模块 本功能模块完成 Iptables 防火墙的关闭 /启动操作。 用户只需在前台点击相应按钮,就可实现防火墙的关闭 /重启操作。 防火墙重启模块 本功能 模块完成防火墙的重启功能。 当用户配置完防火墙后,可以通过此模块功能重新启动防火墙,实现加载新规则功能。 第 8 页 共 22 页 读取防火墙配置文件 /规则链模块 本功能完成在前台读取防火墙配置文件 /规则链的功能。 方便用户随时查看防火墙的工作状态及确定配置规则是否生效。 6 系统设计 图 2 系统主页 前台主页是配置防火墙的主要页面。 前台主页包括:基本设置,高级和Iptables 的连接。 基本设置中有添加、删除、替换和插入规则功能;高级中有状态机制,通过状态机制的相关选项可以把防火墙配置成有状态机制的防火墙;Iptables 操作栏中有关闭、启动、重启和删除所有规则的选项,每个选项完成相关操作;页面最上面有配置文件, Iptables 规则链和帮助的连接,通过这些连接,用户可以轻松查看防火墙的相关状态。 第 9 页 共 22 页 图 3 基本功能页面 基本设置中包括:插入、替换、删除、添加功能。 四个功能的基本输入基本相同 用户输入如下: 表 2 基本 功能输入数据表 类 别 合 法 值 初始值 链 名 INPUT/OUTPUT INPUT 规 则 ID 大于 1 的整数 空 协议类型 Linux 规定的协议编号 /协议名 空 IP 地 址 合法 IP 地址,点分十进制表示 空 端 口 号 整数表示,系统所有端口 空 动 作 ACCEPT/DROP ACCEPT 基本设置中的相关功能是通过 Java 程序,修改 Iptabels 配置文件,完成上述功能。 第 10 页 共 22 页 图 4 状态功能页面 状态机制可以通过相关选项把 Iptables 防火。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。