网络服务 - DHCP
00 分钟
2024-6-25
Created
Jun 14, 2024 12:40 PM
Tags

DHCP 服务

(一)服务原理

简介

Dynamic Host Configuration Protocol动态主机配置协议
  • 用于 集中管理、分配网络资源 ,使网络中的主机能动态获得IP等配置;
  • 基于UDP协议、工作在应用层、在局域网内生效。

租约建立四部曲

DHCP 租约建立
DHCP 租约建立
  1. DHCP DISCOVERDHCP 客户端 进行 IP 请求
    1. 源地址: 0.0.0.0
      目标地址: 255.255.255.255(广播)
      目标端口: UDP 67
      内容: 客户机 MAC 地址、主机名
  1. DHCP OFFERDHCP 服务器端 响应请求
    1. 源地址: 服务器 IP
      目标地址: 255.255.255.255(广播)
      内容: 服务器的 IP、MAC 地址;服务器提供的合法 IP、掩码、租约期限等
      e.g. DHCPDISCOVER from 00:0c:29:d9:3f:a5 via eth0
  1. DHCP REQUESTDHCP客户端 选择 IP
    1. 源地址: 0.0.0.0
      目标地址: 255.255.255.255(广播)
      目标端口: UDP 67
      内容: 采用某提供 IP 配置的服务器 IP、确认采用 IP 的标识
  1. DHCP ACKDHCP服务器端 确认 IP 信息
    1. 源地址: 服务器 IP
      目标地址: 255.255.255.255(广播)
      内容: 合法 IP 的有效租约等确认信息
📢
Q&A
  1. 若局域网中存在多个 DHCP 服务器?
    1. 连接第一个回复的。
  1. 若局域网中不存在 DHCP 服务器?
    1. 客户机会用169.254.0.0/16中一个地址,并每隔5min进行尝试。
  1. 若 DHCP 提供的 IP 地址不可用?
    1. 客户机不标记使用、服务器回复 DHCP NACK。

续租三节点

  • 租期50% 时,DHCP 客户机向服务器发送 DHCP REQUEST 消息,若获得 DHCP ACK 回应,则更新 TCP/IP 参数,IP 租用更新完成;
  • 未收到回复,在 租期87.5% 时,客户机再次向服务器发送 DHCP REQUEST 消息,若获得 DHCP ACK 回应,则更新 TCP/IP 参数,IP 租用更新完成;
  • 未收到回复,在 租约100% 时,客户机放弃当前 IP,向局域网中所有服务器发送 DHCP DISCOVER 消息,重新申请 IP。

(二)服务参数

(三)服务搭建流程

1. 基本架构部署

实验环境
  • 操作系统:CentOS Linux release 7.6.1810
  • 软件工具:dhcp
  • 关闭防火墙 / SELINUX
设备
属性
虚拟机网卡
本机网卡
网卡获取 IP 方式
C7 - 1
DHCP Server
VMNET 3
ens33
static, 192.168.88.10
C7 - 2
DHCP Client
VMNET 3
ens33
dhcp
服务端
  1. 安装 DHCP 服务
  1. 生成并配置 DHCP 配置文件
  1. 启动并自启动 DHCP 服务
需配置功能:声明与自身所在网段相同的 子网(subnet)地址池(range)
客户端
验证:

2. 配置保留地址功能

注:此实验环境在 基本架构部署 基础上进行
服务端
  1. 重新配置 DHCP 配置文件
  1. 重启 dhcpd 服务
需配置功能: 为同网段内指定设备的 MAC地址 保留 指定IP
📢
预留的 IP 地址,可以在地址池范围里,也可以不在;
配置多个固定地址时,host 后面的名字不能重复。

3. 部署超级作用域

注:此实验环境在 基本架构部署 基础上进行
服务端
  1. 重新配置 DHCP 配置文件
  1. 重启 dhcpd 服务
需配置功能: 单物理网络内的客户机提供 多个作用域的租约地址 (此处案例为88和99)

4. 配置单臂路由功能

注:此实验环境在 部署超级作用域 基础上进行
服务端
  1. DHCP 服务器建立子网卡,重启网络服务
  1. DHCP 服务器作网关,开启路由转发功能
  1. 重新配置 DHCP 配置文件
  1. 重启 dhcpd 服务
需配置功能: 指定默认路由为 DHCP 服务器(参数为:option routers x.x.x.x;

5. 中继服务器部署

原理:DHCP租约建立 + 跨逻辑网段通信原理
notion image
实验环境
  • 操作系统:CentOS Linux release 7.6.1810
  • 软件工具:dhcp、dhcrelay
  • 关闭防火墙 / SELINUX
设备
属性
虚拟机网卡
本机网卡
网卡获取 IP 方式
C7 - 1
DHCP Server
VMNET 3
ens33
static, 192.168.88.10
C7 - 2
DHCP Client
VMNET 5
ens33
dhcp
C7 - 3
DHCP Relay
VMNET 3
ens33
static, 192.168.88.20
VMNET 5
ens34
static, 192.168.99.20
服务端
  1. 重新配置 DHCP 配置文件
  1. 重启 dhcpd 服务
  1. 指定本机网关为 DHCP 中继服务器
需配置功能:双物理网段提供对应作用域的租约地址
中继端
  1. 安装 DHCP 中继程序(DHCP Relay Agent)——包含在 DHCP 软件包中
  1. 运行 DHCP 中继程序
客户端
验证:通过中继服务器跨网段建立租约

(四)常见报错 & 问题

  • DHCP 配置文件需复制模版 ,否则无法使用systemctl命令启动 dhcpd 服务;
  • 修改配置文件后,若服务为启动状态,需重启服务而不是启动服务;
  • 保留地址可保留地址池外地址,除却保留的 IP,其他可分配的配置依旧有效;
  • 给多台设备保留 IP 时需写不同 host ,且 host 后的名字不同。
上一篇
Linux 基础知识 往期汇总
下一篇
<K8S> vol. 01 - kubernetes 组件