在一个较复杂的局域网环境里一定会用到动态和静态结合的方式分配IP地址,如何管理好这些IP地址资源成为了网络管理员的重要责任,因为在管理IP地址时,有些需要对应到使用人,有些需要绑定MAC地址,有些需要暂时保留,随着局域网规模日益扩大,有线网络用户数和无线网络用户数成倍地增长,除了科学地分配IP地址,还需要动态交互查询和实时监控IP地址资源池的运行状态,复杂的需求为网络管理工作带来挑战,传统的手工记录电子表格处理方法无法应对这样的庞大需求,且具有一定的安全隐患,急需要有一个管理系统科学地处理这些需求。
在处理这些需求时,首先考虑使用通用性最佳的B/S架构,这样可以充分利用其使用方便、维护简单的特性,不仅管理员可在其之上进行管理工作,普通用户也可在其上进行IP地址申请操作。除此以外,考虑到现有的身份认证平台,该系统还应能结合AD或LDAP,让管理员可使用现有的账号密码登录系统。
构建IPAM管理系统的目的
IPAM(IP Address Management)或称IP地址管理,是将网络管理科学应用到互联网协议地址空间及相关联的网络服务,是以聚合方式管理IP地址空间的各项技术和日常IP地址管理功能的管理模式,IPAM在网络环境里的重要性堪比一个城市的规划系统,合理有序地利用有限的IP地址资源,尽量减少及杜绝因为IP地址错误部署、管理而造成的网络或应用中断。如果只有一片区域,IT管理人员也只有一名,那几张Excel表就可以解决问题,但实际在高校信息化领域中,IP地址资源非常庞大,往往会有数百个VLAN,数千个公网IP,数万个内网IP,以及数不胜数的IPv6地址,且多个业务系统管理员会同时访问IP地址资源池,例如网络管理员需要构建新的VLAN、获得新的公网IP;服务器管理员需要给新的服务器和存储系统配置IP地址等,这些需求汇总到一起,就需要有一个专门的管理系统去处理。IPAM的预算优先级比不上重要信息系统的建设和核心网络设备的购置,笔者本着降低成本的原则,以开源软件为基础搭建IP地址管理系统,并进一步实现网络管理员和业务系统管理员的逻辑分级管理、动态数据库查询和实时监控跟踪IP地址分配出去后的状态,进而从根本上提升网络管理工作的效率。
在实际应用中,高校互联网用户数量随着近几年移动终端设备的普及,也得到了井喷式的增长,给IP地址的管理工作提出了严峻的考验,虽然高校一般都会拥有几千个真实IP地址,但由于用户数量、ISP(互联网服务提供商)不同等因素,在不少情况下还是会给用户分配内部IP使用,一旦使用了内部IP地址,在管理数量上至少就是数万或数十万级别,对网络管理员来说,又加大了管理难度。几乎所有稍具规模的高校及其二级管理部门,在进行网络管理时都有各种系统辅助运维管理,有些是购买纯商业软件,有些根据需求自行开发,还有些则是基于开源软件构建而成。从节约人力成本上来说,购买使用纯商业软件是最省力的,有些还和一些网管平台集成在一起,比较方便;对具备一定研发能力的组织或机构而言,定制化自行开发是较好的选择,因为可以根据实际使用情况度身定做、及时修改;对于最后一种,是本文讨论的范畴,开源软件除了能够降低总体拥有成本、快速部署外,还能在使用过程中对其进行自由修改。除满足日常使用外,也提高了各个网络管理员的工作效率,减少交叉重复使用IP地址等问题发生。
开源平台的设计与选型
开源软件的优越性与IPAM系统的开源环境
开源软件(Open Source Software),也称开放源代码软件,是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。开源协议通常符合开放源代码定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发且越发完善。
自Linux系统为代表的开源软件诞生以来,经过多年地快速发展,不仅在服务器系统软件应用领域形成一股重要力量,近些年甚至还占据了移动终端的大量市场份额,使人们仿佛看到了开源软件将成为未来软件产业的主流。杨彬对此问题做了一些研究,认为开源软件产品向传统商业软件发起了有力挑战。开源软件的飞速发展正在整个软件行业掀起风潮,新兴开源软件企业不断涌现,很多传统商业软件公司,如Intel、IBM、AMD等,不仅纷纷资助开源软件,更是为开源软件世界贡献了无数高质量的代码。我国的开源软件产业也在国际潮流的引领下借助国家的支持渐成规模,应当特别注意的是,开源软件为我国软件业打破技术垄断和封锁,实现质的飞跃提供了良好契机,具有非同寻常的战略意义。
很多开源软件因为其自身稳定可靠、性能优秀、免费提供等优点已经得到了非常广泛的应用,例如,音视频编码中的XviD和ogg,全球使用最广泛的Web服务端Apache,以及在动态网页编程领域占据第一份额位置的PHP,更甚者还有在移动终端领域占据超过半壁江山的安卓系统等等,都充分证明了开源软件的优势和受欢迎程度。服务器软件领域LAMP(Linux+Apache+MySQL+PHP)或LNMP(Linux+Nginx+MySQL+PHP)架构的流行组合更是全部都为开源软件。
开源软件不仅仅代表着免费使用,也是自由的体现,但是这一切都是在一个大框架下,这个框架就是开源软件许可协议,比较常见的有GNU GPL系列、BSD、MIT、Apache等,相对来说GPL系列协议是被最广泛使用的,因为它能够授予程序接受人以下权利:1.可以任何目的自由运行此程序;2.再发行复制件的自由;3.改进此程序,并公开发布的自由。因此,在程序被改进再发布的时候,需要继承GPL协议,这也使得受该协议保护的相关代码、程序越来越多。相对来说,BSD、MIT宽松度则非常高,可以随意使用、修改,甚至商业化。
高校信息化建设中,非主流的信息化业务,例如网络运维、管理系统等,一般无法和教学、科研系统相提并论,也不容易得到足够的资金支持,所以在设计和构建IPAM系统时,也只能往开源软件这条路走,高校作为知识创新重镇,也有义务为开源软件推广、发展出力。
IPAM是一个基于Web的应用程序,所以它不仅需要操作系统,也需要数据库和Web Server等组件的支持,前文提到过LAMP的组合架构环境,即Linux系统,支撑整个平台的基础平台,Linux系统其实是一个比较笼统的说法,主要是指使用了Linux kernel的发行版系统,一般包含几大派系,分别是debian派系,比较有代表性的是debian、ubuntu,red hat派系,比较有代表性的是redhat、centos等,slackware派系,比较有代表性的是suse,虽然不同发行版本使用的许可证不同,但大多都使用GPL协议;Apache Web服务器,提供用户网页访问服务,其拥有独立的开源协议:Apache协议;MySQL数据库,用来存储所有IPAM应用相关数据信息,最流行的开源关系型数据库,几经转手,现为商业数据库公司Oracle所有,使用GPL或Commercial License协议;PHP环境,执行CGI脚本,Web服务器通过运行PHP代码来产生用户浏览的网页,可以在多数服务器和操作系统上都可以运行,它使用独立的PHP许可证。
IP地址管理平台在应用层面设计要素
基于B/S架构的系统,页面处理就需要有较好的特性,应当采用比较流行的AJAX、HTML5、CSS3等元素,这样能够实现动态显示和交互,与服务器端只需进行数据交换,不用刷新整个页面,减少服务器负担的同时也缩短了用户等待时间。
系统离不开数据库的使用,所以数据库中对于IP地址的信息表,不仅需要分类详细,也需要处理好与VLAN、统计展示之间相互的逻辑管理,最重要的是能够很好地保留、显示每次IP管理操作记录。
在功能模块上应当具备以下几大块:IP地址管理,其中包含IP地址申请、审批,IP地址添加/修改,VLAN管理;用户与权限管理,其中包含用户添加/删除,用户只读、读写权限分配、与LDAP或AD域对接;展示功能管理,其中包含IP地址数量、百分比使用排序展示,管理员登录、操作记录展示,错误、告警记录展示;系统管理,其中包含数据导入、导出,全局IP区块管理,邮件设定,日志管理。
两种搭建IPAM开源软件的对比
本文构建实现的IPAM,也为纯LAMP架构,因为整套系统自身资源消耗非常低,所以十分节省投资,非常适合用来部署高校网络运维管理平台的内部子平台。
IPAM系统主要是以数据记录、动态展示为主,使用比较灵活的B/S结构,这样可以提高便捷性和满足跨平台使用的要求。作为网络管理员,希望对IP地址管理的同时能够监控到业务系统管理员的操作记录,并支持IPv6、有直观的图表展示、代码持续更新等主要功能,基于这些特点,笔者从著名的sourceforge.net网站上进行了一些筛选,挑出了两个评分较高的IPAM开源软件项目进行对比分析,分别是phpipam和GestioIPIPAM,这两款开源软件除基本功能外,有共性也有各自的特点,表1列出了两种开源软件的共性,图1是它们的特点对比。
综上对两种开源软件的比较研究,phpipam侧重使用效果,GestioIPIPAM侧重设备管理,本次应用结合上海外国语大学的网络管理需求选择了phpipam,看中它能够较好地从管理员角度为出发点考虑如何更好地进行IP地址管理。
基于phpipam进行管理平台搭建
phpipam的开发者是斯洛文尼亚的MihaPetkovsek,sourceforge.net上记录最早于2013年提供了开源代码,是一个基于PHP的优秀Web应用,有着良好的兼容性与通用性,可以搭建各种在发行版的Linux系统甚至是FreeBSD,笔者使用了以稳定著称的Debian平台。选用LAMP经典组合,将Apache、MySQL和PHP等必要组件安装完成后仅占用1.5GB左右的磁盘空间,非常精简,只需要在虚拟机管理端分配0.5~1GB内存、1~2个CPU便可流畅的运行起来了,如果分配20G的磁盘空间,能满足未来多年的需求。Web服务端可使用apache,或轻量级的Lighttpd、nginx,但必须同时都把PHP安装上。图2为IPAM平台搭建示意,本次应用选择的是最流行、用户最多的Apache,因为它对phpipam中启用Prettify links(伪静态)URL时所要用到的mod_rewrite配置比较方便。phpipam功能全面,支持IPv4和IPv6,有内建的IPv4和IPv6子网计算器;支持无类域间路由(CIDR)标记;支持MySQL数据库或xls文件导入/导出;子网嵌套;用户/组权限设定;可视化报表工具;支持设备、VRF和VLAN;电子邮件通知;支持基于LDAP或AD结合的认证。
phpIPam安装完毕后用浏览器访问:http://ip/phpipam/,通过组件缺失性校验和数据库配置后,就可以登录使用了,至此IPAM平台基本搭建完毕,若想让url看上去更直观,可以在IPAM设定中启用prettyfylinks。
该系统支持多用户、多线程的结构化数据库MySQL,根据脚本文件SCHEAM.sql建立若干个表,有ipaddresses,logs,requests,sections,settings,settings Domain,settingsMail,subnets,devices,userGroups,users,lang,vlans,deviceTypes等20个表,数据库脚本文件可以根据不同的使用需求进行自定义,这也是开源软件比商业软件灵活之处,会随着开发者和使用者的发展越来越完善。
登录URL便能看到非常清爽的界面见图3,图4为子网管理界面。
IPAM总体分为以下几大功能板块:1.最近变更记录;2.子网使用TOP10数量和百分比;3.管理员登录记录及phpipam自身的告警、错误记录;4.子网、IP地址数量等统计信息。默认的首页管理界面可按管理员实际情况自行调整,例如添加/删除小部件,调整各个部件位置,设定常用的子网等。
phpipam对IP地址归纳了四种状态,分别是活动、保留、下线、DHCP自动获取,同时,每个IP地址属性中又可以记录主机名、注释、设备归属、MAC地址和拥有者,几乎充分考虑到了日常运维管理中的各种情况,并结合php IPam的LDAP支持组件和上海外国语大学现有的身份认证系统做集成,实现了IPAM的安全身份认证,并可进一步实现IP地址的用户分级管理。
信息化服务的根基就是网络基础设施,而IP地址资源的管理又成为了网络基础设施规模不断扩大的管理瓶颈,它不仅重要,而且繁琐,管理员必须谨慎对待,以免发生IP地址冲突、主机找不到对应的业务系统管理员等情况。通过利用开源操作系统和开源应用软件,搭建一个对IP地址实现横宽纵深的全面管理平台,让分级管理员之间可以及时掌握、动态查询以及合理规划IP地址,解决了实际问题,大大提高了工作效率和灵活度。通过对此问题较为深入地探讨,希望对IT运维管理员们有所帮助,在实际工作中,更多地去体会开源软件带来的便利性和灵活性。
(作者单位为上海外国语大学信息技术中心)
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。