您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > DHCP服务器全攻略
DHCP服务器全攻略DHCP(动态主机配置协议)是从BOOTP协议发展而来的用于自动分配客户端计算机IP地址的一种标准协议,在RFC2131中进行定义。Windows服务器操作系统中,均包含DHCP服务器组件。默认情况下,基于Windows系统的客户端计算机均配置为DHCP客户端(自动获取IP地址),你可以手动为其配置静态IP地址。如果客户端配置为DHCP客户端并且网络中存在DHCP服务器时,客户端计算机在启动时或者连接到网络时向DHCP服务器获取IP地址及其他相关信息,例如DNS服务器、网关、WINS服务器等等,DHCP服务器使用租约的形式将IP地址分配给客户端计算机使用。使用DHCP服务器,可以极大的降低在大中型网络中配置客户端计算机网络设置的管理成本,并且可以避免手动分配静态IP地址时产生的IP地址冲突问题。由于DHCP服务器需要固定的IP地址和DHCP客户端计算机进行通讯,所以DHCP服务器必须配置为使用静态IP地址。DHCP工作方式DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约。为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯。DHCP协议通讯使用端口UDP67(服务器端)和UDP68(客户端)进行通讯,并且大部分DHCP协议通讯使用广播进行。如果在DHCP客户端和DHCP服务器不属于相同的网络,那么必须具备以下两个条件之一,才能让DHCP客户端和路由器正常进行通讯:DHCP客户端网络上部署有DHCP中继代理,并且配置为转发DHCP消息到DHCP服务器;两个网络间的路由器兼容RFC1542(支持BOOTP/DHCP转发)。无论上述哪种方式,DHCP中继代理或兼容RFC1542的路由器在转发DHCP客户端的租约请求时,都会修改转发的DHCP请求数据包中的Gateway字段,将其设置为自己接收到DHCP客户端租约请求的网络接口的IP地址,而DHCP服务器则使用此Gateway字段来决定分配IP地址租约的DHCP作用域。DHCP客户端和DHCP服务器的这四次通讯分别代表不同的阶段,分别为:1、DHCPDISCOVER当DHCP客户端计算机处于以下三种情况之一时,触发DHCPDISCOVER广播消息:当TCP/IP协议作为DHCP客户端(自动获取IP地址)进行初始化(DHCP客户端启动计算机、启用网络适配器或者连接到网络时);DHCP客户端请求某个IP地址被DHCP服务器拒绝,通常发生在已获得租约的DHCP客户端连接到不同的网络中;DHCP客户端释放已有租约并请求新的租约。此时,DHCP客户端发起DHCPDISCOVER广播消息,向所有DHCP服务器获取IP地址租约。此时由于DHCP客户端没有IP地址,因此在数据包中,使用0.0.0.0作为源IP地址,然后广播地址255.255.255.255作为目的地址。在此请求数据包中同样会包含客户端的MAC地址和计算机名,以便DHCP服务器进行区分。如果没有DHCP服务器答复DHCP客户端的请求,DHCP客户端在等待1秒后会再次发送DHCPDISCOVER广播消息。除了第一个DHCPDISCOVER广播消息外,DHCP客户端还会发出三个DHCPDISCOVER广播消息,等待时延分别为9秒、13秒和16秒加上一个长度为0~1000毫秒之间的随机时延。如果仍然无法联系DHCP服务器,则认为自动获取IP地址失败,默认情况下将随机使用APIPA(自动专有IP地址,169.254.0.0/16)中定义的未被其他客户使用的IP地址,子网掩码为255.255.0.0,但是不会配置默认网关和其他TCP/IP选项,因此只能和同子网的使用APIPA地址的客户端计算机进行通讯。你可以通过注册表中的DWORD键值IPAutoconfigurationEnabled来禁止客户端计算机使用APIPA地址进行自动配置,此键值位于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters当其值设置为0时,则不使用APIPA地址进行自动配置。在WindowsXP和WindowsServer2003中,针对客户端计算机的TCP/IP选项中有一个备用配置选项,只有当客户端计算机配置为DHCP客户端(自动获取IP地址)时才有此备用配置。你可以通过备用配置来为DHCP客户端在无法联系DHCP服务器时为DHCP客户端指定静态IP地址,如下图所示:如果没有配置APIPA地址和备用IP地址,则DHCP客户端会每隔5分钟再发送DHCPDISCOVER广播消息,直到从DHCP服务器获取IP地址为止。2、DHCPOFFER所有接收到DHCP客户端发送的DHCPDISCOVER广播消息的DHCP服务器会检查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,则DHCP服务器发起DHCPOFFER广播消息来应答发起DHCPDISCOVER广播的DHCP客户端,此消息包含以下内容:客户端MAC地址;DHCP服务器提供的客户端IP地址;DHCP服务器的IP地址;DHCP服务器提供的客户端子网掩码;其他作用域选项,例如DNS服务器、网关、WINS服务器等;租约期限等。因此DHCP客户端没有IP地址,所以DHCP服务器同样使用广播进行通讯:源IP地址为DHCP服务器的IP地址,而目的IP地址为255.255.255.255。同时,DHCP服务器为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。如果有多个DHCP服务器给予此DHCP客户端回复DHCPOFFER消息,则DHCP客户端接受它接收到的第一个DHCPOFFER消息中的IP地址。3、DHCPREQUEST当DHCP客户端接受DHCP服务器的租约时,它将发起DHCPREQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约。在此DHCPREQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用。此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址。4、DHCPACK提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCPREQUEST广播消息后,会发送DHCPACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息。如果DHCP客户端的操作系统为Windows2000及其后版本,当DHCP客户端接收到DHCPACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCPDECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCPDISCOVER进程。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值。租约续约DHCP服务器将IP地址提供给DHCP客户端时,会包含租约的有效期,默认租约期限为8天(691200秒)。除了租约期限外,还具有两个时间值T1和T2,其中T1定义为租约期限的一半,默认情况下是四天(345600秒),而T2定义为租约期限的的7/8,默认情况下为7天(604800秒)。当到达T1定义的时间期限时,DHCP客户端会向提供租约的原始DHCP服务器发起DHCPREQUEST请求对租约进行更新,如果DHCP服务器接受此请求则回复DHCPACK消息,包含更新后的租约期限;如果DHCP服务器不接受DCHP客户端的租约更新请求(例如此IP已经从作用域中去除),则向DHCP客户端位于回复DHCPNACK消息,此时DHCP客户端立即发起DHCPDISCOVER进程以寻求IP地址。如果DHCP客户端没有从DHCP服务器得到任何回复,则继续使用此IP地址直到到达T2定义的时间限制。此时,DHCP客户端再次向提供租约的原始DHCP服务器发起DHCPREQUEST请求对租约进行更新,如果仍然没有得到DHCP服务器的回复则发起DHCPDISCOVER进程以寻求IP地址。在Windows2000中微软官方说明到达T2时间限制时如果DHCP客户端仍然无法从DHCP服务器获得有效回复,则立即发起DHCPDISCOVER进程以寻求IP地址,但是根据我在WindowsServer2003SP1中的测试,如果到达T2时间限制时DHCP客户端仍然无法从DHCP服务器获得有效回复,WindowsServer2003SP1仍然会使用此IP地址直到租约结束,可能微软对WindowsServer2003中的DHCP客户端行为进行了调整。授权在Windows2000的活动目录中,引入了对DHCP服务器授权的概念:为了防止非法的DHCP服务器为客户端计算机提供不正确的IP地址配置,只有在活动目录中进行过授权的DHCP服务器才能提供服务。当属于活动目录的服务器上的DHCP服务器启动时,会在活动目录中查询已授权的DHCP服务器的IP地址,如果获得的列表中没有包含自己的IP地址,则此DHCP服务器停止工作,直到你对其进行授权为止。授权的操作非常简单,你可以通过以下两种方式来对DHCP服务器进行授权,不过你需要具有EnterpriseAdmins权限:1、在对应的DHCP服务器的管理控制台中右击服务器名然后选择授权;2、在任何一台DHCP服务器的管理控制台中,右击DHCP,然后选择管理授权的服务器,在弹出的管理授权的服务器对话框,点击授权,在弹出的授权DHCP服务器对话框中输入DHCP服务器的IP地址,然后点击确定;然后在确认授权对话框上点击确定即可。需要注意的是,如果子网中同时具有属于域和不属于域的DHCP服务器,只有在属于域的DHCP服务器被授权启动后再启动不属于域的DHCP服务器时,不属于域的DHCP服务器才会停止服务;否则不属于域的DHCP服务器同样会正常工作。另外,授权机制只对Windows2000和WindowsServer2003中提供的DHCP服务器有效,其他DHCP服务器不会受到授权的限制。DHCP作用域DHCP作用域是本地逻辑子网中可以使用的IP地址的集合,例如192.168.0.1~192.168.0.254。DHCP服务器只能使用作用域中定义的IP地址来分配给DHCP客户端,因此,你必须创建作用域才能让DHCP服务器分配IP地址给DHCP客户端。另外,DHCP服务器会根据接收到DHCP客户端租约请求的网络接口来决定哪个DHCP作用域为DHCP客户端分配IP地址租约,决定的方式如下:DHCP服务器将接收到租约请求的网络接口的主IP地址和DHCP作用域的子网掩码相与,如果得到的网络ID和DHCP作用域的网络ID一致则使用此DHCP作用域来为DHCP客户端分配IP地址租约,如果没有匹配的DHCP作用域则不对DHCP客户端的租约请求进行应答。这确保了DHCP服务器只是分配匹配自己接收到DHCP客户端租约请求的网络接口网络ID的IP地址租约给DHCP客户,从而DHCP客户可以直接和DHCP服务器进行通讯。例如DHCP服务器从自己的网络接口192.168.1.1/24接收到DHCP客户端的租约请求,如果DHCP服务器具有一个子网掩码为255.255.
本文标题:DHCP服务器全攻略
链接地址:https://www.777doc.com/doc-3390738 .html