分类筛选
分类筛选:

关于Iptables论文范文资料 与基于Iptables的Linux防火墙设计和实现有关论文参考文献

版权:原创标记原创 主题:Iptables范文 科目:论文摘要 2024-04-04

《基于Iptables的Linux防火墙设计和实现》:本论文可用于Iptables论文范文参考下载,Iptables相关论文写作参考研究。

摘 要:在对现有防火墙技术分析的基础上,描述了一种基于Linux操作系统下iptables服务的小型防火墙系统.网络管理员可以很方便地通过图形用户界面对其进行配置与管理.该系统具有很好的稳定性与可扩展性,能很好地满足小型企业局域网的安全需求.最后给出了该系统的实现.

关键词:Linux;iptables;防火墙;图形用户界面

中图分类号:TP393.08文献标识码:A文章编号:1672-1098(2009)02-0047-03

随着计算机的普及和互联网的发展,人们的工作、学习和生活已经和网络技术密不可分,网络的安全问题日趋成为人们关注的焦点,防火墙作为一种最为有效地网络安全产品得到了广泛的应用.根据使用的技术不同主要可以将其分为包过滤防火墙、应用层网关防火墙.包过滤防火墙通过检查数据包的地址、协议、端口等信息来决定是否允许此数据*.应用层网关防火墙通过自身复制传递数据,检查进出的数据包,防止在受信主机与非受信主机间直接建立联系.与应用层网关防火墙相比,包过滤防火墙具有速度快、效率高的特点.Linux操作系统性能优异、功能强大,其内核中实现了防火墙组件Netfiher,并通过外部的iptables服务来进行配置.以Linux操作系统和Netfilter/iptables为基础,来实现具有包过滤功能、图形用户界面的局域网防火墙.

1防火墙的结构与功能分析

1.1防火墙系统网络结构

防火墙就是内部网络与外部网络之间的一道安全防护系统.通过对经过的网络数据包的扫描与分析,过滤掉一些网络攻击并阻止非授权用户访问内部网络.从而大大提高内部网络的安全(见图1).图1中的防火墙就是采用了Netfiher/iptables机制的Linux服务器,服务器配置有两块网卡,其中一块连接到外网,另一块与交换机(集线器)相连.这样内部的多台主机就可以通过交换机(集线器)访

1.2防火墙系统功能模块

经过对现有防火墙系统以及iptables的使用和分析,设计了防火墙系统,包括登陆、基本参数设置、元素及规则定义、规则应用、地址扫描、文件管理和登陆设置模块(见图2).

本防火墙系统包括最基本的包过滤和网络地址转换(NAT)功能,它可以满足小型局域网安全性与网络应用.在此基础上添加了MAC地址绑定、自动扫描相邻主机IP地址、基于时间的规则调度以及日志等较为实用的功能.

2防火墙系统实现

2.1界面设计

Qt是跨平台的基于C++语言的图形用户界面(GUI)工具包,它是TrollTeeh公司的标志产品.Qt能以漂亮的用户界面,快速而有效地开发软件.Qt又是一种跨平台的GUI工具包,能确保软件非常方便地应用于绝大多数的操作系统,如Mi—crosoft Windows系列,Linux,Solaris,FreeBSD等.Qt类库拥有超过400个c++类,同时还在不断扩展.它封装了用于端到端应用程序开发所需要的所有基础结构.

采用了Qt库来开发防火墙系统的图形用户界面,使用qt Designer设计了登陆界面、防火墙主界面、登陆设置界面、规则文件管理界面以及帮助界面.其中主界面是防火墙的核心界面,它提供了对主要功能的访问和对参数的设置功能(见图3).

防火墙主界面包括五个标签页,能分别对防火墙基本参数和规则元素及过滤规则进行设置.顶部的功能按钮提供了对不同服务功能模块的访问.

为了使界面中的多个对象之间协同工作,需要应用信号和槽来进行组件通信.信号和槽是一种高级接口,应用于对象之间的通信,它是Qt的核心特性,也是Qt区别于其它工具包的重要地方.信号和槽是Qt自行定义的一种通信机制,它独立于标准的C/C++语言,因此要借助称为MOC(Meta Ob-jeet Compiler)的Qt工具来正确的处理信号和槽,该工具是一个c++预处理程序,它为高层次的事件处理自动生成所需要的附加代码.

2.2底层设计

系统底层需要完成保存用户定义的规则及元素、实现多线程地址扫描、规则的应用以及规则文件的导入和导出等功能.分别进行如下说明:

(1)数据的保存定义了5个链表类:IpList、Group、GroupList、ServiceList和RuleList,用来保存用户定义的IP地址、地址组、服务和防火墙规则.各个类提供了对用户定义数据的添加、修改、删除、查询和排序等功能,通过程序界面的按钮响应函数来调用对应功能.

(2)多线程地址扫描Qt提供了丰富的多线程编程支持,在Qt系统中与线程相关的最重要的类是QThread类,该类提供了创建一个新线程以及控制线程运行的各种方法.为了完成所需要的功能,可以从QThread类派生出自己的线程类,重载它的run()函数以实现自己需要的功能.为了实现多线程之间的通信,该派生类可以使用系统提供的信号与槽机制,因此它必须多继承QThread类与QObject类.并声明其信号和槽.

(3)规则的应用将规则划分为若干规则参数,包括规则类型、源和目的地址、服务、时间调度参数以及对匹配数据包的操作,利用Qt系统函数system()执行包含了各种参数的SHELL语句,通过它调用编写好的SHELL脚本,向iptables中导入用户所定义的防火墙规则.

(4)规则文件导入和导出通过QFile类打开需要写入或读取的文件,再利用它构建QTextStr-eam字符流对象,通过对该对象的操作来逐行的写入或读取规则信息.

2.3时间调度的实现

Iptables在默认安装时并不具备根据时间来进行规则匹配的功能,需要向Linux系统内核的Netfilter添加时间匹配模块time.可以使用Netfil,ter开发组提供的补丁包patch-o-matic来加入时间匹配模块,对内核进行重新配置并编译所需要的模块.之后再重新编译安装新版本的iptables程序,就可以实现基于时间的规则调度.

3结束语

本文所设计的基于Iptables的Linux防火墙具有使用简单、配置容易、功能强大等特点,可以满足中小型企业网络安全防护功能.若将功能再进一步扩展,如添加VPN等功能,即可成为具有大型企业级功能的防火墙.

Iptables论文参考资料:

结论:基于Iptables的Linux防火墙设计和实现为关于对写作Iptables论文范文与课题研究的大学硕士、相关本科毕业论文Iptables论文开题报告范文和相关文献综述及职称论文参考文献资料下载有帮助。

相关免费毕业论文范文

热门有关优秀论文题目选题

和你相关的