Linux--DHCP 原理与配置

一、DHCP 工作原理

1.1、了解DHCP 服务

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

1.2、使用DHCP 的好处

减少管理员的工作量。

避免输入错误的可能。

避免 IP 地址冲突。

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

提高了 IP 地址的利用率。

方便客户端的配置。

1.3、DHCP 的分配方式

在 DHCP 的工作原理中, DHCP 服务器提供了三种 IP 地址分配方式:自动分配
(Automatic Allocation)、手动分配和动态分配(Dynamic Allocation)。

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

手动分配:由 DHCP 服务器管理员专门指定 IP 地址。

动态分配:当 DHCP 客户机第一次从 DHCP 服务器获取到 IP 地址后,并非永久地使用该地址,而是在每次使用完后,DHCP 客户机就会释放这个 IP 地址,供其他客户机使用。

1.4、DHCP 的租约过程

客户端从 DHCP 服务器获取 IP 地址的过程称之为 DHCP 租约过程,此过程主要分为以下四个步骤。
客户端在网络中搜索服务器;
服务器向客户端响应服务;
客户端向服务器发出服务请求;
服务器向客户端提供服务。

在这里插入图片描述
(1)客户机请求 IP 地址
当一个 DHCP 客户机启动时,客户机还没有 IP 地址,所以客户机要通过 DHCP 获取一个合法的地址。此时 DHCP 客户机以广播方式发送 DHCP Discover 发现信息来寻找DHCP 服务器
在这里插入图片描述
(2)服务器响应
当 DHCP 服务器接收到来自客户机请求 IP 地址的信息时,它就在自己的 IP 地址池中查找是否有合法的 IP 地址提供给客户机。如果有,DHCP 服务器就将此 IP 地址做上标记, 加入到 DHCP Offer 的消息中,然后 DHCP 服务器就广播一则 DHCP Offer 消息。
在这里插入图片描述
(3)客户机选择 IP 地址
DHCP 客户机从接收到的第一个DHCP Offer 消息中提取IP 地址,发出IP 地址的DHCP 服务器将该地址保留,这样该地址就不能再分配给另一个 DHCP 客户机。之后 DHCP 客户机会向服务器发送 DHCP Request 消息。
在这里插入图片描述
(4)服务器确定租约
DHCP 服务器接收到 DHCP Request 消息后,以 DHCP ACK 消息的形式向客户机广播成功确认,该消息包含有 IP 地址的有效租约和其他可配置的信息。当客户机收到 DHCP ACK消息时,它就配置了 IP 地址,完成 TCP/IP 的初始化。
在这里插入图片描述
(5)重新登录
DHCP 客户机每次重新登录网络时,不需要再发送 DHCP Discover 信息,而是直接发送包含前一次所分配的 IP 地址的 DHCP Request 请求信息。
在这里插入图片描述
(6)更新租约
当 DHCP 服务器向客户机出租的 IP 地址租期达到 50%时,就需要更新租约。客户机直接向提供租约的服务器发送 DHCP Request 包,要求更新现有的地址租约。

二、使用DHCP 动态配置主机地址

使用 DHCP 服务可以为大量客户机自动分配地址并提供集中管理

减轻管理和维护成本、提高网络配置效率。

DHCP 服务可分配的地址信息主要包括:

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

2.1、配置DHCP 服务器

2.1.1、安装DHCP 服务器软件

DHCP服务器软件
centos镜像中的dhcp…rpm

dhcp软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd,/usr/sbin/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd

2.1.2、建立主配置文件

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

在这里插入图片描述
声明:用来描述 dhcpd 服务器中对网络布局的划分,是网络设置的逻辑范围。较常见的声明是 subnet、host,其中 subnet 声明用来约束一个网段,host 声明用来约束一台特定的主机。

参数:由配置关键字和对应的值组成,总是以“;”(分号)结束,一般位于指定的声 明范围之内,用来设置所在范围的运行特性(如默认租约时间、最大租约时间等)。

选项:由“option”引导,后面跟具体的配置关键字和对应的值,也是以“;”结束, 用于指定分配给客户机的各种地址参数(如默认网关地址、子网掩码、DNS 服务器地址等)。
(2)dhcpd 服务的全局配置

常用配置选项和参数 含义
ddns-update-style 动态 DNS 更新模式
default-lease-time 默认租约时间
max-lease-time 最大租约时间
option domain-name 默认搜索区域
option domain-name-servers DNS 服务器地址

(3)subnet 网段声明,作用于整个子网段

range参数:设置用于分配的IP地址池

option subnet-mask 参数: 设置客户机的子网掩码

option routers 参数: 设置客户机的默认网关地址

(4)host 主机声明,作用单个主机
host 声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的 IP 地址(保留地址),这些主机的共同特点是要求每次获取的 IP 地址相同,以确保服务的稳定性。

hardware ethernet 参数:指定对应主机的MAC地址

fixed-address参数:指定为该主机保留的IP地址

2.1.3、启动DCHP 服务

启动服务

[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# netstat -anpu | grep ":67"
udp	0	0 0.0.0.0:67	0.0.0.0:*	5684/dhcpd

查看租约文件 /var/lib/dhcpd/dhcpd.lease

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

2.2、使用DHCP 客户端

(1)编辑对应网卡的配置文件

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes 
BOOTPROTO=dhcp
[root@localhost ~]# ifdown ens33 ; ifup ens33

其中BOOTPROTO=dhcp
(2)使用dhclient

命令基本格式
dhclient [-d] [网络接口名]
例如
[root@localhost ~]# dhclient -d ens33

2.3、DHCP 中继

2.3.1、DHCP 中继原理

当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是在该情况下一台 DHCP 服务器无法为不同网段的客户机同时提供服务,因为 DHCP 协议使用广播,而 VLAN 能隔离广播。

例如:
DHCP 服务器在 VLAN 100 中,就只有 VLAN 100 内的客户机能从 DHCP 服务器那里获取 IP 地址。如果 VLAN 2 或 VLAN 3 的客户机就无法通过这台 DHCP 服务器来获取 IP 地址。

2.3.2、DHCP 中继配置

DHCP中继的配置命令

命令基本格式
ip helper-address HDCPsrv-IPAddress
(HDCPsrv-IPAddress为DHCP服务器的IP地址)

猜你喜欢

转载自blog.csdn.net/weixin_48191211/article/details/109187186