温馨提示×

ubuntu dhcp怎样排除

小樊
38
2026-10-10 00:17:46
栏目: 智能运维

在 Ubuntu 上配置 DHCP 服务(通常是 ISC DHCP Server,包名 isc-dhcp-server)时,“排除地址(exclude)”指的是:
在地址池中保留一部分 IP 不分配给 DHCP 客户端。

下面分常见情况说明。


一、使用 ISC DHCP Server(最常见)

1. 配置文件位置

/etc/dhcp/dhcpd.conf

2. 排除 IP 的方法

ISC DHCP 没有单独的 exclude 指令,而是通过拆分 subnet 中的 range 来实现排除。

示例:子网 192.168.1.0/24

  • 不想分配:192.168.1.50 – 192.168.1.100
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.20 192.168.1.49;
  range 192.168.1.101 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8;
}

✅ 这样 50–100 就被“排除”了。


二、排除单个 IP(如网关、打印机)

方法 1:不写进 range(推荐)

直接让 range 不包含该 IP。

方法 2:使用 fixed-address(保留地址)

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

这样该 IP 只给指定 MAC 使用。


三、Ubuntu 作为 DHCP 客户端时“排除自己”

如果你是客户端,不想让 Ubuntu 用 DHCP:

sudo nmcli connection modify <连接名> ipv4.method manual

或编辑 /etc/netplan/*.yaml:

dhcp4: no

四、检查与重启

sudo dhcpd -t        # 测试配置
sudo systemctl restart isc-dhcp-server

五、如果你用的是 dnsmasq

排除方式不同(用 dhcp-range 控制):

dhcp-range=192.168.1.20,192.168.1.49,12h
dhcp-range=192.168.1.101,192.168.1.200,12h

如果你能说明:

  • 是 DHCP 服务器还是客户端
  • 用的哪种服务(isc-dhcp-server / dnsmasq / kea)

我可以给你更精确的配置示例。

0 踩