Debian DHCP如何分配地址

2026-07-03技术问答42999

在 Debian 系统中,DHCP 服务器通常通过 ISC DHCP Server(isc-dhcp-server 来实现地址分配。下面从 安装 → 配置 → 分配流程 → 验证 几个方面说明 Debian 是如何分配 IP 地址的。


一、Debian 上安装 DHCP 服务器

sudo apt update
sudo apt install isc-dhcp-server

安装完成后,服务名称为:

isc-dhcp-server

二、基本网络配置

1️⃣ 指定 DHCP 监听的网卡

编辑:

sudo nano /etc/default/isc-dhcp-server

示例:

INTERFACESv4="eth0"

如果是 IPv6,则配置 INTERFACESv6


三、DHCP 配置文件(核心)

DHCP 的所有地址分配规则都在:

/etc/dhcp/dhcpd.conf

1️⃣ 最简单的 DHCP 配置示例

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.10.0 netmask 255.255.255.0 {
    range 192.168.10.100 192.168.10.200;
    option routers 192.168.10.1;
    option domain-name-servers 8.8.8.8, 114.114.114.114;
    option domain-name "example.local";
}

含义说明

配置项 说明
subnet 定义网络段
range 可分配的 IP 地址池
routers 默认网关
domain-name-servers DNS
default-lease-time 默认租期(秒)
max-lease-time 最大租期

四、DHCP 分配地址的工作流程(DORA)

Debian DHCP 服务器遵循标准 DHCP 协议:

客户端                 DHCP 服务器
  |   DHCP DISCOVER  --> |
  |   |
  |  <-- DHCP ACK       |
  1. DISCOVER:客户端广播寻找 DHCP 服务器
  2. OFFER:服务器提供 IP
  3. REQUEST:客户端确认选择
  4. ACK:服务器确认分配

五、固定 IP(根据 MAC 分配固定地址)

host server1 {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.10.50;
}

✅ 该 MAC 地址将始终获得 192.168.10.50


六、启动和验证 DHCP 服务

启动 / 重启

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

查看状态

sudo systemctl status isc-dhcp-server

七、查看已分配的 IP 地址

cat /var/lib/dhcp/dhcpd.leases

示例:

lease 192.168.10.101 {
  starts 3 2025/01/15 12:00:00;
  ends 3 2025/01/15 12:10:00;
  hardware ethernet 52:54:00:xx:xx:xx;
}

八、常见问题排查

1️⃣ DHCP 不工作

sudo journalctl -u isc-dhcp-server

2️⃣ 网卡未启动

ip a

确认 DHCP 网卡有 IP 且在同一网段。


九、总结一句话

Debian 使用 isc-dhcp-server,通过 dhcpd.conf 定义子网和地址池,基于 DHCP 协议为客户端动态或固定分配 IP 地址。


如果你需要:

  • 多子网 DHCP
  • DHCP 中继(relay)
  • IPv6 DHCP(DHCPv6)
  • 与 DNS / 防火墙联动

可以继续问我,我可以给你完整配置示例。

《Debian DHCP如何分配地址.doc》

下载本文的Word格式文档,以方便收藏与打印。