一、DHCP的基本原理

1.dhcp是什么?

动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

2.DHCP的工作流程分为四步:

2.1、客户机请求 IP(DHCPdiscover)
2.2、服务器响应(DHCPoffer)
2.3、客户机选择 IP(DHCPrequest)
2.4、服务器确认 IP租约(DHCPack/DHCPnak)

分析一下:

     客户机请求 IP(DHCPdiscover)
当客户机设置使用 DHCP协议获取 IP时,客户机将使用 0.0.0.0作为源地址,使用255.255.255.255作为目标地址来广播请求 IP地址的信息。广播信息中包含 DHCP客户机的MAC地址和计算机名。(这里的 MAC地址可不是 FFFF.FFFF.FFFF的 MAC 广播哦~)

    服务器响应(DHCPoffer)
由于是广播所以同一网段内的计算机都会“听”到!DHCP服务器当然也不例外。DHCP服务器“听”到后,它首先会针对该次请求的信息所携带的 MAC地址与 DHCP主机本身的设置值进行对比。如果 DHCP主机的设置中有针对该 MAC 提供的静态 IP(每次都给一个固定 IP),则提供给客户机相关的固定 IP与相关的网络参数;如果该信息的 MAC并不在 DHCP主机的设置中,则 DHCP主机会选取当前网段内没有使用的IP给客户机使用!当然这里的响应,服务器也是采用 255.255.255.255的广播,因为此时客户机还没 IP哦~
这里有几个要注意的地方:
如果同一网段内有多台 DHCP服务器,那么客户机是看谁先响应,谁先响应就选择谁。
在 DHCP主机发给客户端的信息中,会附带一个“租约期限”信息,用来告诉客户机这个 IP能用多久!

   客户机选择 IP(DHCPrequest)
当客户机接收到响应的信息之后,首先会以 ARP在网段内广播(ARP使用全 1的广播 MAC地址),以确定来自 DHCP服务器的 IP没被占用!如果该 IP被占用,那么客户机对于这次的 DHCP信息将不接受,而是再次发送 DHCP请求。若该 IP没有被占用,客户机则接受 DHCP服务器所给的网络参数。同时,客户机发出一个广播,通知所挑选的 DHCP服务器(有多台 DHCP服务器存在时),当然此时也是通知其它的 DHCP服务器,让这些 DHCP服务器将本预分配给客户机的 IP释放掉!(这里的概念一定要弄清楚!)注意,这一步客户机并还没有应用从 DHCP服务器获取到 IP哦!所以这一步源地址还是0.0.0.0,目标地址是 255.255.255.255。

     服务器确认 IP租约(DHCPack/DHCPnak
终于到最后一步了,DHCP服务器收到客户机选择 IP的广播后,则以 DHCPack消息的形式向客户机广播成功的确认。DHCPack包含:IP、掩码、网关、DNS等。当然上面还有一个 DHCPnak,一看就知道是不成功的意思!那么,哪些情况才会有这种广播呢?
例如,IP地址已无效或这个地址已被其它的客户机使用了

此时,当客户机收到 DHCP服务器的 DHCPack消息后,客户机便使用了 DHCP服务器所给的网络参数!这里的四个步骤可都是用的广播哦,不知道大家有没有注意!呵呵~到此,我们的 DHCP原理就讲完了,下面我还给补充了点东东,希望对大家有用:

  3 .当我们的客户机无法找到 DHCP服务器时,它将从 TCP/IP的 B类网段 169.254.0.0中挑选一个 IP地址作为自己的 IP地址,而继续每隔 5分钟尝试与 DHCP服务器进行通信。(这里的这个 B类地址被称为 APIPA,即自动分配私有 IP地址!)

4.IP租约的更新,当客户机重新启动或租期达 50%时,客户机不会从第一步(DHCPdiscover)开始重新申请 IP,而是从第三步(DHCPrequest)开始哦~只有当租期达 87.5%时,它才从第一步(DHCPdiscover)开始重新申请!达到100%即终止使用,该ip收回!

5.客户机获取ip的两条命令

ipconfig/release : 是用来 IP租约的释放。使用 DHCPrelease消息!

ipconfig/renew : 是用来 IP租约的更新。使用 DHCPdiscover消息!

二、DHCP的应用!

案例一:单作用域(用绑定网卡实现把一个网段分配出去)

由于eth1 网卡连接已断开

测试:两台机器都选在同一区域,vmware2

注意:第一台机器用的是双网卡绑定,所以两块网卡都必须选择相同区域!

测试机,先配一个静态IP, 看看是否能通信,

将其设为自动获取方式!

案例二:超级作用域

案例三、按照客户机的类别分配IP地址

将客户机按照某种属性分类,根据不同的属性类分配不同范围的地址,如:

案例四、DHCP中继

如果/etc/dhcpd.conf配置文件丢失怎么办?

如果编辑该文件时,有一串东西阻挡,该怎么办?

执行rm /etc/.dhcpd.conf.swp

服务器配置:

临时配网关:

永久配:setup

路由器配置(主机):添加三块网卡

(注意,在这里启用的不是dhcp服务)