基于BIND的域名管理系统研究与设计

2011-04-14 03:35周德荣田关伟四川民族学院网络信息中心四川康定626001
长江大学学报(自科版) 2011年19期
关键词:域名视图数据库

周德荣,夏 龄,舒 涛,田关伟 (四川民族学院网络信息中心,四川 康定626001)

域名系统 (Domain Name System,DNS)是一项基础性网络服务,完成主机名与互联网网络地址之间的映射。几乎所有的网间互联软件都在使用DNS,如电子邮件、远程终端程序、文件传输程序及Web浏览器等。BIND(Berkeley Internet Name Domain)是互联网软件协会开发的开放源码域名服务软件,是DNS协议规范最好的实现软件,互联网上有超过90%的域名服务器使用它提供域名解析服务[1]。BIND软件有BIND4、BIND8、BIND9、BIND10等4个版本,BIND4、BIND8已停止更新,BIND9是主流版本,BIND9的最新版为V9.8.0,BIND10为BIND的下一代版本,目前正处于开发测试阶段。BIND作为DNS协议规范实现的典范,功能丰富,性能强大,安全性强。但BIND系统也存在不足:BIND的域名配置、域名记录数据等都采用文本文件存储[2],对域名的维护就是对文本文件的管理,域名的运行与维护处于手工操作,可维护性差,易出错,效率低,管理和维护难度大,运维成本高,且对管理者在BIND方面的专业技能有一定要求;域名系统本身没有域名记录即时生效的管理制机和功能,域名变更每次都要人为手工进行处理;缺乏数据安全保障机制,没有域名数据的备份与恢复功能;没有域名实名注册、认证功能,无法实现域名的实名注册与备案;BIND 9中的视图机制功能可用性差[3]等。针对BIND的不足,笔者以BIND 9.4.2为研究对象,采用.NET开发技术,使用B/S架构设计了域名管理系统。

1 设计思想及开发目标

在高校校园网实际应用环境中管理域名数量多、域名新增、修改、删除等操作频繁,但BIND软件管理功能薄弱,BIND本身是开源软件,运行于Linux环境下,提供广泛二次开发的接口,使用设计基于BIND域名管理系统成为可能,设计时综合考虑实现以下目标:①域名软件BIND的高可用性管理功能。BIND软件中域名数据一般采用文本文件进行存储,要方便地进行域名数据的管理与维护,解决域名数据存储方式是核心。基于关系数据库的数据存储是主流,Linux平台主流数据库平台有sqlite、MySQL和ostgreSQL等,综合考虑性能、安全、易用性等因素,选择MySQL作为域名系统数据的存储平台[4]。②完善域名记录的实时生效机制。域名记录等相关信息存储于数据库中,通过BIND核心数据驱动直接读取数据使其生效。③增加域名数据的本地、异地备份与恢复机制。对存储在MySQL中的域名记录,域名配置等数据进行备份、恢复处理。④域名管理系统应具有使用简便、功能实用、效率高等特点。

2 系统环境及软件运行方式

系统由基于Linux的域名服务系统和基于Windows的域名管理系统2部分构成。基于Linux操作系统的域名服务系统,其操作系统采用RedHat RHEL 5,域名服务软件使用BIND 9.4.2,域名数据存储采用 MySQL 5.0.22。基于Windows的域名管理系统,操作系统采用 Windows Server 2003,以 MS SQL Server 2005作为后台数据库服务器,采用ASP.NET为主要开发工具,以IIS为系统的WWW运行环境,实现B/S结构的域名管理系统。前者向用户提供域名服务,后者在前者基础上实现域名管理。系统建立后运行结构如图1所示。

图1 软件运行结构示意图

3 系统功能设计

基于系统设计思想和目标,BIND域名管理系统的功能示意图见图2。

3.1 系统管理

1)域名系统的初始化 包括根记录的导入、常规信息导入、表结构的初始化生成、MySQL中表的区文件表的生成等。

图2 系统功能示意图

2)机构管理 包括机构信息的添加、删除、修改等功能。

3)部门管理 包括部门信息的添加、删除、修改等功能。

4)用户管理 包括用户管理的添加、删除、修改、密码更改等功能。用户按角色分为超级管理员、域名管理员、普通用户,浏览者4类。超级管理员整个系统只有1个,系统默认设置为Admin,1个域名管理员只管理1个二级域名。普通用户完成域名的申请,域名管理员进行审核。浏览者只有查询当前域名使用情况。

5)权限管理 对每个实现管理功能文件进行权限编码,为每个用户实现要使用的功能定义为权限的集合。使用管理功能时采用权限判断,有则成功,否则跳转到指定页面。

6)日志记管理 实现系统登陆日志和操作日志的管理。

3.2 域名配置

1)管理域名设置 系统可以承担多个域名管理,实现要管理域名的增加、删除、修改、停止,明确指出管理的域名是否支持多视图机制。

