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

DHCP服务配置与管理实战指南

DHCP 服务配置与管理笔记

一、DHCP 核心概念

1. DHCP 定义与功能

  • DHCP (Dynamic Host Configuration Protocol):动态主机配置协议
  • 核心功能
    • 自动分配 IP 地址
    • 提供子网掩码、网关、DNS 等网络参数
    • 管理 IP 地址租约周期
  • 典型应用:ADSL拨号、企业无线网络、移动办公环境

2. 工作过程详解

ClientServerDHCP Discover (广播)DHCP Offer (广播)DHCP Request (广播)DHCP Ack (广播)ClientServer

3. 端口与协议

组件端口协议说明
DHCP Server67UDP接收客户端请求
DHCP Client68UDP接收服务器响应
DHCPv6 Client546UDPIPv6客户端通信端口

4. 关键术语

术语说明
作用域 (Scope)可分配的 IP 地址范围 (如 192.168.1.0/24)
地址池作用域内可分配的 IP 地址集合
租约 (Lease)客户端使用 IP 地址的授权期限
保留地址为特定 MAC 地址固定分配的 IP
中继代理跨网段转发 DHCP 请求的路由器组件

二、DHCP 服务器部署

环境要求

  • 网络模式:必须使用仅主机 (Host-Only)NAT 模式
  • 禁止桥接:避免干扰实际网络中的 DHCP 服务

安装与配置流程

  1. 安装软件包

    yum -y install dhcp
    
  2. 配置文件初始化

    cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    
  3. 主配置文件详解 (/etc/dhcp/dhcpd.conf)

    # 全局配置 (作用于所有子网)
    option domain-name "example.com";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    default-lease-time 600;       # 默认租约时间 (秒)
    max-lease-time 7200;          # 最大租约时间 (秒)# 子网声明 (关键配置)
    subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.50 192.168.100.100;    # 地址池范围option domain-name-servers yangduhan.example.com;		#DNSoption domain-name "example.com";		#域名option routers 192.168.100.254;          # 默认网关#option broadcast-address 10.5.5.31; # 广播地址,不需要注释掉
    }# 固定地址分配 (MAC 绑定)
    host server30 {hardware ethernet 00:0c:29:e0:86:70;  # 客户端 MAC 地址fixed-address 192.168.100.150;            # 固定分配的 IP,地址池内外都行option host-name "server30";           # 可选:指定主机名
    }
    
  4. 服务管理

    systemctl restart dhcpd    # 重启服务
    systemctl enable dhcpd     # 设置开机自启
    systemctl status dhcpd     # 检查服务状态
    
  5. 防火墙配置

    firewall-cmd --permanent --add-service=dhcp
    firewall-cmd --reload
    

客户端配置

  1. 网卡配置文件 (/etc/sysconfig/network-scripts/ifcfg-ens33)
    关键修改:

    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    BOOTPROTO=dhcp      # 启用 DHCP 协议
    ONBOOT=yes          # 开机自动激活
    # 删除以下行:
    # IPADDR=
    # NETMASK=
    # GATEWAY=
    # DNS1=
    
  2. 重启网络服务

    systemctl restart NetworkManager   # 推荐使用
    # 或
    systemctl restart network
    #查看ip是否获取
    ip a
    

租约管理

  • 租约文件位置/var/lib/dhcpd/dhcpd.leases

  • 查看租约信息

    less /var/lib/dhcpd/dhcpd.leases
    
  • 租约文件结构

    lease 172.16.30.50 {starts 5 2023/08/11 12:34:56;ends 5 2023/08/11 12:44:56;hardware ethernet 00:0c:29:xx:xx:xx;uid 01:00:0c:29:xx:xx:xx;
    }
    

三、DHCP 中继配置

网络拓扑

DHCP 请求
转发请求
响应
返回响应
DHCP 客户端
中继服务器
DHCP 服务器

