在 Ubuntu 里,dhclient 本身并不负责“固定 IP”,它只是 DHCP 客户端,用来向 DHCP 服务器申请 IP。
如果你想“固定 IP”,通常有以下几种正确做法,按推荐程度从高到低说明:
Ubuntu 18.04+ 默认用 Netplan,不走 dhclient。
ls /etc/netplan/
通常是:
/etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 114.114.114.114
sudo netplan apply
✅ 这样 IP 就固定了,和 dhclient 无关。
如果你必须用 dhclient / DHCP,那“固定 IP”应理解为:
DHCP 服务器每次都分配同一个 IP
例如:
host myubuntu {
hardware ethernet 00:0c:29:xx:xx:xx;
fixed-address 192.168.1.100;
}
Ubuntu 端什么都不用改,dhclient 照常工作。
你可以让 dhclient 假装自己要某个 IP:
sudo dhclient -r
sudo dhclient -4 -v ens33
或在 /etc/dhcp/dhclient.conf 里写:
send host-name "myubuntu";
request subnet-mask, broadcast-address, routers, domain-name-servers;
⚠️ 注意:
| 需求 | 正确做法 |
|---|---|
| 真正固定 IP | ✅ Netplan 静态 IP |
| 用 DHCP 但 IP 不变 | ✅ DHCP 保留地址 |
| 强制 dhclient 固定 | ❌ 不推荐 |
如果你愿意,可以告诉我:
lsb_release -a)ip a)我可以直接帮你写一份可用的配置文件。