温馨提示×

linux dhcp能分配固定ip吗

小樊
45
2026-09-03 15:56:12
栏目: 智能运维

可以的,Linux 上的 DHCP 服务器是可以分配“固定 IP(保留地址)”的,常见做法是在 DHCP 配置里把 MAC 地址和 IP 地址绑定

下面以最常见的 ISC DHCP Server(dhcpd) 为例说明。


一、Linux DHCP 固定 IP 的原理

DHCP 本身支持 DHCP Reservation(地址保留)

  • 客户端发送 DHCP 请求
  • 服务器根据客户端的 MAC 地址
  • 分配一个 固定的 IP 地址

这个 IP 对客户端“看起来像动态分配”,但永远是同一个。


二、ISC DHCP 配置示例(最常用)

1️⃣ 安装 DHCP 服务

# Debian / Ubuntu
apt install isc-dhcp-server

# CentOS / RHEL
yum install dhcp

2️⃣ 配置文件

通常是:

/etc/dhcp/dhcpd.conf

3️⃣ 配置子网 + 固定 IP

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 subnet-mask 255.255.255.0;
    option domain-name-servers 8.8.8.8;
}

host pc-a {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.1.50;
}

✅ 效果:

  • MAC 00:11:22:33:44:55
  • 永远拿到 192.168.1.50

三、其他 DHCP 方案也支持

✅ dnsmasq(轻量级,常用于路由器)

dhcp-host=00:11:22:33:44:55,192.168.1.50

✅ Kea DHCP(新一代 ISC DHCP)

通过 host reservations 配置,也支持 MAC → IP。


四、和“静态 IP”的区别

方式 配置位置 是否经过 DHCP
DHCP 固定 IP DHCP 服务器 ✅ 是
主机静态 IP 客户端网卡 ❌ 否

✅ 推荐使用 DHCP 固定 IP(集中管理,不容易冲突)


五、常见问题

  • ❌ IP 不在 subnet 范围内 → 分配失败
  • ❌ MAC 写错 → 拿不到保留 IP
  • ✅ 固定 IP 可以不写在 range 里

如果你告诉我:

  • 用的 Linux 发行版
  • DHCP 软件(dhcpd / dnsmasq / 路由器)

我可以直接给你一份可直接用的配置

0