温馨提示×

ubuntu dhclient怎么固定IP

小樊
33
2026-10-25 06:19:29
栏目: 智能运维

在 Ubuntu 里用 dhclient 本身是不能“固定 IP”的,因为 dhclient 只是 DHCP 客户端,IP 是服务器分配的。
所谓“固定 IP”,通常有以下几种做法,我按常见程度给你说明。


一、最推荐:在 Netplan 里配置静态 IP(不用 dhclient)

Ubuntu 18.04+ 默认用 Netplan,不走 dhclient。

1. 查看配置文件

ls /etc/netplan/

一般是:

/etc/netplan/01-netcfg.yaml

2. 修改为例(静态 IP)

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]

3. 应用

sudo netplan apply

✅ 这样 IP 就固定了,和 dhclient 无关


二、DHCP 固定 IP(还是用 dhclient,但服务器分配固定)

如果你必须用 DHCP,那就让 DHCP 服务器把 IP 绑死。

方法:在 DHCP 服务器上做 MAC 绑定

例如 dhcpd.conf:

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

Ubuntu 端继续用:

sudo dhclient eth0

⚠️ 前提是你能控制 DHCP 服务器


三、强行用 dhclient + 脚本(不推荐)

你可以用 dhclient-exit-hooks 强制设 IP,但不稳定、不推荐。

sudo vim /etc/dhcp/dhclient-exit-hooks.d/static
if [ "$interface" = "eth0" ]; then
    ip addr flush dev eth0
    ip addr add 192.168.1.100/24 dev eth0
    ip route add default via 192.168.1.1
fi

⚠️ 容易和 DHCP 冲突


四、总结建议

需求 推荐方式
本机固定 IP ✅ Netplan 静态 IP
网络必须 DHCP ✅ DHCP 服务器 MAC 绑定
用 dhclient 固定 ❌ 不推荐

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

  • Ubuntu 版本
  • 是否云服务器 / 虚拟机
  • 是否必须用 DHCP

我可以直接给你一份可用配置。

0 踩