1. 原理介绍

1)客户机第一次初始化时,由于没有IP地址,也不知道DHCP服务器的IP地址,因而
以0.0.0.0作为源地址,255.255.255.255为目标地址发送IP地址租用请求。DHCPDISCOVER信息还包含它的网卡地址和计算机名称,以便让DHCP服务器清楚是谁在发送。客户机以前租用的IP地址被释放后发生新的租用;DHCP服务器拒绝或撤消了租用。这两种情况也可能产生租用请求。

(2)收到信息的DHCP服务器发送DHCPOFFER信息表示可以提供IP租用,因客户机没有IP地址,这条消息也是以广播形式发布。DHCPOFFER中包含了客户机的网卡地址、提供的IP地址、子网掩码和DHCP服务器的标识。同时,DHCP服务器保留IP地址,以防提供给另一台客户机。

3)客户机将从收到的第一条DHCPOFFER中选择IP地址,然后向所有DHCP服务器广播DHCPREQUEST,声明接受了某个DHCPOFFER。所有其它的DHCP服务器则撤消提供,释放IP地址,以便使其可以提供给下一个地址租用。

(4)收到DHCPREQUEST的服务器广播DHCPACK认可租用,客户机随后完成TCP/IP的初始化,实现绑定的客户机即可在网络上使用TCP/IP协议进行通信。

如果客户机试图租用它以前的IP地址,但该地址以不存在或因移动到其它子网而导致
无效,DHCP服务器就广播DHCPNACK宣布认可失败,客户机重新开始广播IP租用请求。

客户机的IP地址租用时间剩下50%时,向得到租用的DHCP服务器发送DHCPREQUEST,准备刷新它的租用。如果该服务器仍在工作,它发送带有新租用时间的HDCPACK;否则客户机将继续使用该IP地址。当租用时间剩下15%时,客户机将向所有DHCP服务器广播DHCPREQUEST,任何DHCP服务器可以通过DHCPACK刷新租用或DHCPNACK强制客户机重新初始化。DHCP客户机在到期后停止使用该IP地址,开始新的租用,基于TCP/IP的通信也将停止。

2案例应用

   1)简介:一台dhcp服务器和一台pc机,实现简单的dhcp地址分配

      规划:dhcp服务器ip地址:192.168.6.100 /24

            通过虚拟机进行实验,在客户机上自动获得ip地址

      拓扑图:

DHCP服务器在企业网中的应用_服务器

      步骤:<1>配置dhcp-server

      [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/  (挂载光盘,安装dhcp包)

      [root@localhost ~]# cd /mnt/cdrom/Server/

      [root@localhost Server]# yum  install dhcp-3.0.5-21.el5.i386.rpm

      [root@localhost ~]# vim /etc/dhcpd.conf  (编辑配置文件)

      该文件初始只有两行,可以通过:r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample 来读取 

样例文件来进行修改。配置完成的状态如下:

DHCP服务器在企业网中的应用_客户机_02

[root@localhost ~]# service dhcpd restart

[root@localhost ~]# chkconfig dhcpd on   (每次开机启动)

dhcp-client 测试:重启网卡

DHCP服务器在企业网中的应用_客户机_03

结果  (已分配到192.168.6.253)

DHCP服务器在企业网中的应用_服务器_04

如果想做mac地址绑定则需修改/etc/dhcpd.conf文件,为了防止该地址被分配出去产生冲突,还需要在地址池中将其排除掉。例:(dhcp服务器的地址不能动态分配,需要绑定192.168.6.100 )

DHCP服务器在企业网中的应用_休闲_05

   2) 案例简介

      dhcp中继的实现, 假设该公司划有tec,mkt,和server 3个vlan ,dhcp服务器处于eth0接口所连接的vlan,teth1连接tec,eth2连接mkt,为了是每台主机都能自动获得ip地址,需要实现dhcp中继,本例以linux服务器作为中继服务器,该服务器装有三个网卡,eth0,eth1,eth2,由于在虚拟机上进行实验,所以eth0以vm1区域连接,eth1以vm2连接,eth2以vm3连接,分别模拟不同的vlan。

Ip地址规划:

eth0

192.168.6.254

eth1

192.168.4.254

eth2

192.168.5.254

dhcp服务器

192.168.6.100

拓扑图:

DHCP服务器在企业网中的应用_IP地址_06

步骤:配置dhcp中继服务器

   首先配置3块网卡的ip地址,可通过setup或者编辑网卡文件,本机样例如下:

DHCP服务器在企业网中的应用_休闲_07

分别将该机3块网卡设置成对应的区域,将dhcpserver的eth0网卡的默认网关设置为192.168.6.254

,该案例使用上例的dhcpserver。

[root@dhcprelaysever ~]# mount /dev/cdrom /mnt/cdrom/

[root@dhcprelaysever ~]# cd /mnt/cdrom/Server/

[root@dhcprelaysever Server]# rpm  -ivh dhcp-3.0.5-21.el5.i386.rpm (安装该包,该包中包含dhcrelay)

[root@dhcprelaysever ~]# vim /etc/sysconfig/dhcrelay   (编辑配置文件)

DHCP服务器在企业网中的应用_服务器_08

[root@dhcprelaysever ~]# service dhcrelay configtest    (测试是否有语法错误)

[root@dhcprelaysever ~]# vim /etc/sysctl.conf   (以下是开启转发功能)

DHCP服务器在企业网中的应用_休闲_09

[root@dhcprelaysever ~]# sysctl -p    (该种开启方式必须执行该命令才能生效)

DHCP服务器在企业网中的应用_信息_10

[root@dhcprelaysever ~]# chkconfig dhcrelay on

[root@dhcprelaysever ~]# service dhcrelay start

配置dhcp服务器:

[root@localhost ~]# vim /etc/dhcpd.conf

DHCP服务器在企业网中的应用_信息_11

[root@localhost ~]# service dhcpd configtest    (测试是否有语法错误)

[root@localhost ~]# service dhcpd restart

在另一台pc机上进行测试:

DHCP服务器在企业网中的应用_信息_12

DHCP服务器在企业网中的应用_服务器_13

另一个区域测试:

DHCP服务器在企业网中的应用_IP地址_14

小结:通过该实验案例,对dhcp的分配机制有了更深的理解。