4.02DHCP配置与原理

2.1DHCP工作原理

        当局域网中有大量主机时,如果逐个为每一台主机手动设置IP地址,默认网关,DNS服务器地址等网络参数,显然是一个费力也未必讨好的办法而DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)服务器的应用,正好可以解决这一问题。

1. 了解DHCP服务

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。DHCP的网络结构如图2.1所示。

2. 使用DHCP的好处

Internet是目前世界上用户最多的服务之一,有几十亿人在使用Internet。由于上网时
间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的IP地址,不仅造
成了IP地址的浪费,也会为ISP服务商带来高额的维护成本。而使用DHCP服务则有以下
好处。

> 减少管理员的工作量。
> 避免输入错误的可能。
> 避免IP地址冲突。

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

> 提高了IP地址的利用率。

> 为了方便客户端配置。

3.DHCP 的分配方式

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

在DHCP的工作原理中,DHCP服务器提供了三种IP地址分配方式:自动分配(Automatic Allocation)、手动分配和动态分配(Dynamic Allocation)。
> 自动分配是当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久地使用这个IP地址。
> 手动分配是由DHCP服务器管理员专门指定IP地址。
> 动态分配是当DHCP客户机第一次从DHCP服务器获取到IP地址后,并非永久
地使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其
他客户机使用。

4.DHCP的租约过程

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

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

其中包含的具体过程如下所示:

(1)客户机请求IP地址

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

(2)服务器响应


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

(3)客户机选择IP地址


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

(4)服务器确定租约


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

(5)重新登录

DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发
送包含前一次所分配的IP地址的DHCP Request请求信息。
(6)更新租约
当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直
接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。

2.2 使用DHCP动态配置主机地址

使用DHCP服务可以为大量客户机自动分配地址并提供集中管理,能够减轻管理和维
护成本、提高网络配置效率。其中DHCP服务可分配的地址信息主要包括:
> 网卡的IP地址、子网掩码;

> 对应的网络地址、广播地址;

> 默认网关地址;

> DNS服务器地址;

2.2.1 配置 DHCP 服务器

1. 安装DHCP服务器软件

先执行“rpm-q dhcp”命令查看系统中是否已经安装dhcp软件包,如果没有安装,则只要挂载CentOS系统光盘,安装其中的dhcp-4.2.5-47.el7.centos.x86_64.rpm软件包即可,具体操作如下。安装dhcp软件包后系统将会自动复制相关程序,并添加名为dhcpd的系统服务。

2. 建立主配置文件dhcpd.conf

dhcpd服务的主配置文件是/etc/dhcp/dhcpd.conf,但是该文件中默认不包含任何有效
配置,需要管理员手动建立。这时管理员可以根据文件中的提示,参考配置文件范本建立
新的dhcpd.conf文件。

1)letc/dhcp/dhcpd.conf文件的配置构成


在主配置文件dhcpd.conf中,可以使用声明、参数、选项这三种类型的配置,各自的作用和表现形式如下所述。
> 声明:用来描述dhcpd服务器中对网络布局的划分,是网络设置的逻辑范围。较常见的声明是subnet、host,其中subnet声明用来约束一个网段,host声明用来约束一台特定的主机。
> 参数:由配置关键字和对应的值组成,总是以“;”(分号)结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性(如默认租约时间、最大租约时间等)。
> 选项:由“option”引导,后面跟具体的配置关键字和对应的值,也是以“;”结束,用于指定分配给客户机的各种地址参数(如默认网关地址、子网掩码、DNS服务器地址等)。

2)dhcpd 服务的全局配置

为了使配置文件的结构更加清晰,全局配置通常会放在配置文件dhcpd.conf的开头部分,可以是配置参数,也可以是配置选项。常用的全局配置参数和选项如下所述。
> ddns-update-style,动态DNS更新模式。用来设置与DHCP服务相关联的DNS数据动态更新模式。在实际的DHCP应用中很少用到该参数,将值设为“none”即可。

