[摘要]文章分析动态主机配置协议的工作流程,描述在各种三层交换机上DHCP服务器的配置过程,并提出如何禁止非法DHCP服务器的方法。
[关键词]DHCP;IP地址;交换机;Snooping
目前,校园网已成为高等学校的重要组成部分。随着校园网的扩大以及移动办公逐步要求的增加,如果仍然采用静态地址分配的方法进行IP管理,不仅使网络管理人员的工作量极大地增加,同时由于一些用户记不清自己的IP地址,在重新安装系统后乱用IP地址,造成IP地址冲突或无法正常上网,影响校园网用户的正常使用。为防止类似的事情发生,在校园网的IP地址分配可采用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP),DHCP可自动将IP地址、掩码、网关、DNS分配给用户。
DHCP服务器的搭建一般可采用两种方式。方式一:操作系统+服务器。操作系统可以是window2003、Linux、Solaris、Freebsd等,不论使用哪一种操作系统,都需要另外使用一台服务器来安装,增加网络建设投资。方式二:采用汇聚交换机自带的DHCP服务器功能,为各汇聚交换机下的计算机用户自动分配IP地址。使用汇聚交换机做DHCP服务器的好处在于:(1)节省网络建设投资,不需另外采购一台服务器作为学校的DHCP服务器;(2)使用汇聚交换机来做DHCP服务器,不容易受到病毒的影响;(3)由于汇聚交换机本身运行稳定,带来DHCP服务器的运行稳定。
一、DHCP工作流程
(一)发现阶段
发现阶段即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来寻找DHCP服务器,即向地址255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会响应。
(二)提供阶段
提供阶段即DHCP服务器提供IP地址的阶段。在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息。
(三)选择阶段
选择阶段即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址。
(四)确认阶段
确认阶段即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。
(五)重新登录
以后DHCP客户机每次重新登录网络时,就不需要再发送DHCPdiscover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCPrequest请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCPack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其他DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。当原来的DHCP客户机收到此DHCPnack否认信息后,它就必须重新发送DHCPdiscover发现信息来请求新的IP地址。
(六)更新租约
DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。
二、DHCP配置过程及说明
(一)CISCO交换机 DHCP配置
cisco(config)#ip dhcp excluded-address 172.17.0.200 172.17.0.253//设置不参与动态分配的保留地址;
cisco(config)#ip dhcp pool aaa //设置DHCP地址池名;
cisco(dhcp-config)#network 172.17.0.0 255.255.255.0 //设置动态分配的IP地址段;
cisco (dhcp-config)#default-router 172.17.0.254//设置缺省网关;
cisco (dhcp-config)#dns-server 202.103.224.68 221.7.128.68 //设置DNS;
cisco (dhcp-config)#lease 7 //设置地址租期,以天计算。
(二)中兴交换机 DHCP配置
ZXR10(config)#ip dhcp server enable //启用DHCP服务;
ZXR10(config)#ip dhcp server dns 202.103.224.68 221.7.128.68 //设置DNS;
ZXR10(config)#ip dhcp server leasetime 10080 //设置地址租期,以分钟计算;
ZXR10#vlan database
ZXR10(vlan)#vlan 222//创建vlan;
ZXR10(vlan)#exit
ZXR10#config t
ZXR10(config)#interface vlan 222//设置vlan;
ZXR10(config-if)#ip address 172.17.0.254 255.255.255.0 //设置vlan的IP地址段;
ZXR10(config-if)#description aaa//设置vlan名;
ZXR10(config-if)#peer default ip pool aaa //指定接口使用的地址池;
ZXR10(config-if)#user-interface //设置用户侧接口标志;
ZXR10(config-if)#ip dhcp server gateway 172.17.0.254//设置vlan网关;
(三)CISCO2621路由器+港湾BIG800 DHCP配置
由于港湾BIG800生产年限较早,该设备不提供DHCP服务器功能,只有DHCP中继功能,因此,将BIG800设置为DHCP中继,用一台CISCO2621做DHCP服务器。1.港湾交换机配置
Harbour(config)# create vlan aaa //创建vlan;
Harbour(config)# config vlan aaa tag 222 //设置vlan的tag值;
Harbour(config)# config vlan aaa ipaddress 172.17.0.254 255.255.255.0//设置vlan的IP地址段;
Harbour(config)# config dhcpr listen add aaa//设置DHCP Relay服务监听的vlan;
Harbour(config)# config dhcpr targetip add 172.16.0.1//指定DHCP服务器IP;
2.路由器配置
dhcp-server(config)#ip dhcp pool aaa //设置DHCP地址池名;
dhcp-server(dhcp-config)#network 172.17.0.0 255.255.255.0 //设置动态分配的IP地址段;
dhcp-server(dhcp-config)#default-router 172.17.0.254 //设置缺省网关;
dhcp-server(dhcp-config)#dns-server 202.103.224.68 221.7.128.68 //设置DNS;
dhcp-server(dhcp-config)# lease 7 //设置地址租期,以天计算。
三、禁止非法DHCP服务器的方法
对于某一个子网,非法的DHCP报文在该子网的传播要比合法的DHCP报文快,如在该子网内存在一台非法的DHCP服务器,用户必将先获取到非法DCHP服务器所提供的IP地址,影响用户的正常网络使用。防止非法DHCP服务器,可以通过以下几种方式进行解决。
(一)接入交换机带有访问控制列表功能(Access Control Lists,ACL)
RFC定义DHCP端口号:DHCP Server的UDP端口号为67,DHCP Client的UDP端口号为68。这样,我们可以通过访问控制列表,在下行端口拒约所有源端口为67,目标端口为68的UDP通过,从而达到使非法的DHCP服务器失效的作用。以CISCO2950为例,具体配置如下:
switch #config t
switch (config)#access-list 120 deny udp any eq 67 any eq 68
switch (config)#access-list 120 permit ip any any
写好访问控制列表后,将列表应用到各个下行端口。上行端口不能写入该条访问控制列表,否则该交换机下的所有计算机用户都不能获取到IP地址。
(二)接入交换机带有DHCP-snooping功能
DHCP Snooping技术DHCP Snooping是一种通过建立DHCP Snooping Binding数据库,过滤非信任的DHCP消息,从而保证网络安全的特性。DHCP Snooping就像是非信任的主机和DHCP服务器之间的防火墙。通过DHCP Snooping来区分连接到末端客户的非信任接口和连接到DHCP服务器或者其他交换机的受信任接口。
DHCP Snooping Binding数据库包括如下信息:MAC地址、IP地址、租约时间、binding类型、VLAN ID以及来自本地非信任端口的接口信息,但不包含通过受信任端口互相连接的接口信息。在启用了DHCP Snooping的VLAN中,如果交换机收到来自非信任端口的DHCP包,交换机将对目的MAC地址和DHCP客户端的地址进行对比,如果符合则该包可以通过,否则将被丢弃掉,从而达到过滤非法DHCP服务器的目的。
以CISCO3550为例,具体配置如下:
switch #config t
switch (config)# ip dhcp snooping//在全局模式下启用DHCP Snooping;
switch (config)# ip dhcp snooping vlan 130 //在VLAN 130中启用DHCP Snooping;
switch (config)# interface GigabitEthernet 0/10//进入交换机的第10口;
switch (config-if)# ip dhcp snooping trust//将第20口设置为受信任端口;
switch (config)# interface range GigabitEthernet 0/1-9 //其他端口;
switch (config)# no ip dhcp snooping trust //将第21口 设置为不受信任端口;
switch (config)# ip dhcp snooping limit rate 10 //设置每秒钟处理DHCP数据包上限。
(三)接入交换机为不可网管交换机
在获取到非法IP地址的计算机上,到通过arp -a命令查找到非法DHCP服务器的MAC地址,在上层可网管交换机中查找出该MAC地址是从可网管交换机的哪一个端口上行的,找到该端口下的交换机,然后在该交换机上通过逐条拔出网线的方式,查找出非法DHCP所在位置。
四、结语
随着校园网的扩大以及移动办公的要求逐步增加,校园网若纯粹采取静态IP地址,将会加重网管人员的负担,引发的网络故障也多。DHCP服务作为一项简化网络配置的有效措施,在不同规模的网络中都有广泛的应用。通过应用DHCP动态分配IP地址,证明DHCP服务是非常有用和有效的,为网管人员对网络进行管理以及故障排查等提供方便,有效地促进了校园网网络环境的稳定和网络状况健康度。
[参考文献]
[1]港湾网络软件配置指导手册[Z].
[2]ZXR10路由器/以太网交换机命令手册[Z].