一:了解DHCP服务

1.1:DHCP概述

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
DHCP一般作用在局域网中,若在广域网中使用DHCP,需要在路由器上面配置

1.2:使用DHCP好处

Internet的用户数量众多,所以不可能给每个用户固定一个IP地址,同时也为了避免浪费,我们使用DHCP服务来解决这个问题。具有以下好处:

减少管理员的工作量

避免IP地址冲突

当网络更改IP地址段时,不需要再重新配置每个用户的IP地址

提高了IP地址的利用率

方便客户端的配置

1.3:DHCP的分配方式

DHCP的典型应用模式
在网络中假设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址,子网掩码,广播地址,默认网关地址,DNS服务器地址)
其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程
这就产生了三种分配方式:自动分配,手动分配,动态分配

1.3.1:自动分配

分配到一个IP地址后永久使用

当DHCP客户机第一次成功的从DHCP服务器获取到一个IP地址后,就永久的使用这个IP地址

例如:局域网中的打印机,局域网中的座机

1.3.2:手动分配

由DHCP服务器管理员专门指定IP地址

1.3.3:动态分配

使用完后释放该IP,供其他客户机使用

当DHCP客户机第一次从DHCP服务器获得IP地址后,并非永久的使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用

二:DHCP工作原理

客户端从 DHCP 服务器获取 IP 地址的过程称之为 DHCP 租约过程,此过程主要分为以下四个步骤。

  • 客户端在网络中搜索服务器;
  • 服务器向客户端响应服务;
  • 客户端向服务器发出服务请求;
  • 服务器向客户端提供服务。

2.1 租约过程

(1)客户机请求 IP 地址

  • 当一个 DHCP 客户机启动时,客户机还没有 IP 地址,所以客户机要通过 DHCP 获取一个合法的地址。此时 DHCP
    客户机以广播方式发送 DHCP Discover 发现信息来寻找DHCP 服务器。

如图:
DHCP的原理,一看就懂!!字面意思

(2)服务器响应

  • 当 DHCP 服务器接收到来自客户机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP
    地址提供给客户机。如果有,DHCP 服务器就将此 IP 地址做上标记, 加入到 DHCP Offer 的消息中,然后 DHCP
    服务器就广播一则 DHCP Offer 消息。

如图:
DHCP的原理,一看就懂!!字面意思

(3)客户机选择 IP 地址

  • DHCP 客户机从接收到的第一个DHCP Offer 消息中提取IP 地址,发出IP 地址的DHCP
    服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机。之后 DHCP 客户机会向服务器发送 DHCP Request
    消息。

如图:
DHCP的原理,一看就懂!!字面意思

(4)服务器确定租约
DHCP 服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向客户机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息。当客户机收到 DHCP ACK
消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化

如图:
DHCP的原理,一看就懂!!字面意思

(5)重新登录

  • DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP
    Request 请求信息。

(6)更新租约

  • 当 DHCP 服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP
    Request 包,要求更新现有的地址租约。

三:DHCP服务器的配置

3.1:DHCP服务

  • 为大量客户机自动分配地址,提供集中管理
  • 减轻管理和维护成本,提高网络配置效率

3.2:可分配的地址信息主要包括

  • 网卡的IP地址,子网掩码
  • 对应的网络地址,广播地址
  • 默认网关地址
  • DNS服务器地址

3.3:安装DHCP服务器

  • DHCP服务器软件
  • centos镜像中的dhcp…rpm
  • dhcp软件包的主要文件
  • 主配置文件:/etc/dhcpd.conf
  • 执行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
  • 执行参数配置:/etc/sysconfig/dhcpd

相关文章: