在 Debian 系统中设置 DHCP 超时(即客户端请求 IP 地址时的超时时间),通常涉及 dhclient 或 NetworkManager 的配置,取决于你使用的网络管理方式。
下面按常见场景分别说明。
dhclient(最常见,ifupdown 方式)/etc/dhcp/dhclient.conf
编辑该文件:
sudo nano /etc/dhcp/dhclient.conf
添加或修改以下参数:
timeout 30;
含义:
你也可以设置更细粒度的参数(不常用):
retry 10;
reboot 5;
select-timeout 5;
示例:
timeout 30;
retry 10;
sudo systemctl restart networking
或:
sudo dhclient -r
sudo dhclient eth0
(把 eth0 换成你的网卡名)
nmcli connection show
nmcli connection modify "连接名" \
ipv4.dhcp-timeout 30
IPv6(如使用):
nmcli connection modify "连接名" \
ipv6.dhcp-timeout 30
nmcli connection down "连接名"
nmcli connection up "连接名"
编辑:
sudo nano /etc/NetworkManager/NetworkManager.conf
在 [main] 段添加:
[main]
dhcp=dhclient
然后修改 /etc/dhcp/dhclient.conf(见第一部分)。
重启:
sudo systemctl restart NetworkManager
编辑 .network 文件:
sudo nano /etc/systemd/network/*.network
示例:
[DHCP]
ClientIdentifier=mac
Timeout=30
重启:
sudo systemctl restart systemd-networkd
| 参数 | 含义 |
|---|---|
timeout |
DHCP 尝试获取地址的最长时间 |
retry |
每次失败后重试间隔 |
select-timeout |
多个 DHCP offer 中的选择时间 |
reboot |
重连时尝试旧 IP 的时间 |
⚠️ 注意:
DHCP 超时 ≠ 地址租期
journalctl -u NetworkManager
或:
dhclient -v eth0
timeout 30;
retry 10;
如果你愿意告诉我:
我可以给你最精确的一套配置。