李 澍, 姚 磊
(1. 上海交通大学 材料学院塑性成形技术与装备研究院, 上海 200030; 2. 江苏申模数字化制造技术有限公司, 江苏 镇江 212028)
动态主机分配协议(Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,其主要用途为给LAN内主机自动分配IP地址,也为内部网络管理员提供了对内部主机的管理手段,在局域网中使用非常普遍。
对于高校实验室计算机网络的管理,掌握DHCP配置与管理方法是非常重要的,也是高校计算机网络专业开设课程的重点内容。使用DHCP方式获取IP地址需要利用广播数据包,一般来说DHCP服务是在同一广播域内实现。很多高校实验室计算机网络环境中DHCP服务器的配置也是基于一个单一的网段内进行的。但在实际环境中,为了隔离广播包,避免网络风暴,VLAN被大规模使用,这样一个在单一网段内配置DHCP的技术在实际环境应用中便显得无能为力。在真实的实验室网络环境中,一般使用的是跨网段的DHCP服务。仅针对某一网段的DHCP服务是很少见的。对于实验室计算机网络管理人员而言,掌握三层复杂环境下DHCP服务的配置和安全防范是非常有必要的。在此,本文将以H3C S3600 三层交换机和Windows 2008 Server服务器为平台,讲述如何在实验室环境下搭建跨网段的DHCP服务器及安全防护[1-2]。
DHCP 采用C/S方式工作;DHCP客户端计算机为了获取合法的动态IP地址,通常有三种模式获取:① DHCP客户计算机首次登陆网络。② DHCP客户计算机再次登陆网络。③ DHCP客户计算机延长IP地址的租用有效期。
DHCP使用UDP协议、端口:67(服务器)、68(客户端),DHCP客户计算机获取TCP/IP协议的过程是四线回话,即:
(1) 发现阶段。客户端计算机发出 DHCP DISCOVER报文,向网络发送广播,在网络内搜寻DHCP服务器;
(2) 提供阶段。服务器接收到 DHCP DISCOVER 报文后,从自己的地址池中选择一个没有被分配的IP地址分给客户端计算机,然后向客户端发送包含出租IP地址和其他配置的DHCP_Offer 报文;
(3) 选择阶段。即DHCP客户端选择IP地址,如果有多台DHCP服务器向该客户端计算机发来DHCP_Offer 报文,客户端计算机只接受第一个收到的 DHCP_Offer 报文,然后以广播的方式向各个DHCP服务器回应 DHCP_Request 报文,该信息中包含向选定DHCP服务器请求IP地址的内容
(4) 确认阶段。当DHCP服务器收到客户端计算机回应的 DHCP_Request报文后,便向客户端计算机发送包含它所提供的IP地址和其他配置的 DHCP_ACK 确认报文。然后客户端计算机将其TCP/IP协议组件与网卡绑定。
客户端的计算机有六种状态:初始化状态(发送 discover报文之前)、选择状态(收到offer报文之后)、请求状态(发送request时)、绑定状态(收到ack)、更新状态、重绑定状态。
客户端IP地址续租:当租约到了50%时,客户机向DHCP服务器发送单播,请求当前IP地址继续租用,如果不回应,会重复发送信息,最多三次。 当到87.5%的时候,客户机进入重绑定状态,客户机向现在所有可以使用的服务器发送REUQEST消息,请求继续续租当前IP,如果没有回应,客户机IP地址停止使用,重新进行四线回话获取IP地址如果还是没有回应,则请用专用IP自动编制;生成一个169.254.0.0网段的IP,用于计算机间保障通讯。
服务器中的作用域和超级作用域:用于给客户分配TCP/IP协议栈信息。两者的区别是超级作用域是
多个作用域的集合作用域的选项有三个:缺省全局选项、作用域选项、保留客户端选项;优先级是保留大于作用域大于全局[3,4,5]。
实验设备见表1。
表1 实验设备明细
实验室计算网络拓扑结构如图1所示。
图1 实验室计算机网络拓扑图
高校实验室一般都有包含不同网段的计算机网络,本实验内容为:利用三层交换机实现在四个不同VLAN间通信,通过Windows 2008 Server系统上实现DHCP服务并三层交换机上进行安全防护设置,使得处于不同Vlan的计算机在开机后能获得DHCP服务器为他们分配的IP地址,且连接Vlan1获取的IP地址段为:192.168.100.X/24,连接Vlan2获取的IP地址段为:192.168.101.X/24,连接Vlan3获取的IP地址段为:192.168.102.X/24,连接Vlan4获取的IP地址段为:192.168.103.X/24,各计算机之间能相互ping通[6-7]。
2.4.1在三层交换机上的配置
(1) 配置前准备。通过Console口登录交换机。
第一步:建立本地配置环境,只需将PC机(或终端)的串口通过配置电缆与以太网交换机的Console口连接,如图2所示。
图2 通过Console 口搭建本地配置环境
第二步:在PC机上运行终端仿真程序(如Windows 2000/Windows XP的超级终端等),选择与交换机相连的串口,设置终端通信参数:传输速率为9600bit/s、8 位数据位、1位停止位、无校验和无流控。
第三步:将三层交换机启动,终端上显示设备自检信息,自检结束后提示用户键入回车,之后将出现命令行提示符(如
第四步:键入命令,配置三层交换机或查看交换机运行状态。需要帮助可以随时键入“?”,具体的配置命令可以参考配置手册中相关部分的内容[8]。
(2) DHCP创建与相关参数的设置。
第一步:在三层交换机上进行Vlan设置,
[H3C]vlan2 创建Vlan2,Vlan1是三层交换机默认的Vlan
[H3C- vlan2]quit
[H3C]vlan3 创建Vlan3
[H3C- vlan3]quit
[H3C]vlan4 创建Vlan4
[H3C- vlan3]quit
[H3C]vlan2 进入Vlan2配置接口
[H3C- vlan2]port Ethernet1/0/2 将三层交换机的2号端口分配给Vlan2
H3C- vlan2]quit
[H3C]vlan3 进入Vlan3配置接口
[H3C- vlan3]port Ethernet1/0/3 将三层交换机的3号端口分配给Vlan3
[H3C- vlan3]quit
H3C]vlan4 进入Vlan4配置接口
[H3C- vlan3]port Ethernet1/0/4 将三层交换机的4号端口分配给Vlan4
[H3C- vlan3]quit 这里为了防止某个端口出现故障从而影响Vlan的网络正常通讯,可以将2个以上的网络端口分配在同一个Vlan下
[H3C]interface vlan1
[H3C- Vlan- interface1]ip address 192.168.100.5 255.255.255.0 为Vlan1 设置IP地址
[H3C- Vlan- interface1]quit
[H3C]interface vlan2
[H3C- Vlan- interface2]ip address 192.168.101.1 255.255.255.0 为Vlan2 设置IP地址
[H3C- Vlan- interface2]quit
[H3C]interface vlan3
[H3C- Vlan- interface3]ip address 192.168.102.1 255.255.255.0 为Vlan3 设置IP地址
[H3C- Vlan- interface3]quit
[H3C]interface vlan4
[H3C- Vlan- interface4]ip address 192.168.103.1 255.255.255.0 为Vlan4设置IP地址
[H3C- Vlan- interface4]quit
第二步: 开启三层交换机的DHCP中继代理功能,
[H3C]dhcpenable 开启DHCP能功能
[H3C]dhcp- server 1 ip 192.168.100.6 指定DHCP 服务器地址为192.168.100.6
第三步:在VLAN中指定DHCP服务器,
[H3C]interface vlan2
[H3C- Vlan- interface2]dhcp- server 1 在Vlan2中指定DHCP服务器
[H3C- Vlan- interface2]quit
[H3C]interface vlan3
[H3C- Vlan- interface3]dhcp- server 1 在Vlan3中指定DHCP服务器
[H3C- Vlan- interface3]quit
[H3C]interface vlan4
[H3C- Vlan- interface4]dhcp- server 1 在Vlan4中指定DHCP服务器
[H3C- Vlan- interface4]quit
[H3C]save 保存以上配置信息
第四步: 正确配置默认端口(Ethernet1/0/1),
[H3C]interface Ethernet1/0/1
[H3C- Ethernet1/0/1]port link-type hybrid
[H3C- Ethernet1/0/1] port hybrid vlan 1 2 3 4 untagged 正确配置Ethernet1/0/1为Hybrid端口,能够接收vlan1、2、3、4发过来的报文
[H3C- Ethernet1/0/1]quit[9,10]
第五步: 在H3C U200-C 路由器上正确配置静态路由 如图3所示。
图3 静态路由设置
由于三层交换机缺省条件下各Vlan之间能够互相通信,所以在客户端计算机只需正确配置对应网络参数(如:IP地址、子网掩码、网关、DNS)即可。如:Vlan1中的计算机网络设置如图4所示。Vlan2中的计算机默认网关的IP地址是192.168.101.1,DNS服务器IP地址都是一样的,Vlan3、Vlan4中的计算机的网络设置以此类推。此时,各Vlan计算机之间已经能相互ping 通。
图4 客户端计算机网络设置
2.4.2在服务器上建立动态IP地址作用域的配置
Windows Server2008 R2是微软最新的视窗Server操作系统,是基于Windows Server 2008的硬件基础而设计的,较以前的版本有更好的稳定性。Windows Server 2008通过加强操作系统和保护网络环境提高了安全性,通过加快IT系统的部署与维护、使服务器和应用程序的合并与虚拟化更加简单、提供直观管理工具,Windows Server2008还为IT专业人员提供了灵活
性,为高校实验室的计算机服务器和网络基础结构奠定了最好的基础。
配置步骤:
(1) 在Windows Server2008 R2系统中启动服务器管理器,在DHCP服务器的IPV4网络中,分别新建试验要求的四个Vlan 的IP地址段的动态地址分配作用域;
(2) 新作用域的名称、描述建议用各自Vlan的名称,这样便于记忆和分类,
(3) 动态分配的IP地址范围、排除地址范围都需要根据实际需要进行设定,可以设置排除地址范围,这项功能在以前的系统中是没有的;
(4) IP地址租期设定,默认是8天,这里建议采用默认的;
(5) 路由IP地址,这里针对不同的Vlan设置不同,如:针对Vlan1,这里要设置成Vlan1的接口IP地址(192.168.100.5);
(6) DNS服务和DHCP服务安装在同一台服务器上,所以DNS IP地址也设为192.168.100.6,父域名称设置为该域的域名;
(7) 激活作用域,启动DHCP服务。
(1) 分别在不同Vlan的计算机上运行ipconfig/all命令,看其是否获得了相应的IP地址,并相互使用ping命令,看是否连通。如果连通说明实验成功。
(2) 在服务器上启动DHCP服务后,如图5,可以看出Vlan1~ Vlan4四个动态IP地址分配作用域都已经启动,连接到Vlan1的几台客户端计算机已经获取到了IP地址。
图5 DHCP服务启动
在实验室的网络中目前多采用DHCP 服务器动态进行IP 地址的分配,虽然解决了IP 地址管理中的难题,但由于DHCP 在设计之初并没有充分考虑到可能引起的安全的问题,导致随之而出现的各种各样的DHCP安全问题成为了网络管理者的困惑。本文从DHCP 的工作原理入手,分析几种常见的DHCP 安全问题并提出解决措施,希望对实验室网络管理人员有所帮助。在局域网中比较常见的由DHCP 引起的安全问题有:DHCP欺骗、IP 地址重复分配导致冲突、DOS 攻击、系统瘫痪配置参数丢失等,下面就这些问题进行探讨。
如果实验室的网络中有私自架设的DHCP 服务器,当客户端计算机申请IP 地址时,这台DHCP 服务器就可能会与DHCP 客户端进行交互,导致客户端获得错误的IP 地址,这种私设的DHCP 服务器称为伪(非法)DHCP 服务器。在DHCP服务器上开启伪DHCP 服务器检测功能后,当DHCP 服务器接收到siaddr字段(为客户端分配IP地址的服务器IP地址)不为0的DHCP报文时,DHCP服务器会记录报文中siaddr 字段的值及接收到报文的接口信息,以便管理员及时发现并处理伪DHCP 服务器。
开启伪DHCP 服务器检测功能后,对所有DHCP 服务器都会进行记录,包括合法的DHCP 服务器。管理员需要从系统日志中查找伪DHCP 服务器。开启伪DHCP 服务器检测功能后,对每个DHCP 服务器只记录一次。
配置伪DHCP 服务器检测功能。
配置方法:进入H3CS3600系统视图 system-view,开启伪DHCP 服务器检测功能,dhcp server detect,缺省情况下,伪DHCP 服务器检测功能处于关闭状态[11]。
IP 地址冲突也是实验室局域网常见故障,可造成客户无法获取IP 地址。这种现象常被判断为与ARP 病毒有关,然而DHCP 问题也可以导致该现象。ARP 病毒爆发时IP 地址冲突、网络速度变慢,而有时会发现仅仅是IP 地址冲突,将发生冲突的故障机断网后,局域网中不见其他异常,这提示我们有可能是IP设置引起的冲突而已,与ARP 病毒可能无关。局域网中的打印机、邮件服务器、防火墙等设备需要静态分配的IP,当采用自动获取方式的客户端获取的IP 与这些静态分配的IP 相同时,就会出现IP 地址冲突现象。解决的办法是可以将分配的静态IP 地址排除在DHCP 的地址池之外。
为防止IP 地址重复分配导致地址冲突,DHCP 服务器为客户端分配地址前,需要先对该地址进行探测。地址探测是通过ping 功能实现的,通过检测是否能在指定时间内得到响应来判断是否有地址冲突。DHCP 服务器发送目的地址为待分配地址的ICMP 回显请求报文,如果在指定时间内收到回显响应报文,DHCP 服务器从地址池中选择新的IP地址,并重复上述操作;如果在指定时间内没有得到回显响应报文,则继续发送ICMP 回显请求报文,直到发送的回显请求报文达到最大值,如果仍然没有收到回显响应报文,则可将地址分配给客户端,从而确保客户端被分得的IP 地址是唯一的。
配置方法:进入H3CS3600系统视图system-view ,配置DHCP 服务器发送回显请求报文的最大数目,dhcp server ping packets 2(缺省情况最大数为2),配置DHCP 服务器等待回显响应报文的超时时间,dhcp server ping timeout 500(缺省情况为500毫秒)[12]。
实验室局域网中的DHCP安全问题也可能源于客户端计算机。如果有人恶意的在客户端通过恶意软件不断修改该机的MAC地址连续向DHCP SERVER发送DISCOVER、REQUEST报文,那么服务器端的IP 地址池中的IP地址将很快耗尽,这会导致其他正常客户端计算机因为无法获取到IP地址而不能进行网络通讯,这就是DOS攻击。另外,故障机不断地发送报文且这种报文是广播的方式,对DHCP 服务器的所在的主机和网络是一种负担。DOS 攻击的防御可以通过DHCP SNOOPING 绑定表来解决。DHCP SNOOPING 绑定表是根据DHCP 报文建立的,项目包括客户的MAC、IP、租约期限、VLAN_ID、接口等。当客户端发送DHCP 报文时,会检查绑定表中的各项内容,如果和绑定表数据库内容匹配则允许通过,否则丢弃。这样可以防止客户端修改IP和MAC实施DOS攻击,同时这种方法还可以防止中间人攻击。
H3C S3600交换机可以通过运行在数据链路层的DHCP Snooping功能监听DHCP报文,记录用户的IP 地址信息。另外,在网络中如果有私自架设的DHCP 服务器,将可能导致用户得到错误的IP地址。为了使用户能通过合法的DHCP 服务器获取IP 地址,DHCP Snooping 安全机制允许将端口设置为信任端口与不信任端口。① 信任端口是与合法的DHCP 服务器直接或间接连接的端口。信任端口对接收到的DHCP报文正常转发,从而保证了DHCP 客户端获取正确的IP 地址。② 不信任端口是不与合法的DHCP服务器连接的端口。如果从不信任端口接收到DHCP服务器响应的DHCP-ACK 和DHCP-OFFER 报文则会丢弃,从而防止了DHCP 客户端获得错误的IP 地址。[13]
配置方法:进入H3CS3600系统视图system-view,开启交换机DHCP Snooping功能,dhcp-snooping(缺省情况下,交换机的DHCP Snooping功能处于关闭状态),进入以太网端口视图,interface Ethernet1/0/2,配置当前端口为DHCP Snooping 信任端口,dhcp-snooping trust。
以上讨论了实验室网络中DHCP服务三种典型的安全故障,还有服务器超载运行、地租租约等,这些故障比较容易解决,如解决地址租约问题:① 增加 IP 地址,充实DHCP服务器的 IP 地址池;② 缩短租约时间,使空闲的IP地址及时收回,及时下发,而不使用默认周期[14-15]。
DHCP服务已经成为高校实验室局域网中IP地址分配的主要方式,在复杂网络环境下的配置和使用以及DHCP安全问题也日益显现。首先要了解DHCP工作的基本原理,仔细分析,合理的规划网络架构,对复杂网络环境下的DHCP服务的搭建,常见的DHCP 欺骗、地址冲突、DOS 攻击、超载运行、地址租约等问题都能得到有效的解决。另外,在实际实验室网络管理中还应该对各类故障问题进行仔细分析和认真总结,则可以妥善解决实验室网络中的DHCP故障。
[1] 朱文良,杨明来.仿真软件在计算机网络通信教学中的应用[J].网络与通讯,2010 (11): 98-99.
ZHU Wen-liang,YANG Ming-lai.The Application of Simulation Software in Computer Network CommunicationTeachin[J]. NETWORKANDCOMMUNICATION,2010 (11): 98-99.
[2] 刘 毅,王 亮.如何在实验室中搭建三层环境下的DHCP服务器[J].科技风, 2010 (06): 214-215.
LIU Yi,WANG Liang. Implement DHCP Service and under Three Layer Network Enviorment for Lab[J].Technology Trend,2010 (06): 214-215.
[3] 黄庆和. 略论实验室网络中网络风暴的产生及应对之策[J]. 现代测量与实验管理,2007(4): 58-59.
HUANG Qin-he. On the causes and Countermeasures of network laboratory network in the storm[J]. Advanced Measurement and Laboratory Management,2007(4): 58-59.
[4] 李金方,祁 林,饶德胜. DHCP服务在多VLAN中的应用[J].电信快报, 2008(12):17-18.
LI Jin-fang,QI Lin,RAO De-sheng. Application of DHCP services in multiple in VLAN[J].Telecommunications Information,2008(12):17-18.
[5] 王 伟.局域网中DHCP故障问题研究[J].大众科技,2012(2):44-45.
WANG Wei. Study on failures of DHCP in the LAN [J]. Popular Science & Technology,2012(2):44-45.
[6] 方水良,孟 君.基于网络的ASP服务平台监控系统[J].中国机械工程,2008(8) :1703-1704.
FANG Shui-liang,MENG Jun. ASP Platform Management System Based on Grid Services [J]. China Mechanical Engineering,2008(8) :1703-1704.
[7] 路晓丽,董云卫,赵宏斌.一种面向对象的Web Application测试模型[J].计算机科学,2010(9):881-882.
LU Xiao-li, DONG Yun-wei,ZHAO Hong-bin. Object oriented Web Application Testing Model [J]. Computer Science,2010(9):881-882.
[8] 马 龙.信息化环境下的高校教学科研仪器设备维修管理[J].中国新技术新产品, 2010(19):555-556.
MA Long.The Equipment of university teaching and research repair management Under the information environment[J]. China New Technologies and Products,2010(19):555-556.
[9] 刘 强.面向对象的系统分析设计[J].CSDN, 2007(08):221-222.
LIU Qiang. Analysis and design of object oriented systems [J].CSDN, 2007(08):221-222.
[10] 阿力甫·依不拉音,陈家胜.基于Web的仪器设备管理系统的实现与应用[J].实验室研究与探索,2005(3):1361-1362.
ALIFU Yibulayin, CHEN Jia-sheng.On the Implementation and Operation of the Web-Based Equipment Management System [J]. Research and Exploration in Laboratory,2005(3):1361-1362.
[11] 张梁斌,高 昆,梁世斌.基于Packet Tracer的小型企业网络应用架构的仿真实验[J].实验室研究与探索, 2012(10):878-879.
ZHANG Liang-bin,GAO Kun,LIANG Shi-bin. Simulation Experiment of Small Enterprise Network Application Infrastructure Based on Packet Tracer [J]. Research and Exploration in Laboratory,2012(10):878-879.
[12] 杨 峰,伍祥生.基于复杂网络的软件系统建模及应用研究[J].湖南中学物理,2013(3):323-324.
YANG Feng,WU Xiang-sheng.The modeling of software system and Application Research Based on complex network [J]. Hunan Middle School Physics,2013(3) ):323-324.
[13] 周赟山.跨网络DHCP服务的构建与实现[J].现代计算机(专业版), 2010(7):26-27.
ZHOU Yun-shan. Design and implementation of DHCP services across networks[J].Modern Computer, 2010(7) :26-27.
[14] 周 进,何力军.局域网多VLAN环境下三层交换机DHCP中继代理的配置[J].中国高校科技与产业化, 2006(12):168-169.
ZHOU Jin,HE Li-jun. The LAN under VLAN layer three switch DHCP relay agent configuration [J].Chinese University Technology Transfer, 2006(12) :168-169.
[15] 景鹏森,颜丹丹,吴 军. 计算机网络管理课程实验教学设计与实践[J].电脑知识与技术,2011(11):7802-7803.
JING Peng-sen,YAN Dan-dan,WU Jun. Design and Practice of Experiment Teaching for Computer Network Management Course [J]. Computer Knowledge and Technology,2011(11) ):7802-7803.