Ubuntu设置固定IP后重启失效,根本原因是未正确使用netplan(18.04+唯一正统方式),或配置存在网卡名错误、YAML缩进错误、dhcp4: no缺失、cloud-init覆盖等问题;需用ip -br a确认真实网卡名,严格按YAML语法编辑/etc/netplan/配置文件,并禁用cloud-init网络管理以确保持久化。

Ubuntu如何设置固定IP地址防止重启失效

Ubuntu 设置固定 IP 后重启失效,基本是因为配置没走对路径——netplan 是 18.04+ 的唯一正统方式,手动改 /etc/network/interfaces 或用 ifconfig 临时设 IP,重启必丢。

确认网卡名和当前网络状态

别猜,也别凭记忆写 eth0ens33。执行:

ip -br a

看哪一行状态是 UP 且有 IPv4 地址(比如 ens33 UP 192.168.1.23/24),那个就是你要配的网卡名。注意:WSL2 默认是 eth0,VMware/VirtualBox 桥接模式常见 ens33enp0s3,NAT 模式下可能叫 eth0 但实际走的是 NAT 网络,固定 IP 需配合宿主机策略。

顺手记下当前的 gateway 和 DNS(cat /etc/resolv.conf),后面填配置时要用。

编辑 netplan 配置文件并禁用 DHCP

/etc/netplan/ 下通常有 00-installer-config.yaml50-cloud-init.yaml 或类似名字。直接改它,或新建一个优先级更高的(如 01-static-ip.yaml),内容必须严格 YAML 格式,缩进错误会导致 netplan apply 失败。

关键点:

示例(适配常见家用路由器):

network:
version: 2
renderer: networkd
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 a。如果 IP 还在,就说明这份配置已经真正持久化了;要是 IP 丢了,那多半不是配置没写对,而是 cloud-init 在启动阶段又把 netplan 文件重写了一遍,尤其是在云镜像或者某些 Ubuntu Server 安装版本里,这种情况并不少见。遇到这种问题,就得去看看 /etc/cloud/cloud.cfg.d/ 下面是否存在禁用网络管理的相关配置;再直接一点,也可以把 netplan 文件权限改成只读:sudo chown root:root /etc/netplan/*.yaml && sudo chmod 644 /etc/netplan/*.yaml

WSL2 固定 IP 的特殊处理

WSL2 不是传统虚拟机,它的“网卡” eth0 实际由 Windows 的 vEthernet (WSL) 虚拟交换机提供 NAT 网络。直接在 WSL2 里设静态 IP(如 172.x.x.x)可行,但必须确保该 IP 不在 WSL2 DHCP 分配池内,否则可能冲突或被覆盖。

操作要点:

一个特别容易被忽视的细节是:WSL2 的 IP 在每次关机后都有可能被重新释放,因此,固定 IP 这件事必须在 WSL2 内部通过 netplan 来配置。同时还要保证 sudo netplan apply 能在每次启动后自动执行;常见做法是在 /etc/wsl.conf[boot] 段开启 systemd 支持,再通过设定 service 来触发。

本文转载于:https://www.php.cn/faq/2962188.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。