原理:

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

1、DHCP地址分配的三种方式:

1)Manual方式:

在DHCP服务器上,管理员需要手动的做出mac与ip地址的对应关系;

这种分配属于mac--ip 永久绑定;

优势:实现了动态分配;

缺点:地址利用率低;

2)Automatic方式:

在DHCP服务器上做出地址池(起始--结束);

客户端发出请求,服务器将挑出一个没有被占用的地址分配给客户端;

这种分配属于mac--ip 永久绑定;

优势:实现了动态分配;

缺点:地址利用率低;

3)Dynamic方式:

在DHCP服务器上做出地址池(起始--结束);

客户端发出请求,服务器将挑出一个没有被占用的地址分配给客户端;

这种分配的mac -- ip 对应关系是有租期的,能够实现地址回收;

优势:实现了动态分配,地址利用率高;

2、DHCP地址获得的过程:

wps_clip_image-24772

第一步:

客户端发送一个DHCPDISCOVER广播包,等待DHCP服务器回应;

第一步:

DHCP服务器收到来自客户端的广播后;

服务器从地址池中选择一个没有被占用的地址;

并向客户端发送一个DHCPOFFER广播包,其中包括了将要分配给客户端ip地址的信息;

第三步:

客户端接收到最先到达的DHCPOFFER 广播包,向服务器发送一个DHCPREQUEST包,表示要求使用这个ip地址;

第四步:

DHCP服务器收到来自客户端的DHCPREQUEST包后,向客户端回应一个DHCPACK包,对客户端请求确认;

DHCPACK广播包中包括:地址、掩码、网关、dns、租约合同等信息;

3、DHCP客户端地址更新的过程:

当租用时间达到租约期限的50%时,DHCP客户端自动尝试续订租约。为续订租约,DHCP客户端直接向提供租约的DHCP服务器发送一条DHCPDISREQUEST消息。如果DHCP服务器可用,DHCP服务器将续订租约并向客户端发送一条DHCPACK消息,如果DHCP服务器不可用,则客户端将继续使用当前的配置参数。

当租约时间的87.5%时,客户端会广播一条DHCPDISCOVER消息来更新其地址租约。如果DHCP服务器以一条DHCPOFFER消息相应来更新客户端当前租约,那么客户端可以基于提供消息的服务器续订租约并继续运行。

如果租约到期了,那么客户端必须立即释放当前使用的IP地址。然后,DHCP客户端重新开始DHCP租约过程,尝试租用一个新的IP地址。

案例 - 1

1、实验说明:

某企业有一个私有网段192.168.10.0/24,处于节省成本和充分利用内部服务器,并对ip地址惊醒合理分配和统一管理,需要使用一台DHCP服务器来解决以上问题。

2、拓扑图:

wps_clip_image-16265

3、实验要求:

给客户端分配的ip地址段是192.168.10.0/24;

192.168.10.1属于网关地址;

192.168.10.2属于服务器地址,需要进行地址绑定;

4、环境搭建:

5、实验步骤:

1)光盘挂载:

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

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost ~]#

2)查看DHCP安装包:

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

[root@localhost Server]# ll |grep dhcp

-r--r--r-- 108 root root   886718 Jul 16  2009 dhcp-3.0.5-21.el5.i386.rpm

3)安装DHCP服务:

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

warning: dhcp-3.0.5-21.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:dhcp                   ########################################### [100%]

[root@localhost Server]#

4)查看DHCP服务的配置文档:

wps_clip_image-12613

wps_clip_image-20626

5)编编辑DHCP的配置文档:

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

wps_clip_image-30721

a、在底行模式下读入DHCP样例文件:

wps_clip_image-15522

b、编辑:

wps_clip_image-7460

6)检测配置文档的正确性:

[root@localhost ~]# service dhcpd configtest

Syntax: OK

[root@localhost ~]#

7)启动服务:

[root@localhost ~]# service dhcpd start

Starting dhcpd:                                            [  OK  ]

[root@localhost ~]#

6、测试:

1)配置测试机环境:

wps_clip_image-4828

2)网卡设置成为动态获得地址:

wps_clip_image-17576

3)查看地址获得情况:

wps_clip_image-11351

4)查看DHCP服务器租约文件:

[root@localhost ~]# vim /var/lib/dhcpd/dhcpd.leases

