温馨提示×

如何修改Linux DHCP范围

小樊
37
2026-07-23 07:20:21
栏目: 智能运维

在 Linux 中修改 DHCP 分配范围,取决于你使用的是哪种 DHCP 服务器。最常见的是 ISC DHCP Server(isc-dhcp-server)。下面按常见情况说明。


一、使用 isc-dhcp-server(最常见)

1. 编辑 DHCP 配置文件

配置文件一般在:

/etc/dhcp/dhcpd.conf

使用 root 权限编辑:

sudo nano /etc/dhcp/dhcpd.conf

2. 修改 DHCP 地址池(range)

找到类似下面的配置段(通常在 subnet 中):

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

修改 range 行即可,例如:

range 192.168.1.50 192.168.1.150;

或者添加新的 range(多个 range 是允许的):

range 192.168.1.50 192.168.1.100;
range 192.168.1.150 192.168.1.200;

3. 检查配置是否正确

sudo dhcpd -t

如果没有输出,说明配置语法正确。


4. 重启 DHCP 服务

sudo systemctl restart isc-dhcp-server

或(旧系统):

sudo service isc-dhcp-server restart

二、仅修改租期时间(可选)

default-lease-time 600;
max-lease-time 7200;

三、使用 dnsmasq(常见于路由器/OST)

如果 DHCP 是由 dnsmasq 提供(如 OpenWrt、部分桌面环境):

配置文件

/etc/dnsmasq.conf

修改 DHCP 范围

dhcp-range=192.168.1.100,192.168.1.200,12h

意思是:

  • IP 范围:100–200
  • 租期:12 小时

重启服务:

sudo systemctl restart dnsmasq

四、确认 DHCP 监听的网卡(isc-dhcp)

编辑:

/etc/default/isc-dhcp-server

确认:

INTERFACESv4="eth0"

否则 DHCP 可能不生效。


五、排查建议

  • 查看服务状态:
    systemctl status isc-dhcp-server
    
  • 查看日志:
    journalctl -u isc-dhcp-server
    
  • 客户端无法获取 IP:
    • 检查地址池是否与路由器同网段
    • 检查是否有其他 DHCP 服务器冲突

如果你愿意,可以告诉我:

  • 使用的 Linux 发行版(Ubuntu / CentOS / Rocky / OpenWrt 等)
  • 是否作为路由器或普通服务器
  • dhcpd.conf 当前内容

我可以帮你精确修改,避免断网。

0