暨南大学网络与教育技术中心 陈国良 郑松奕
在校园网络中,为了网络管理和安全的需求,需要给不同类型的用户配置不同的访问权限。管理员可以根据不同用户权限来分配不同用户IP区间,对不同权限用户进行源IP地址策略路由,从而达到对上网权限的控制。基于DHCP协议的Option82网络权限管理方案可部署于需动态分配网络参数的区域,利用DHCP协议的82号选项,对不同接入点不同权限的同户进行定位,让DHCP服务器根据不同定位的用户分配相应的网络参数,实现根据IP地址对用户权限控制。针对开源系统稳定性不足的问题,根据冗余设计理念,利用双机故障切换技术,将该方案整体系统可用性提高到99.99%。
互联网作为基础设施,在现代生活中发挥着重要的作用。在高校,信息化和数字化早已渗透到学校教学、科研、管理,数字化校园为学校教学和科研提供有力支持。随着用户数量的不断增加,以及新技术的发展(如IPv6),给网络管理带来新的挑战。在以往网络管理中,用户大多采用固定IP地址的方法,对于用户而言,面临固定IP地址配置比较复杂,IPv4地址枯竭问题,而且通常不能进行区域迁移。为了简化用户网络接入的配置工作,提高网络管理效率,当前大多采用DHCP方法来进行用户地址分配。
DHCP(Dynamic Host Configuration Protocol)主要用来动态提供配置参数给网络上的主机,是基于BOOTP(BOOTstrap Protocol)的,它能使接入网络的设备即插即用,无需人工干预即可实现网络参数的自动配置。当有线网络设备插入网线或无线网络设备连上无线网络后,首先通过该协议自动与DHCP服务器协商获取如IP、掩码、网关、DNS等必要的信息,同时根据网络管理员的部署,可能同时交互相关的附加信息,即DHCP Option信息。DHCP报文中含有一个或多个Option,该Option在DHCP报文中为可变长的字段,Option中包含了租约信息、报文类型等[1]。Option82又称为中继代理信息选项(Relay Agent Information Option),是DHCP报文中Option内容的一部分。
DHCP服务器种类繁多,各有优缺点。Windows服务器自带的DHCP软件有较直观易用的用户界面;ISCDHCPD是开源软件并安装于Linux、Unix操作系统有较好的安全性;商业软件兼顾友好的用户界面与高可用,但价格昂贵[2]。
许多研究表明,ISC-DHCPD能很好地应用Option82作判断后分配相应的网络参数,不少网络管理部门都成功应用过此方案,取得了一定的成效,但方案中存在DHCP服务器闪单点故障,实验证明可以采用Failover协议保障DHCP服务高可用。
DHCP故障转移是一种机制,其中两个DHCP服务器都配置为管理相同的地址池,以便它们可以共享该池的分配租约的负载,并在网络中断的情况下为彼此提供备份[3]。
配置Failover能避免单点故障风险,当一台服务器出现故障,另一台服务器可以接管业务,给管理员预留了处理故障的时间,但仍然不能成为一套健壮的系统,仍有一定的改进空间。以下阐述采用自我监控、自我重启的方式解决进程崩溃的办法。
每次ISC-DHCPD程序运行都会将当前进程号更新到PID文件中,编写监控脚本比对PID,即可探测出ISC-DHCPD程序是否在运行状态中,如否则重启程序,并记录到日志文件[4]。
监控与重启核心程序:
改进后的DHCP服务运行效果如图1所示:
图1 DHCP服务Stu10aCernet地址池统计图Fig.1 Statistics of the DHCP service Stu10aCernet address pool
程序重启日志如图2所示:
图2 DHCP程序重启日志截图Fig.2 Screenshot of DHCP program restart log
上述数据表明,业务连续,监控程序实现了系统自愈,改进方法取得良好的成效。
大型网络中实现DHCP配置网络参数,需要进行DHCP中继,结合接入控制需要,选取在接入交换机中进行用户认证与DHCP中继。原理如图3所示:
图3 认证与DHCP分配网络参数流程图Fig.3 Flow chart of authentication and DHCP allocation of network parameters
接入交换机须支持DHCP Option82和802.1X认证,认证系统须支持下发用户权限参数。802.1X认证和DHCP Option82完美的结合起来,实现管理员可以控制哪一类802.1X认证用户可以分配哪一类的IP地址,从而精确地进行IP地址管理[5]。在认证系统配置“用户权限”参数,用户认证成功后,交换机把认证系统下发的“用户权限”参数和用户接入的Vlan ID信息作为Option82的“Circuit ID”子选项信息传给DHCP Server,以便DHCP Server能根据不同的“用户权限”参数按相应的配置策略分配不同类型的IP,对不同权限用户进行源IP地址策略路由和配置相应ACL实现对其上网权限的控制[6]。
交换机配置DHCP中继与Failover核心命令如下:
通过认证系统记录的用户权限分配不同的网络参数,进而控制用户访问权限。简述如下:
(1)未认证用户分配172.18.0.0/16地址块的网络参数,只能访问用户自助服务平台,用于查看设置说明、下载认证客户端、办理网络业务以及网络报障等。(2)A类用户分配172.16.0.0/16地址块的网络参数,用于无限制互联网资源访问。(3)B类用户分配172.24.0.0/16地址块的网络参数,用于纯教学科研资源的访问,便于对特定群体的网络行为管理。
经实验验证并在生产环境稳定运行数年,系统运行情况良好。
部署方案实现了不同权限的用户分配到对应的网络参数,集中管理两万多用户的网络参数动态配置,减轻了网络管理员的IP地址管理工作。通过优化,极大提升了系统高可用性。
随着移动通信的发展,网络亦从有线走向无线,基于权限的分配亦希望能用于无线网络,需要无线AP或无线交换机的支持,这需要进一步的研究与探索。
引用
[1] Alexander S,Droms R.DHCP Options and BOOTP Vendor Extensions[M].RFC2132,1997:3.
[2] Droms R.Dynamic Host Configuration Protocol [M].RFC2131,1997:3.
[3] Patrick M.DHCP Relay Agent Information Option [M].RFC3046,2001:1.
[4] International Federation of Library Association and Institutions.Names of Persons:national usages for entry in catalogues[M].3rd ed.London:IFLA International Office for UBC,1997.
[5] 孙力芾,李生红.DHCP及Option82安全机制的原理与实现[J].信息技术,2005(8):29-32.
[6] Setting Up DHCP Failover:A Basic Overview.[EB/OL][2012-05-06].https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html.