> default-lease-time,默认租约时间。单位为秒,表示客户端可以从DHCP服务器租用某个IP地址的默认时间。
> max-lease-time,最大租约时间。单位为秒,表示允许DHCP客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间。
> option domain-name,默认搜索区域。为客户机指定解析主机名时的默认搜索域,该配置选项将体现在客户机的/etc/resolv.conf配置文件中,如“search benet.com”。

> option domain-name-servers,DNS服务器地址。为客户机指定解析域名时使用的DNS服务器地址,该配置选项同样将体现在客户机的/etc/resolv.conf配置文件中(如“nameserver 202.106.0.20”)。需设置多个DNS服务器地址时,以逗号进行分隔。
例如,若需要为局域网搭建一台DHCP服务器,所有网段使用相同的租约时间,默认
搜索域为bdqn.com,DNS服务器地址为202.106.0.20和202.106.148.1,则可以修改
dhcpd.conf配置文件,参考以下操作调整全局配置。

3)subnet网段声明

一台DHCP服务器可以为多个网段提供服务,因此subnet网段声明必须有而且可以有多个。例如,若要DHCP服务器为192.168.4.0/24网段提供服务,用于自动分配的IP地址范围为192.168.4.128~192.168.4.254,为客户机指定默认网关地址为192.168.4.1,则可以修改dhcpd.conf配置文件,参考以下内容调整subnet网段声明。

4)host主机声明(可选)

host声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的IP地址(保留地址),这些主机的共同特点是要求每次获取的IP地址相同,以确保服务的稳定性。host声明通过host关键字指定需要使用保留地址的客户机名称,并使用“hardwareethernet”参数指定该主机的MAC地址,使用“fixed-address”参数指定保留给该主机的IP地址。例如,若要为打印机prtsvr(MAC地址为00:c0:c3:22:46:81)分配固定的IP地址192.168.4.100,可以修改dhcpd.conf配置文件,参考以下内容在网段声明内添加host主机声明。

3. 启动dhcpd服务

在启动dhcpd服务之前,应确认提供DHCP服务器的网络接口具有静态指定的固定IP地址,并且至少有一个网络接口的IP地址与DHCP服务器中的一个subnet网段相对应,否则将无法正常启动dhcpd服务。例如,DHCP服务器的IP地址为192.168.4.11,用于为网段192.168.4.0/24内的其他客户机提供自动分配地址服务。安装 dhcp 软件包以后,对应的系统服务脚本位于
/usr/lib/systemd/system/dhcpd.service,可以使用systemd服务进行控制。例如,执行以下操作可以启动dhcpd服务,并检查UDP的67端口是否在监听,以确认DHCP服务器是否正常。

需要关闭、重启dhcpd服务时,只要将上述操作命令中的“start”改为“stop”或“restart”
即可。如果dhcpd服务启动失败,可以检查日志文件/var/log/messages末尾的错误提示信
息,并根据提示进行排错。

2.2.2 使用DHCP 客户端

当局域网内有可用的DHCP服务器时,在Linux客户机中可以设置使用DHCP的方式
获取地址。只需要编辑对应网卡的配置文件,修改或添加“BOOTPROTO=dhcp”配置行,并
重新加载配置文件或者重新启动network服务即可。例如,执行以下操作可修改网卡配置文
件,并重新加载配置以通过DHCP方式自动获取地址。

在Linux客户机中,还可以使用dhclient工具来测试DHCP服务器。若直接执行“dhclient”命令,则dhclient将尝试为除回环接口lo以外的所有网络接口通过DHCP方式申请新的地址,然后自动转入后台继续运行。当然,测试时可以指定一个具体的网络接口,并结合“-d”选项使其在前台运行,测试完毕后按Ctrl+C组合键终止。例如,执行“dhclient-d ens33”命令后,可以为网卡ens33自动获取新的IP地址,并显示获取过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值