ubuntu22.04在配置静态IP后被重置的原因与解决方法

描述:最近在使用22.04过程中,发现在重启系统后,设置的静态IP地址会重置到安装系统时设置的IP地址

grep -v "^#" /etc/netplan/50-cloud-init.yaml 
network:
    ethernets:
        ens33:
            addresses:
            - 10.0.0.11/24
            nameservers:
                addresses:
                - 223.5.5.5
                - 8.8.8.8
                search: []
            routes:
            -   to: default
                via: 10.0.0.254
        ens34:
            addresses:
            - 192.168.1.11/24
            nameservers:
                addresses: []
                search: []
    version: 2

根因:此文件的配置会在每次系统重启时被cloud云文件配置的内容所进行覆盖,可以通过禁用 cloud-init 的网络配置来防止这种情况发生。

我们在22.04系统下修改默认/etc/netplan/50-cloud-init.yaml网络配置时,也会有如下的注释内容(如下图)

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

# 此文件由数据源提供的信息生成而成。对其进行修改不会在实例重启后保持有效。若要禁用 cloud-init 的网络配置功能,请在 /etc/cloud/cloud.cfg.d 目录下创建一个名为 99-disable-network-config.cfg 的文件,并在其中写入以下内容:
# network: {config: disabled}

按照提示在/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg配置文件中添加 network: {config: disabled}  服务器重启也不会再出现重置的情况了

那就很好奇,既然要覆盖的话,那他肯定有一个原始文件,用于覆盖现有文件。我们先进入云配置目录,挨个检查,发现在/etc/cloud/cloud.cfg.d/90-installer-network.cfg保留了原始的IP地址

通过上面,已经知道了设置netplan的静态ip地址时重启后IP地址被覆盖的原因,接下来就是解决问题了。

解决:

1、直接修改云配置IP地址

/etc/cloud/cloud.cfg.d/90-installer-network.cfg

2、按照配置文件提示,创建一个名为99-disable-network-config.cfg 的文件,并在其中写入以下内容:

vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}

 

posted @ 2025-04-27 17:08  杨灏  阅读(1664)  评论(0)    收藏  举报