[摘要]文章分析动态主机配置协议的工作流程,描述在各种三层交换机上DHCP服务器的配置过程,并提出如何禁止非法DHCP服务器的方法。
[关键词]DHCP;IP地址;交换机;Snooping
[中图分类号] TP393.18 [文献标识码] A [文章编号] 1007-7723(2007)10-0042-0003
目前,校园网已成为高等学校的重要组成部分。随着校园网的扩大以及移动办公逐步要求的增加,如果仍然采用静态地址分配的方法进行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。这样,我们可以通过访问控制列表,在下行端口拒约所有源