2)域名服务器管理 对管理域名对应DNS服务器IP、MySQL服务器地址、服务端口、数据库名字等进行设置。系统支持管理多台域名服务器。

3)域名区文件管理 设置DNS配置中区文件对应表名,如果当前域名支持多视图机制,对域名区文件对应MySQL中的表名进行配置,如果不支持多视图机制则设置时所有区文件指向1个表名即可。

4)视图管理 对系统支持的视图种类、名称、IP地址围范进行管理。

3.3 域名管理

1)域名申请 用户在现有域名基础上申请一个子域名及NS记录,然后自己建立对应的DNS服务器。可以申请暂停子域名。

2)域名审核 对申请域名合法性进行审核,合法则审核通过,否则不通过。

3)域名开通 根据审核结果,更新到Linux系统的MySQL的DNS数据库,域名生效。

4)域名管理 添加域名记录、删除域名记录、修改域名记录、暂停域名服务等

5)泛域名申请 用户在现有域名下申请一个自己的泛域名,如对scun.edu.cn这个域,网络信息中心可以申请*.nic.scun.edu.cn指向210.41.112.101的泛域名记录。申请泛域名由管理员审核批准后生效。

6)泛域名管理 泛域名记录的管理只能是A记录管理。管理泛域名的添加、删除、修改、暂停、审核等。

3.4 数据备份

1)数据库文件备份 完成MySQL和MS SQL Server整个系统数据库的备份,打包成一个文件。

2)数据库文件恢复 从备份的数据库文件恢复系统数据。

3)配置文件备份 完成Linux平台BIND配置文件的备份。

4)配置文件恢复 从备份完成Linux平台BIND配置文件的恢复。

4 数据库设计

根据系统功能需求,利用关系数据库理论,设计域名管理系统的模型和数据库对象,域名管理平台MS SQL Server 2005中设计以下数据表:bd_branch机构信息表、bd_department部门信息表、bd_dnsserver域名服务器信息表、bd_domain管理域名信息表、bd_domaindatarrs域名记录信息表、bd_loginlog登陆日志信息表、bd_operatelog操作日志信息表、bd_menuitem菜单项信息表、bd_menuclass菜单类别信息表、bd_viewconfig视图配置信息表、bd_zonefileconfig区文件配置信息表、bd_sysusers用户信息表。域名服务平台MySQL中设计以下数据表:bd_zonefile正向区文件信息表、bd_ptrzonefile反向区文件信息表。

系统中涉及3个核心表:bd_domaindatarrs域名记录信息表、bd_zonefile正向区文件信息表和bd_ptrzonefile反向区文件信息表。域名记录信息表描述了域名ID、视图ID、域名区文件ID、添加信息用户ID、资源记录类型、资源记录的数据、记录状态等信息,正向、反向区文件信息表记录了域名名字、生存时间、资源记录类型、资源记录的数据等信息。bd_domaindatarrs表中的信息根据业务要求更新到正、反向区文件信息表以供BIND服务使用。

5 关键技术

该系统实现域名管理的关键是解决DNS中资源记录数据的更新、新增区对应DNS配置文件更新及BIND服务自动启动问题。资源记录数据的变更,在域名管理平台中将修改的内容更新到域名服务平台下的MySQL数据库,BIND数据驱动[5]直接查询数据库并将结果返回给用户。对新增管理区问题,利用域名管理平台将新增管理区等相关信息传送并存储到域名服务平台下的MySQL数据库,在Linux平台下写C语言数据更新程序定时检查MySQL对应数据库中的相关表的标志字段,根据实际情况修改BIND配置文件,生成区文件表,自动重新启动BIND以加载新的区文件。核心数据流如图3所示。

6 结 语

针开源域名服务软件BIND在管理功能方面中不足,设计采用.NET技术,使用B/S架构设计基于BIND域名管理系统,系统由域名管理平台和域名服务平台组成。该系统具有易用、经济、高效、可靠等特性,为企业、学校、电信营运商等提供了互联网域名系统管理解决方案,具有一定参考价值。

图3 核心数据流

[1]沈辉 .计算机网络技术 [M].北京:人民邮电出版社,2006.

[2]Paul Albitz,Cricket Liu.DNS与BIND[M].第4版 .雷迎春,龚奕利 译 .北京:中国电力出版社,2002.

[3]邱建波 .高校校园网双出口环境下对DNS的智能改进 [J].微计算机应用,2008,29(8):26-29.

[4]Michael Kofler.MySQL 5权威指南 [M].第3版 .杨晓云,王建桥 等译 .北京:人民邮电出版社,2006.

[5]周德荣,夏龄,郭庆义 .基于MySQL的BIND域名数据存储技术研究与实现 [J].西南民族大学学报 (自然科学版),2011(2):312-316.

猜你喜欢
域名视图数据库
Combosquatting域名抢注的测量研究
如何购买WordPress网站域名及绑定域名
5.3 视图与投影
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
数据库
数据库
数据库
数据库