毕业设计论文基于Linux的应用层网关系统设计

上传人:桔**** 文档编号:564834167 上传时间:2023-11-16 格式:DOC 页数:54 大小:841KB
返回 下载 相关 举报
毕业设计论文基于Linux的应用层网关系统设计_第1页
第1页 / 共54页
毕业设计论文基于Linux的应用层网关系统设计_第2页
第2页 / 共54页
毕业设计论文基于Linux的应用层网关系统设计_第3页
第3页 / 共54页
毕业设计论文基于Linux的应用层网关系统设计_第4页
第4页 / 共54页
毕业设计论文基于Linux的应用层网关系统设计_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《毕业设计论文基于Linux的应用层网关系统设计》由会员分享,可在线阅读,更多相关《毕业设计论文基于Linux的应用层网关系统设计(54页珍藏版)》请在金锄头文库上搜索。

1、基于Linux的应用层网关系统设计作者: 专业:计算机科学与技术年级: 2001 学号: 20011161 指导老师: 摘要应用层的网络管理是很多中小型企业在信息化的过程中所面临的难题之一。企业的管理者要保证企业的网络资源用于正常的工作而不是被滥用,除了从制度方面进行限制之外,一个应用层网络管理系统是不可缺少的。本文在对用户需求进行分析的基础上,设计和实现了一个基于GNU/Linux和自由软件的应用层网关系统,并制作了一套基于B/S结构的网关管理软件对网关过滤规则进行管理和维护。本文力求在理论研究的基础上对应用层的网络管理问题给出一种灵活、有效、可靠且低成本的解决方案。关键词:应用层网关,GN

2、U/Linux,iptables,layer7AbstractNetwork management of application layer is one of the difficult problems for the medium and minor enterprise informatization. The administrators of enterprises want to make sure the network resources of enterprises are used in the normal work instead of abusing, so the

3、y must limit from the institution, and a network management system of application layer is indispensable. This text has designed and realized an application layer gateway that based on GNU/Linux and other free software, make network gateway management software, which based on B/S structure to manage

4、 and maintain filter rule. This text tries to provide a flexible, valid, reliable and low cost solution for resolve the problem of application layer network management based on theoretical research.Keywords: Network gateway of application layer, GNU/Linux、iptables、layer7目录绪论11系统目标22系统分析和设计32.1系统分析32

5、.2系统设计42.2.1国内外研究综述42.2.2原型系统43所涉及的技术介绍:64系统具体实现134.1系统原理解析134.2安装配置步骤144.2.1安装GNU/Linux操作系统144.2.2获取软件包144.2.3给内核和netfilter打补丁154.2.4编译、并测试netfilter模块174.2.5编译安装MySQL184.2.6编译安装Apache214.2.7编译安装PHP224.2.8测试安装结果244.3核心代码及分析254.3.1代码功能概述254.3.2登陆模块及验证码264.3.3主界面304.3.4各模块界面324.3.5连接数据库的公用文件代码354.3.6规

6、则数据库结构364.3.7关于文件操作395系统测试415.1测试环境415.2测试用例415.3测试结果445.4存在的问题446总结46致谢47参考文献48附录49绪论一直以来,计算机网络中的防火墙(firewall)或者网关(gateway)对于网络信息的过滤和控制主要体现在对来自或者发往特定端口或者特定IP地址的信息进行匹配。这样的基于网络层的控制在过去很长一段时间是有效的,因为在这个时期出现的大多数的网络应用程序是使用固定端口的,并且服务器的IP地址常常是固定而且明显的。随着网络的发展,很多新的应用程序不再使用固定的端口,服务器和客户机的角色逐渐混淆,服务器的IP地址常常有多个而不是

7、固定在一个地址上。这时候原来的基于网络层的控制就显得不够灵活,甚至完全无法工作。本文通过对NetFilter及相关程序的二次开发,实现了一个快速的、有效的、易管理的应用层网关系统,力求给应用层网络管理提供一种比较好的解决方案。1系统目标可以对客户端能否使用各种网络软件(例如QQ,BT等)进行控制。可以对客户端访问的网址(URL)进行基于字符匹配的过滤。控制的方法是简单的,规则是容易维护的,而且具有很好的灵活性。无论使用者是否有专业知识都能进行基本的维护。系统应具有良好的可扩展性,可以通过添加新模块的方式来进行功能扩展。提供身份鉴别功能,进行规则维护需要提供适当的身份信息。整个系统有效、安全、易

