DHCP 即动态主机配置协议,DHCP为互联网上主机提供配置参数。DHCP是基于Client/Server工作模式,DHCP服务器为需要动态配置的主机分配IP地址和提供主机配置参数,如子网掩码,网关,DNS,租期等。

          DHCP有三种机制分配IP地址:

          1)       手工配置,由网络管理员给客户端指定IP地址。管理员可以通过DHCP将指定的IP地址发给客户端。

          2)       自动分配,DHCP给客户端分配永久性的IP地址;

          3)       动态分配,DHCP给客户端分配过一段时间会过期的IP地址(或者客户端可以主动释放该地址);

三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。现在在企业中用的最多的还是手工配置(地址绑定)和动态分配

       客户端获取地址的流程:

客户端          dhcpdiscover ---》     dhcp服务器

                      dhcpoffer 《-----

                     dhcprequest ----》

                      dhcpack  《----

以上四种包都为广播包

 

      租期确定
1.重新启动时会发送  dhcprequest 

2. 50%     再次发送dhcprequest 得不到服务器响应地址也还可以使用

3.  87.5%    dhcpdiscover 此时如果还得不到回应则重复(4步骤)  100%  终止使用 

 

配置文件  /etc/dhcpd.conf


作用域 subnet   范围 {

         option   router  网关;

        option  domain-name-server   dns服务器列表;

        range   起始地址    结束地址;

     
       绑定  host  名称1 {

                         绑定的ip地址;
                         绑定的mac地址;
                       }
       绑定  host  名称n {

                         绑定的ip地址;
                         绑定的mac地址;

                        }

    }

 

同一个局域网内为客户分配不同网段的地址或客户端多个时使用 超级作用域 
shared-network  名称   {
    基本作用域1  subnet  范围{


           ......

                         }

  基本作用域n  subnet  范围{


           ......

                         }

示例

  

因为在地址的获取过程中所发送的包都是广播包,而在一个局域网段中又没有dhcp服务器存在时路由器不允许广播包通过,所以此时要使用dhcp中继勒

dhcp  中继

dhcp clinet   dhcpserver  不在同一个网段

1)路由器可以实现

DHCP中继的实质


广播报 ---》单播包


2)linux 平台下实现中继

服务器的配置:
安装  dhcp-3.0.5

 vim  /etc/dhcpd.conf

service  dhcpd configtest                //测试语法

service  dhcpd  restart                    //重启服务

 

linux中继所做配置:

安装dhcp服务

rpm  -ivh dhcp-3.0.5
编辑 /etc/sysconfig/dhcrelay

 interface="客户接口   服务其接口“

 server=”dhcp 服务器地址“

 

service  dhcrelay  configtest                 //测试

chkconfig dhcrelay on

server dhcrelay start

server  dhcrelay configtest

打开数据包转发功能


echo "1" >/proc/sys/net/ipv4/ip_forward


或编辑  /etc/sysctl.conf
    net.ipv4.ip_forward  =1   

     ssysctl-p

3)windows2003平台下实现dhcp中继

程序--->管理工具---->路由和远程访问--->右击win2003--->配置并启用路由和远程访问选项--->下一步--->自定义配置--->LAN路由--->下一步---->完成

在win2003下找到IP路由选择--->常规--->新增路由协议--->DHCP中继代理程序(此时win2003下多了一个DHCP中继代理程序)

在win2003下找到DHCP中继代理|右击--->新增接口--->选你本机连接的需要代理的网段的接口

DHCP 中继代理程序--->属性--->服务器地址

 


客户的分类


class "名称" {
         match if substring (option  vendor-class-identifier,0,4) = "dvdsl";
         spawn with option agent.circuit-id;
         lease limit 16;
       }