当前位置: 首页 > news >正文

DHCP 服务详解与部署

DHCP 服务详解与部署

一、DHCP 服务概述

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种运行在应用层的网络协议,用于自动为网络设备分配 IP 地址、子网掩码、网关、DNS 等网络参数,简化网络配置流程,避免手动设置导致的 IP 冲突等问题。

核心特性

  • 自动化配置:无需手动为每个设备设置网络参数,降低管理成本。
  • 集中化管理:通过 DHCP 服务器统一管理 IP 地址池,合理分配网络资源。
  • 动态调整:支持 IP 地址租约管理,设备离线后自动回收 IP,提高地址利用率。

二、DHCP 核心概念与工作原理

1. 关键概念

术语

说明

DHCP 客户端

需获取 IP 地址的设备(如电脑、手机、服务器)。

DHCP 服务器

负责分配 IP 地址和网络参数的服务器,存储 IP 地址池和配置规则。

DHCP 中继代理

用于跨网段转发 DHCP 报文的设备(如路由器、三层交换机),解决广播报文无法跨网段传播的问题。

作用域(Subnet)

服务器管理的 IP 地址网段(如 192.168.100.0/24),包含地址池和网络参数。

地址池

作用域内可分配给客户端的 IP 地址范围(如 192.168.100.50-100)。

租约

IP 地址的有效使用时间,到期前客户端需续租,避免地址长期占用。

保留地址

通过 MAC 地址绑定的固定 IP 地址,确保特定设备始终获取相同 IP(如服务器、打印机)。

2. 端口与协议

  • DHCP 使用 UDP 协议,服务器监听 UDP 67 端口,客户端通过 UDP 68 端口 回应。
  • IPv6 环境中,DHCPv6 客户端使用 UDP 546 端口

3. 工作原理(四步握手流程)

DHCP 客户端获取 IP 地址的过程分为四个阶段:

  • DHCP Discover(发现阶段)

        客户端启动后,以广播形式发送 DHCP Discover 报文,寻找网络中的 DHCP 服务器(源 IP为 0.0.0.0,目标 IP 为 255.255.255.255)。

  • DHCP Offer(提供阶段)

        DHCP 服务器收到请求后,从地址池中选择一个未分配的 IP 地址,连同子网掩码、网关、DNS、租约时间等参数,通过 DHCP Offer 报文广播回应客户端。

  • DHCP Request(请求阶段)

        客户端若收到多个服务器的 Offer,选择第一个响应的服务器,广播发送 DHCP Request 报文,确认使用该 IP 地址,并通知其他服务器放弃提供。

  • DHCP ACK(确认阶段)

        被选中的服务器收到请求后,确认 IP 地址未被占用,通过 DHCP ACK 报文广播回复客户端,正式分配 IP 地址,客户端此时可使用该 IP 接入网络。

三、DHCP 服务器部署(基础配置)

以下以 CentOS 7 为例,部署基础 DHCP 服务器,为单一网段分配 IP 地址。

1. 环境准备

  • 服务器 IP:192.168.100.10/24(静态 IP,确保与客户端同网段)。
  • 关闭防火墙和 SELinux(生产环境需开放 UDP 67/68 端口):
systemctl stop firewalld
systemctl disable firewalldsetenforce 0 # 关闭 SELinuxvim /etc/selinux/config # 永久关闭:SELINUX=disabled

2. 安装 DHCP 服务

yum -y install dhcp # 安装 DHCP 服务器软件

3. 配置 DHCP 主配置文件

DHCP 主配置文件为 /etc/dhcp/dhcpd.conf,默认为空,需基于模板文件修改:

# 复制模板文件到主配置文件cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

编辑配置文件:

vim /etc/dhcp/dhcpd.conf
(1)基础网段配置(核心)
# 定义网段(192.168.100.0/24)subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.50 192.168.100.100; # 可分配的 IP 地址池option domain-name-servers 192.168.100.1; # DNS 服务器地址option domain-name "example.org"; # 域名(可选)option routers 192.168.100.254; # 默认网关地址default-lease-time 600; # 默认租约时间(10分钟)max-lease-time 7200; # 最大租约时间(2小时)}
(2)配置保留地址(可选)

为特定设备(通过 MAC 地址识别)分配固定 IP:

# 为 MAC 地址为 00:11:22:33:44:55 的设备分配固定 IP 192.168.100.20host static-host {hardware ethernet 00:11:22:33:44:55; # 目标设备的 MAC 地址fixed-address 192.168.100.20; # 固定分配的 IP 地址}

4. 启动并验证 DHCP 服务

# 启动服务并设置开机自启systemctl start dhcpdsystemctl enable dhcpd# 查看服务状态(确保 active (running))systemctl status dhcpd

四、DHCP 客户端配置

客户端需设置为 DHCP 自动获取 IP 模式,步骤如下:

1. 修改网卡配置文件

# 编辑网卡配置文件(以 ens33 为例)vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改内容:

BOOTPROTO=dhcp # 启用 DHCP 自动获取ONBOOT=yes # 开机启动网卡# 删除以下静态配置行(若存在)# IPADDR=192.168.100.x# NETMASK=255.255.255.0# GATEWAY=192.168.100.254# DNS1=xxx.xxx.xxx.xxx

