ubuntu下将DHCP动态分配改成静态ip

为什么虚拟机 IP 一直在变?

因为你的 Ubuntu 用的是「DHCP 动态获取 IP」模式,不是静态 IP,这是默认配置,IP 会随重启/租约到期自动变化。

一、底层原因拆解

1. 核心:DHCP 动态分配

  • 你的虚拟机网络模式(NAT/桥接)默认由 VMware 的 DHCP 服务器给虚拟机分配 IP。
  • 分配的 IP 有「租期」(比如 2707 秒,约 45 分钟,你截图里 valid_lft 2707sec 就是租期),到期会自动续租或重新分配。
  • 虚拟机重启、挂起恢复时,也会触发 DHCP 重新分配,导致 IP 变化。

2. 额外影响因素

  • NAT 模式特性:宿主机的 VMware 虚拟 DHCP 服务,会动态管理 IP 池,不同启动顺序、宿主机网络环境变化,都可能导致 IP 分配结果不同。
  • 网络配置文件未固定 :Ubuntu 22.04 默认用 netplan 管理网络,没配置静态 IP 时,会优先走 DHCP。

二、如何让 IP 永久固定?(2 种方案)

方案1:在 Ubuntu 里配置静态 IP(推荐,适合 SSH 开发)

  1. 查看当前网卡名(你截图里是 enp0s3)和网关:

    bash 复制代码
    ip route | grep default

    会输出类似:default via 192.168.147.2 dev enp0s3 proto dhcp src 192.168.147.56 metric 100

    这里 192.168.147.2 就是网关。

  2. 编辑 netplan 配置文件:

    bash 复制代码
    sudo nano /etc/netplan/00-installer-config.yaml

    写入配置(把 IP 改成你想固定的地址,比如 192.168.147.100):

    yaml 复制代码
    network:
      ethernets:
        enp0s3:
          addresses:
            - 192.168.147.100/24
          gateway4: 192.168.147.2
          nameservers:
            addresses: [8.8.8.8, 114.114.114.114]
      version: 2

    注意:enp0s3 要和你 ip a 里的网卡名一致。

  3. 应用配置:

    bash 复制代码
    sudo netplan apply
  4. 验证 IP 是否固定:

    bash 复制代码
    ip a

    重启虚拟机后,IP 就不会变了。

方案2:在 VMware 里给 DHCP 保留固定 IP(可选,不修改虚拟机配置)

  1. 打开 VMware → 编辑 → 虚拟网络编辑器 → 选中你的 NAT 网卡(如 VMnet8)。
  2. 勾选「使用本地 DHCP 服务将地址分配给虚拟机」,点击「DHCP 设置」。
  3. 在「保留」里添加你的虚拟机 MAC 地址(你截图里 08:00:27:ee:ef:2c),并指定固定 IP。
  4. 保存配置,重启虚拟机,DHCP 会永远给这台机器分配指定 IP。

三、补充说明

你截图里 ip a 显示的 inet 192.168.147.56/24 就是当前 DHCP 分配的 IP,valid_lft 2707sec 表示这个 IP 租期还有约 45 分钟,到期后会重新分配,这就是 IP 会变的直接证据。

相关推荐
星辰徐哥1 天前
C语言网络编程:TCP、UDP、HTTP深度解析
c语言·网络·tcp/ip
2301_780789661 天前
云服务器数据会泄露吗?怎么保护云服务器的数据
运维·服务器·tcp/ip·网络安全
念越1 天前
从网络基础到Socket编程:TCP/UDP原理 + Java实战详解
java·网络·tcp/ip·udp
不怕犯错,就怕不做1 天前
RK3562的CPU如何降频及关闭硬件编解码
linux·驱动开发·嵌入式硬件
CoderMeijun1 天前
Linux 文件操作详解:open/read/write/lseek 系统调用
linux·文件操作·系统调用·open·文件描述符
可可西里_X_back1 天前
Linux学习(二)- 驱动开发步骤
linux·驱动开发·学习
Hical_W1 天前
Hical 踩坑实录五部曲(二):MSVC / GCC / Clang 三平台 C++20 编译差异
linux·windows·经验分享·嵌入式硬件·macos·开源·c++20
活蹦乱跳酸菜鱼1 天前
linux ATF BL2执行过程
linux
淡淡烟雨淡淡愁1 天前
安装libreoffice
linux
蜀道山老天师1 天前
云原生监控入门:监控基础概念 + SLI/SLO/SLA 详解 + Prometheus 从零安装配置
linux·运维·云原生·prometheus