在 Linux 上设置 DHCP 保留(静态 IP 分配 / Static DHCP / IP Reservation),常见做法取决于你使用的 DHCP 服务器。下面以最常见的 ISC DHCP Server 为例说明,并补充 dnsmasq 的做法。
# Debian / Ubuntu
sudo apt install isc-dhcp-server
# RHEL / CentOS / Rocky
sudo yum install dhcp
配置文件通常位于:
/etc/dhcp/dhcpd.conf
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;
}
host server1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
✅ 说明:
hardware ethernet:客户端的 MAC 地址fixed-address:要保留的 IPhost server1:server1 只是标识名,可随意sudo systemctl restart isc-dhcp-server
或(旧系统):
sudo service isc-dhcp-server restart
systemctl status isc-dhcp-server
客户端重启网络后,应获得指定 IP。
/etc/dnsmasq.conf
dhcp-host=00:11:22:33:44:55,192.168.1.50
或带主机名:
dhcp-host=00:11:22:33:44:55,192.168.1.50,server1
sudo systemctl restart dnsmasq
✅ 保留 IP 不能位于 DHCP 动态分配范围
range 192.168.1.100 192.168.1.200;
保留 IP 如 192.168.1.50 必须在范围外。
✅ MAC 地址必须准确
ip link
ip addr
✅ 客户端需重新请求 IP
dhclient -r
dhclient
| 场景 | 推荐 |
|---|---|
| 企业 / 服务器 | ISC DHCP |
| 路由器 / 家庭 | dnsmasq |
| 简单静态分配 | 按 MAC 保留 |
如果你愿意,可以告诉我:
我可以给你一份完全可用的配置文件示例。