所谓的DHCP就是Dynamic Host Configuration Protocol的缩写,即动态主机配置协议,它是TCP/IP协议簇中的一种,主要作用给网络中其他电脑动态分配IP地址之用。
纯粹地谈DHCP协议也许大家会觉得很陌生,但是说到“自动获取IP地址”,各位有装机经验的朋友可能就比较熟悉了。在windows 2000下,我们打开“本地连接 属性”对话框之后,双击“internet 协议 (TCP/IP)”,打开“internet 协议 (TCP/IP) 属性”对话框中,就有一项“自动获得 IP 地址”(当然我们也可以直接指定固定IP给电脑)。然而为什么我们可以使电脑来自动获取IP呢?试想一下,如果每台电脑可以自动获取任意IP的话,那岂不是IP地址严重冲突,网络世界大乱。然而现实生活中使用自动获取IP的网络并没有象我们想象中的一片混乱,为什么呢?原因就是在我们的网络中存在这一个DHCP服务器,这个DHCP服务器管理着网络中的IP地址资源,使得各IP地址合理地分配给网络中的每一台有需要的主机。
为什么我们有时候需要DHCP服务器来使IP自动分配呢?举个例子来说明一下:假如在某单位中有400台电脑,但是在任何一个时刻,要上网的电脑不会超过255台。如果使用固定IP的话,那么我们就需要为这个单位申请400个IP才够用;但是如果我们使用动态IP分配的话,我们只要申请255个IP就已经足够了,节省了145个IP资源的费用。DHCP服务就是特别试用于这种IP资源使用密度不高的情况。
然而,常规的方法来讲,需要专门配置一台服务器来做DHCP服务器,这样无疑又增加了网络耗费。据笔者的经验,有时在一些网络低层设备中(如路由器、交换机等)里面整合了DHCP服务,一般的小型网络里,我们完全可以利用网络中的这些网络设备是上的DHCP服务来配置我们自己的DHCP服务器,而不需要另外专门配置一台服务器来做DHCP服务。 #p#简单介绍一下这个解决方案的来历:
我是某个高校的网络管理员( 假假的 ),我校所有学生宿舍区、教学区都使用了CISCO的设备接入了网络(有 8台 CISCO6509 , 2台CISCO 7613 ,30多台的CISCO 4506 , 二百多台的各系列的CISCO2950 ,学生入网数目 > 10000 ),与其他人的问题一样,我们的最大问题就IP地址冲突的问题,以前我们的解决办法是在2950上把IP与端口绑定,但是,在2004年的时候,我们又购买了一大批的CISCO2950T-48-SI,而这些设备不支持二层的ACL,所以上述的方法失效了。
就这个问题,我们和网络集成商、思科的技术人员讨论了许久的以求解决方案,虽然他们好几个都是什么CCIE的,但就是没有什么好的方案。直到在04年底我参加了思科在北京的用户大会,与思科总部的一个鬼佬CCIE讨论,他给出了上诉的解决方案。回来后立即实施,效果非常理想。
IP Source Guard
Similar to DHCP snooping, this feature is enabled on a DHCP snooping untrusted Layer 2 port. Initially, all IP traffic on the port is blocked except for DHCP packets that are captured by the DHCP snooping process. When a client receives a valid IP address from the DHCP server, or when a static IP source binding is configured by the user, a per-port and VLAN Access Control List (PACL) is installed on the port. This process restricts the client IP traffic to those source IP addresses configured in the binding; any IP traffic with a source IP address other than that in the IP source binding will be filtered out. This filtering limits a host's ability to attack the network by claiming neighbor host's IP address.
假设在某网络中有400台主机,其中申请了255个以供分配的IP,其范围从202.38.X.0~202.38.X.254,其中202.38.X.1是用来分配给网关的,该网络里有三台服务器A、B、C,其需要固定的IP,分别为202.38.X.2、202.38.X.3、202.38.X.4,其他的所有IP均供动态分配之用。网络拓扑结构如下:

telnet登陆上交换机,进入交换机命令行;
启动DHCP服务:
service DHCP
对于要固定分配的IP,我们需要先将其约定出来:
ip dhcp exclude-address 202.38.X.2 202.38.X.3 202.38.X.4
在分配地址前,先将测试一下该地址,如果该地址有人在用,则分配其他地址,避免IP地址的冲突:
ip dhcp ping packets 3
设置DHCP地址池全局变量,;
ip dhcp pool 1
设置动态分配的IP地址范围、子网掩码:
network 202.38.X.0 255.255.255.0 //动态分配IP范围,这里给定的是202.38.X.0到255.255.255.0,也就是该段所有IP
设置网关:
default-router 202.38.X.1
设置DNS服务器地址
dns-server 202.38.193.33 202.112.17.33
就这么简单,一个cisco交换机上的DHCP服务器配置完成了。请注意,并不是所有的交换机上都带有了DHCP服务,笔者使用的是cisco交换机,所以请大家购买的时候根据用途多加注意了。
