温馨提示×

linux dhcp怎么绑定ip

小樊
38
2026-09-06 20:39:07
栏目: 智能运维

在 Linux 下“绑定 IP”通常指 DHCP 服务器给某个 MAC 地址固定分配同一个 IP(DHCP 保留地址 / IP-MAC 绑定)。下面以最常见的 ISC DHCP Server(dhcpd) 为例说明,也会提一下 dnsmasq 的用法。


一、ISC DHCP Server(dhcpd)绑定 IP

1. 安装

# Debian / Ubuntu
apt install isc-dhcp-server

# CentOS / RHEL
yum install dhcp

2. 修改配置文件

配置文件通常在:

/etc/dhcp/dhcpd.conf

3. 配置子网(示例)

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

4. 绑定 MAC 和 IP(重点)

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

说明:

  • hardware ethernet:客户端 MAC 地址
  • fixed-address:要绑定的 IP(不能在 range 范围内,否则可能冲突)

5. 重启服务

systemctl restart isc-dhcp-server
# 或
systemctl restart dhcpd

二、dnsmasq 绑定 IP(轻量、常用于路由器)

1. 安装

apt install dnsmasq

2. 配置

编辑 /etc/dnsmasq.conf

dhcp-range=192.168.1.100,192.168.1.200,12h

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

3. 重启

systemctl restart dnsmasq

三、验证是否生效

在客户端:

ip addr

dhclient -r && dhclient

在服务器看日志:

journalctl -u isc-dhcp-server
# 或
tail -f /var/log/syslog

四、常见注意事项

  • ✅ 绑定 IP 不要写在 range
  • ✅ MAC 地址格式:xx:xx:xx:xx:xx:xx
  • ❌ 不要同时跑多个 DHCP 服务
  • ✅ 防火墙允许 UDP 67/68

如果你用的是 特定发行版(如 CentOS 7、Ubuntu 22.04)或 特定场景(如 KVM、PXE、OpenWrt),可以告诉我,我给你更精确的配置。

0