温馨提示×

如何在Debian上配置DHCP

小樊
59
2026-07-15 20:57:53
栏目: 智能运维

在 Debian 上配置 DHCP,通常有两种常见场景:
1️⃣ 让 Debian 作为 DHCP 客户端(自动获取 IP)
2️⃣ 在 Debian 上搭建 DHCP 服务器(为其他设备分配 IP)

下面分别说明。


一、Debian 作为 DHCP 客户端(最常见)

方法一:使用 NetworkManager(桌面版 Debian 默认)

如果是桌面环境,一般已经自动配置好。

查看是否获取成功:

ip addr

手动重新获取 IP:

nmcli device reapply eth0

方法二:使用 /etc/network/interfaces(服务器常用)

编辑配置文件:

sudo nano /etc/network/interfaces

示例(DHCP 自动获取):

auto eth0
iface eth0 inet dhcp

重启网络:

sudo systemctl restart networking

或:

sudo ifdown eth0 && sudo ifup eth0

二、Debian 作为 DHCP 服务器(isc-dhcp-server)

1️⃣ 安装 DHCP 服务器

sudo apt update
sudo apt install isc-dhcp-server

2️⃣ 配置 DHCP 监听网卡

编辑:

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

设置监听网卡(例如 eth0):

INTERFACESv4="eth0"

3️⃣ 配置 DHCP 分配规则

编辑主配置文件:

sudo nano /etc/dhcp/dhcpd.conf

示例配置:

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

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option domain-name "local";
}

⚠️ 注意:

  • 子网必须和服务器网卡 IP 在同一网段
  • routers 通常是网关地址

4️⃣ 设置服务器网卡为静态 IP

例如:

ip addr add 192.168.1.1/24 dev eth0

或在 /etc/network/interfaces 中:

auto eth0
iface eth0 inet static
    address 192.168.1.1
    netmask 255.255.255.0

5️⃣ 启动并启用 DHCP 服务

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

查看状态:

sudo systemctl status isc-dhcp-server

6️⃣ 查看已分配的 IP

cat /var/lib/dhcp/dhcpd.leases

三、常见问题排查

服务启动失败

sudo journalctl -u isc-dhcp-server

常见原因:

  • 子网配置错误
  • 网卡未设置静态 IP
  • 监听网卡未正确指定

四、快速选择指南

需求 建议
普通上网 DHCP 客户端(默认即可)
局域网分配 IP isc-dhcp-server
家庭路由器 不建议 Debian,用 OpenWrt / RouterOS

如果你愿意,可以告诉我:

  • Debian 版本(11 / 12?)
  • 是服务器还是桌面
  • 是否用于虚拟机 / 真实局域网

我可以给你一份完全贴合你环境的配置示例。

0 踩