8、管理。2系统分析和设计2.1系统分析系统目标1和2中的要求实际上就是对于应用层数据流的监控。对于数据流的监控一般有两种方式:网关监控和旁路监控。旁路监控多用于监测,很少用于控制。本系统使用的是前者。也就是说,我们的系统是以网关形式存在的。如果需要,它也可以提供DHCP,NAT等服务。现在市场上出售的主流防火墙和路由器等设备,通常只支持网络层的监控,也就是基于IP地址和端口的监控。对于应用层的监控,现有的几种产品的核心技术都是一样的,就是使用基于Linux系统的netfilter/iptables模块,外加上它的layer-7补丁和其他一些补丁。我们这里也是一样的。这个基本架构完全可以实现目标1

9、和2的要求。系统目标3则提出了一个新的问题,即对规则列表的维护。Iptables规则对于非专业人员来说是很晦涩难懂的,更不要说熟练的编写整个规则列表了。所以我们需要编写一个简单明了而又灵活的规则维护和管理系统。市场上的产品对于这个问题的解决有两种模式:C/S和B/S,即使用客户端软件与网关通讯,或者在网关上安装web服务器和相应的脚本解释器,编写web系统来实现对规则的管理。这两种方法各有千秋,一般来说,使用C/S模式的系统安全性和效率都要好一些,但是灵活性不够好。而web系统的灵活性则是非常好的,只要注意编码规范,一样可以保证系统的安全性和效率。本系统中我们使用B/S模式。系统目标4要求了系

10、统的可扩展性,实际上这个特点是由netfilter模块来保证的,它本身是个开放的系统,可以自己编写并添加模块进去。而且网上有很多模块提供下载,保证了系统是可以根据需求被扩展的。系统目标5可以通过web系统的认证模块来实现。如果严格做到15,那么系统目标6也就实现了。2.2系统设计2.2.1国内外研究综述国内的应用层网关,其实也包括世界上95%的同类产品的确是用Linux内核,用NetFilter模块作为核心处理模块。但多数不是用iptables来管理。很多著名的产品都是自已写的用户态程序,目的是适应基于对象的管理。而web管理部分,通常不使用apache因为它太了,也不能用PHP,需要专门的解

11、释器,所以web上一般用的是securehttpd,界面用的是C或者JAVA写的CGI。但是我们这里由于条件的限制,所以只能选择iptables、apache、php。本系统的意义在于实验和小规模的应用,距离市场要求还是有相当程度的距离的。2.2.2原型系统通过对系统目标的分析,我们可以获得一个如下的原型系统。a. 使用GNU/Linux作为操作系统平台;b. 使用NetFilter作为核心处理模块;c. 使用iptables作为用户态软件对NetFilter进行管理;d. 使用一种CGI提供用户管理界面;e. 使用一种数据库存储规则和系统日志;系统的基本结构如下图所示:InternetMyS

12、QL内核模块(NetFilter)iptables脚本(shell)管理界面(PHP)部分访问受限许可访问规则库日志库 本系统的基础是Linux的内核模块NetFilter。当有用户请求抵达内核模块时,NetFilter会根据预先的策略定义对用户请求进行分拣,阻止非法请求,并且允许合法请求。而NetFilter的策略是依靠iptables命令来进行维护的,在本系统中,我们使用一个shell脚本将所有的iptables命令集合起来进行执行。而该shell脚本是如何产生的呢?系统提供了一个基于PHPMySQL的规则维护模块来产生该shell脚本。值得注意的是,这里的规则不同于NetFilter的策

13、略,这里的规则非常简单而容易理解,不需要任何专业的知识也可以对规则进行维护。3所涉及的技术介绍:3.1 linux简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x8 6系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统

14、示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有 Unix操作系统的全部功能,因而开始了Linux雏形的设计。 Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。 Lin

15、ux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。 3.2 netfilter/iptablesnetfilter是一种内核中用于扩展各种网络服务的结构化底层框架。netfilter的设计思想是生成一个模块结构使之能够比较容易的扩展。新的特性加入到内核中并不需要从新启动内核。这样,可以通过简单的构造一个内核模块来实现网络新特性的扩展。给底层的网络特性扩展带来了极大的便利,使更多从事网络底层研发的开发人员能够集中精力实现新的网络特性。netfilter有4大特性:1 每一个协议定义hooks(钩子),IPv4定义了5个钩子,他们遍布协议栈中包传输的整个过程。在每一个点上,协议将使用包和钩子号来调用netfilter框架。2 部分内核可注册后可以为每一个协议监听不同的钩子。因此,当

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号