中继服务器配置步骤

  1. 网络配置

    • ens33 (NAT 网络):192.168.100.254
    • ens36 (Host-Only):192.168.200.254
  2. 启用 IP 转发

    # 临时生效
    sysctl -w net.ipv4.ip_forward=1# 永久生效
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p
    
  3. 配置网卡接口
    ens33–NAT模式—192.168.100.254
    ens36–vmnet模式(仅主机)—192.168.200.254

  4. 安装 DHCP 中继软件

    yum -y install dhcp
    
  5. 启动 DHCP 中继服务

    dhcrelay -d -i ens36 -i ens33 192.168.100.20
    

    参数说明

    • -d:前台运行(调试模式)
    • -i:指定监听接口
    • 192.168.100.20:DHCP 服务器 IP

生产环境推荐配置

dhcp服务器

网卡--ens33--NAT模式---192.168.100.20
vim /etc/dhcp/dhcpd.conf
#只保留以下内容
subnet 192.168.100.0 netmask 255.255.255.0 {
}
# A slightly different configuration for an internal subnet.
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;default-lease-time 600;max-lease-time 7200;
}
#重启服务
systemclt  restart   dhcpd
# 创建 systemd 服务单元
cat > /etc/systemd/system/dhcrelay.service <<EOF
[Unit]
Description=DHCPv4 Relay Agent
After=network.target[Service]
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.100.20
Restart=always[Install]
WantedBy=multi-user.target
EOF# 启用服务
systemctl daemon-reload
systemctl start dhcrelay
systemctl enable dhcrelay

四、排错与监控

服务端排错

# 检查配置文件语法
dhcpd -t# 查看服务日志
journalctl -u dhcpd -f# 监听 DHCP 流量
tcpdump -i ens33 port 67 or port 68 -vv

客户端排错

# 释放当前租约
dhclient -r# 重新获取 IP
dhclient -v# 查看获得的参数
ip a show dev ens33
cat /etc/resolv.conf

五、最佳实践

  1. 作用域规划原则

    • 保留 20% IP 地址用于静态分配
    • 设置合理的租约时间:
      • 办公网络:8 小时
      • 公共无线:1 小时
      • 服务器:永久保留
  2. 安全增强

    # 防止未授权 DHCP 服务器
    deny unknown-clients;# MAC 地址白名单
    allow known-clients;
    
  3. 高可用方案

    • 主从模式:两台 DHCP 服务器划分 80%/20% 地址池
    • 负载均衡:配置 DHCP 冗余协议 (DRCP)
http://www.dtcms.com/a/326637.html

相关文章:

  • CRMEB多商户系统(Java)v2.0更新预告:区域管理+预约商品,激活本地商业新活力!
  • NTC热敏电阻、压敏电阻和保险丝工作原理
  • FFmpeg - 基本 API大全(视频编解码相关的)
  • python每日一题练习 两个数组的交集 非常简单
  • GCN: 图卷积网络,概念以及代码实现
  • 【LeetCode刷题集】--排序(三)
  • Protocol Buffers (protobuf) API 接口完全指南
  • maven项目打包成sdk后在别的项目使用
  • 从0开始的中后台管理系统-5(部门管理以及菜单管理页面功能实现)
  • 【科研绘图系列】R语言绘制散点图折线图误差棒组合图
  • 指派问题-匈牙利算法
  • 2025牛客多校第八场 根号-2进制 个人题解
  • HTTPS应用层协议-CA签名与证书
  • Vue 3 快速入门 第六章
  • MaixPy简介
  • Projects
  • 进程管理是什么
  • DeepSeek生成的高精度大数计算器
  • 自制网页并爬取,处理异常值(第十九节课内容总结)
  • .NET/C# webapi框架下给swagger的api文档中显示注释(可下载源码)
  • MP3Tag 软件功能简介
  • (二)vscode搭建espidf环境,配置wsl2
  • 第16届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2025年4月真题
  • 进阶版|企业级 AI Agent 的构建实践
  • 【03】厦门立林科技——立林科技 嵌入式 校招笔试,题目记录及解析
  • 从零开始的ReAct Agent尝试
  • 应用监控工具Skywalking
  • bitbake –s:列出所有可编译的模块
  • 【STL】queue队列容器
  • priority_queue(优先级队列)和仿函数