dhcp概述

 
     DHCP 是动态主机配置协议(Dynamic Host Configure Protocol)的缩写。一台DHCP服务器可以让管理员集中指派和指定全局的和子网特有的TCP/IP 参数(含IP 地址、网关、DNS 服务器等)供整个网络内的计算机使用。客户机不需要手动配TCP/IP。并且,当客户机断开与服务器的连接后,旧的IP地址将被释放以便重新使用。根据这个特性,如果我们只拥有20 个合法的IP 地址,而要管理的机器有50台,只要这50 台机器同时使用服务器DHCP 服务的不超过20 台,那么就不会产生IP 地址资源不足的情况。如果已配置冲突检测设置,则 DHCP 服务器在将租约中的地址提供给客户机之前会试用Ping 测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP 地址都没有被使用手动TCP/IP 配置的另一台非 DHCP计算机使用。
 
                             dhcp工作原理
 
     一. DHCP请求IP地址的过程 
 
     1发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCPDISCOVER包,只有DHCP服务器才会响应。
 
     2 提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCPDISCOVER报文后,从IP地址池中选择一个尚未分配的IP地址分配给客户端,向该客户端发送包含租借的IP地址和其他配置信息的DHCPOFFER包。
 
     3 选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发送DHCPOFFER包,客户端从中随机挑选,然后以广播形式向各DHCP服务器回应DHCPREQUEST包,宣告使用它挑中的DHCP服务器提供的地址,并正式请求该DHCP服务器分配地址。其它所有发送DHCPOFFER包的DHCP服务器接收到该数据包后,将释放已经OFFER(预分配)给客户端的IP地址。
 
     如果发送给DHCP客户端的DHCPOFFER包中包含无效的配置参数,客户端会向服务器发送DHCPCLINE包拒绝接受已经分配的配置信息。
 
     4 确认阶段,即DHCP服务器确认所提供IP地址的阶段。当DHCP服务器收到DHCP客户端回答的DHCPREQUEST包后,便向客户端发送包含它所提供的IP地址及其他配置信息的DHCPACK确认包。然后,DHCP客户端将接收并使用IP地址及其他TCP/IP配置参数。
 
     二. DHCP客户端续租IP地址的过程
 
     l DHCP服务器分配给客户端的动态IP地址通常有一定的租借期限,期满后服务器会收回该IP地址。如果DHCP客户端希望继续使用该地址,需要更新IP租约。实际使用中,在IP地址租约期限达到一半时,DHCP客户端会自动向DHCP服务器发送DHCPREQUEST包,以完成IP租约的更新。如果此IP地址有效,则DHCP服务器回应DHCPACK包,通知DHCP客户端已经获得新IP租约。 如果DHCP客户端续租地址时发送的DHCPREQUEST包中的IP地址与DHCP服务器当前分配给它的IP地址(仍在租期内)不一致,DHCP服务器将发送DHCPNAK消息给DHCP客户端。  
 
     三. DHCP客户端释放IP地址的过程
 
     l DHCP客户端已从DHCP服务器获得地址,并在租期内正常使用,如果该DHCP客户端不想再使用该地址,则需主动向DHCP服务器发送DHCPRELEASE包,以释放该地址,同时将其IP地址设为0.0.0.0。
 
                         dhcp的实用案例
    
    案例一简单的dhcp作用域配置
 
    1>打开/etc/dhcpd.conf复制 /usr/share/doc/dhcp*/dhcpd.conf.sample到yuan.conf

    2> 对conf文件进行配置 IP地址范围:192.168.142.100—192.168.142.100
      如下
      ddns-update-style none;
      ignore client-updates;

      subnet 192.168.142.0 netmask 255.255.255.0 {
         option routers                  192.168.142.1;
        option subnet-mask              255.255.255.0;

        option domain-name              "test.domain.org";
        option domain-name-servers      222.88.88.88;
       range dynamic-bootp 192.168.142.100 192.168.142.100;
        default-lease-time 21600;
        max-lease-time 43200;
}

    这样配置文件就成功了,再把dhcp服务关闭重启一下,用另一台机器当测试机测试的时候,会发现测试机的ip变成了192.168.142.100,而当我们把作用域的ip地址范围修改为固定的192.168.142.101时,测试机的也会相应的改变。并且如果在host里面我们固定了测试机的ip地址,那么测试机的地址就会固定在我们设定的那个ip上不会发生改变。