温馨提示×

linux dhcp怎样绑定mac

小樊
36
2026-09-15 21:57:36
栏目: 智能运维

在 Linux 下使用 DHCP 服务器(通常是 ISC DHCP Server) 绑定 MAC 地址,一般是通过 固定地址分配(Fixed Address / MAC 绑定) 来实现的。下面以最常见的 ISC DHCP(dhcpd) 为例说明。


一、安装 DHCP 服务(如未安装)

CentOS / Rocky / Alma

yum install -y dhcp

Ubuntu / Debian

apt install -y isc-dhcp-server

二、配置文件位置

  • 主配置文件:
/etc/dhcp/dhcpd.conf

三、MAC 地址绑定的基本写法

1️⃣ 定义子网(示例)

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;
}

2️⃣ 绑定 MAC 和 IP(核心部分)

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

说明:

  • host:自定义主机名(随便写)
  • hardware ethernet客户端的 MAC 地址
  • fixed-address:要绑定的 固定 IP

✅ 只有该 MAC 才能拿到 192.168.1.50


四、多个 MAC 绑定示例

host server01 {
    hardware ethernet aa:bb:cc:dd:ee:ff;
    fixed-address 192.168.1.10;
}

host phone01 {
    hardware ethernet 11:22:33:44:55:66;
    fixed-address 192.168.1.11;
}

五、重启 DHCP 服务

CentOS / RHEL 7+

systemctl restart dhcpd

Ubuntu

systemctl restart isc-dhcp-server

六、查看是否生效

查看租约文件

cat /var/lib/dhcpd/dhcpd.leases

或 Ubuntu:

cat /var/lib/dhcp/dhcpd.leases

七、常见注意事项 ⚠️

  1. fixed-address 不能在 range 范围内(推荐)
  2. MAC 地址必须小写或标准格式(00:11:22:33:44:55
  3. 客户端需重新获取 IP:
    dhclient -r
    dhclient
    
  4. 防火墙需放行 UDP 67/68

八、如果你用的是 dnsmasq(轻量 DHCP)

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

如果你是:

  • ✅ 用 路由器 / OpenWRT
  • ✅ 用 Kubernetes / 容器
  • ✅ 用 Windows DHCP 对比

可以告诉我,我可以给你对应方案。

0