2. 重启网络服务并验证

# 重启网络服务systemctl restart network# 查看获取的 IP 地址(确认地址在 DHCP 地址池范围内)ip addr show ens33

五、DHCP 中继配置(跨网段分配 IP)

当客户端与 DHCP 服务器不在同一网段时,需通过 DHCP 中继代理 转发 DHCP 报文。以下是部署流程:

1. 环境说明

  • DHCP 服务器:IP 192.168.100.10(网段 192.168.100.0/24)。
  • 中继服务器:双网卡,分别连接两个网段:
    •  ens33:192.168.100.254/24(与 DHCP 服务器通信)。
    •  ens36:192.168.200.254/24(与客户端通信,仅主机模式)。
  • 客户端:网段 192.168.200.0/24,通过中继获取 IP。

2. 配置 DHCP 服务器(支持跨网段)

编辑 /etc/dhcp/dhcpd.conf,添加客户端网段配置:

# 原网段配置(192.168.100.0/24)subnet 192.168.100.0 netmask 255.255.255.0 {}# 新增客户端网段(192.168.200.0/24)subnet 192.168.200.0 netmask 255.255.255.0 {range 192.168.200.50 192.168.200.100; # 客户端地址池option routers 192.168.200.254; # 客户端网关(中继服务器 ens36 IP)default-lease-time 600;max-lease-time 7200;}

重启 DHCP 服务:

systemctl restart dhcpd

3. 配置中继服务器

(1)开启 IP 转发(关键)
# 编辑内核参数配置文件vim /etc/sysctl.conf# 添加以下内容(开启 IPv4 转发)net.ipv4.ip_forward = 1# 生效配置sysctl -p
(2)配置中继服务器网卡
# 查看网卡列表nmcli connection show# 若存在多余连接,删除(如“有线连接 1”)nmcli connection del "有线连接 1"# 配置 ens33(连接 DHCP 服务器网段)nmcli connection add con-name ens33 ifname ens33 type ethernet ip4 192.168.100.254/24nmcli connection up ens33# 配置 ens36(连接客户端网段)nmcli connection add con-name ens36 ifname ens36 type ethernet ip4 192.168.200.254/24nmcli connection up ens36
(3)启动 DHCP 中继服务
# 安装 DHCP 相关工具(含中继功能)yum -y install dhcp# 启动中继服务,指定 DHCP 服务器 IPdhcrelay 192.168.100.10# 验证中继进程(确保存在 dhcrelay 进程)ps aux | grep dhcrelay

4. 客户端配置(跨网段场景)

同基础客户端配置,确保网卡为 DHCP 模式,重启网络后验证:

ip addr show ens33 # 确认获取到 192.168.200.0/24 网段的 IP

六、总结

DHCP 服务通过自动化 IP 分配简化了网络管理,核心流程包括发现、提供、请求、确认四个阶段。基础部署需配置地址池和网络参数,跨网段场景需通过中继代理转发报文。关键注意事项:

  • 服务器需配置静态 IP,确保与客户端网段连通。
  • 中继服务器必须开启 IP 转发,否则无法跨网段转发报文。
  • 生产环境中需合理规划租约时间和地址池,避免 IP 耗尽或冲突。

掌握 DHCP 服务配置是网络运维的基础技能,可大幅提升网络部署和管理效率。

http://www.lryc.cn/news/617818.html

相关文章:

  • React 19 通用 ECharts 组件
  • Redis应⽤-缓存与分布式锁
  • Linux驱动学习day27天(USB驱动理论部分)
  • 修改学生信息管理系统以及查询
  • Ansys Mechanical中的声学分析
  • Nestjs框架: RBAC基于角色的权限控制模型初探
  • java内部类-匿名内部类
  • 适用于高质量核磁共振(NMR)的溶剂推荐
  • Apache ECharts 6 核心技术解密 – Vue3企业级可视化实战指南
  • 每日五个pyecharts可视化图表-line:从入门到精通 (3)
  • 编程技术杂谈4.0
  • SQL复杂查询
  • 论文学习22:UNETR: Transformers for 3D Medical Image Segmentation
  • TCGA数据集下载工具gdc-client下载慢解决方案
  • 掘金数据富矿,永洪科技为山东黄金定制“数智掘金”实战营
  • JavaScript let的使用
  • macos彻底删除vscode
  • 2025年农业工程与环境预防国际会议(ICAEEP 2025)
  • k8s 部署mysql主从集群
  • 用AListLite让安卓手机成为NAS实现文件共享
  • 基于开源模型构建医疗疾病大模型:从理论到实践
  • 2025牛客多校第八场 根号-2进制 个人题解
  • USB 基本描述符
  • TRL - Transformer Reinforcement Learning SFTTrainer 和 SFTConfig
  • AI(2)-神经网络(激活函数)
  • 当生产环境卡成 PPT:Spring Boot 线程 Dump 捉妖指南 - 第544篇
  • 【09-神经网络介绍2】
  • 数据结构-排序(2)
  • 【排序算法】⑦归并排序
  • 用Python从零开始实现神经网络