wps_clip_image-7237

5)测试DHCP地址绑定:

wps_clip_image-15611]

6)查看网卡配置信息:

wps_clip_image-6408

7)重启网卡服务,用来获得动态地址:

[root@localhost ~]# service network restart

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:

Determining IP information for eth0... done.

                                                           [  OK  ]

[root@localhost ~]#

8)查看地址信息:

wps_clip_image-23364

9)查看网关:

wps_clip_image-7833

7、实验小结:

在Linux中必需有一个与本机地址在同一网段的subnet声明,不然服务无法启动。

案例 - 2

1、实验说明:

某企业有两个私有网段192.168.1.0/24和192.168.2.0/24,处于节省成本和充分利用内部服务器,并对ip地址惊醒合理分配和统一管理,需要使用一台DHCP服务器来解决以上问题。

2、拓扑图:

3、实验要求:

192.168.1.0/24网段的网关192.168.1.1/24,地址池应该排除此地址;

192.168.2.0/24网段的网关192.168.2.1/24,地址池应该排除此地址;

4、实验步骤:

1)编辑配置文档:

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

wps_clip_image-17854

2)检测配置文档的正确性:

[root@localhost ~]# service dhcpd configtest

Syntax: OK

[root@localhost ~]#

3)启动服务:

[root@localhost ~]# service dhcpd restart

Shutting down dhcpd:                                       [  OK  ]

Starting dhcpd:                                            [  OK  ]

[root@localhost ~]#

5、测试:

1)为了方便测试,我们再此将超级作用域中的子作用域的地址池个数设置成一个地址:

wps_clip_image-9693

2)测试机PC 1:

a、将网卡设置成动态获得地址:

wps_clip_image-25562

b、从DHCP服务器获取ip地址:

wps_clip_image-19017

3)测试PC 2:

a、将网卡设置成动态获得地址:

wps_clip_image-17270

b、从DHCP服务器获取ip地址:

wps_clip_image-26994

4)查看DHCP服务器租约文件:

[root@localhost ~]# vim /var/lib/dhcpd/dhcpd.leases

wps_clip_image-15903

6、实验小结:

在Linux中必需有一个与本机地址在同一网段的subnet声明,不然服务无法启动;

只有在第一个地址池的地址被获取完后,才能够获取第二个地址池的地址;

案例 - 3

1、实验说明:

企业中有多个部门,希望将不同的部门划分到不同的区域,并通过一台DHCP服务器动态获得IP地址,不同的部门获得不同网段的地址;

2、拓扑图:

wps_clip_image-15015

3、实验要求:

不同的VLAN获取不同网段的地址;

通过DHCP中继,获取外部区域DHCP服务器地址;

4、环境搭建:

1)DHCP服务器网卡:

wps_clip_image-10775

2)Linux系统实现DHCP中继网卡:

wps_clip_image-28319

3)VLAN 10区域测试机网卡:

wps_clip_image-25262

4)VLAN 20区域测试机网卡:

wps_clip_image-4864

5、实验步骤:

1)配置DHCP服务器网卡信息:

wps_clip_image-10299

2)重启网卡服务:

wps_clip_image-21219

3)编辑DHCP服务器配置文件:

wps_clip_image-15633

4)配置每个端口的地址:

wps_clip_image-1157

wps_clip_image-3810

wps_clip_image-13711

5)重启网卡:

wps_clip_image-30828

6)开启路由转发:

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

wps_clip_image-12956

wps_clip_image-17767

7)安装dhcp中继包:

挂载光盘:

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

mount: block device /dev/cdrom is write-protected, mounting read-only

[root@localhost ~]#

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

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

warning: dhcp-3.0.5-21.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:dhcp                   ########################################### [100%]

[root@localhost Server]#

8)编辑DHCP中继配置文件:

[root@localhost Server]# vim /etc/sysconfig/dhcrelay

wps_clip_image-11234

9)启动中继服务:

wps_clip_image-13069

6、测试:

1)查看中继服务器网卡配置信息:

wps_clip_image-14771

2)查看系统的路由:

wps_clip_image-16498
3)查看VLAN 10区域,地址获得:

wps_clip_image-4165

4)查看域名情况:

wps_clip_image-12810

5)查看VLAN 20区域,地址获得:

wps_clip_image-8368

6)查看域名情况:

wps_clip_image-461