修改Ubuntu 22.04.5 LTS系统为静态IP后重启被重置的说明
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
这两天跟Ubuntu Server 22.04.5 LTS系统干上了,然而还是使用的比较少,就是会出现各种问题,这不客户安装的用友智石开PLMC高级版换IP地址,就用的Ubuntu Server 22.04.5 LTS系统,但问题是我写入了新IP重启就开始变化,真是我干了~~经过一番折腾,有了一些方案;
修改Ubuntu 22.04.5 LTS系统为静态IP后重启被重置的说明
出现连续重启,连续会被重置,就想这是哪里问题,当时没注意看下图框的提示部分,大意就是此文件的配置可能会在每次系统重启时被cloud云文件配置的内容所进行覆盖,可以通过禁用 cloud-init 的网络配置来防止这种情况发生,如下图所示
# 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}
干,之前用Centos7.6做开发时没有类似问题,之前还以为设置为静态IP地址即可,包括很多网上的修改静态IP地址教程也是这样写的,没想到Ubuntu居然还有默认云覆盖的机制(也可能是安装系统时没注意看勾选错了还是其他,博主老梁连续装了四五个Ubuntu系统虚拟机,均是如此;)
果然设置完192.168.7.116的IP地址后,系统重启马上又被修改成192.168.7.136
再进入网络配置文件查看发现也已经被覆盖,好奇心害死猫~~另一个配置文件在哪里,若要覆盖配置文件的话,某个地方必然有保存原始云配置文件的,在启动后进行读取强行覆盖到当前配置文件才对。
进入云配置目录,可以看到有个90-installer-network.cfg的文件
/etc/cloud/cloud.cfg.d
查看90-installer-network.cfg文件,可以看到此处保留了系统安装时配置的IP地址
/etc/cloud/cloud.cfg.d/90-installer-network.cfg
已知道设置netplan的静态ip地址时重启后IP地址被覆盖的原因,接下来问题就简单了~~~
一、直接修改云配置文件IP
直接把90-installer-network.cfg文件的IP配置进行修改成需要的参数,这样虽然也行但是比较容易给后面使用Ubuntu服务器不熟悉的人挖坑,例如服务器需要迁移网络环境部署需要修改网络配置折腾半天弄不了。
二、使用增加99-disable-network-config.cfg来处理
编辑 cloud-init 配置文件:如果没有此文件直接创建再进行编辑
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
添加如下内容
network: {config: disabled}
编辑完毕后按ctrl+O,然后按回车进行保存,再按ctrl+x退出
重启 cloud-init 服务:
sudo cloud-init clean sudo reboot
重启完毕后再使用netplan设置ip地址就不会被重置覆盖,问题终于得到解决!
说明:不会操作命令,就借助xftp来处理吧,更直观!
三、双IP办法
上面说了是重启重置IP是经过某一个文件,不应该是所有,比如我自带的是“50-cloud-init.yaml”文件,逻辑上只覆盖我这一个文件,因Ubuntu系统是默认配置文件名称不同,可做保留处理,新配置文件增大"文件编号",配置后覆盖原有配置netplan 获取配置文件会按字母顺序排列(Alphabetically)进行查找,配置文件中不同的 key 会依次添加执行,重复的 key 后面配置会覆盖前面配置;
文件编号的原因,新建配置文件为 01-network-manager-all.yaml 再试,果然系统重启后静态IP配置还在,50-cloud-init.yaml 依然被重置了。
这样可以保留2个IP地址,反正就是比较麻烦,但也可行不是~~~
四、禁用cloud-init 这是最简单最安全的方法
在 /etc/cloud 目录下创建 cloud-init.disabled 文件重启后生效。删除该文件就可以恢复。
touch /etc/cloud/cloud-init.disabled
修改完重启服务器即可。
根据以上,博主老梁推荐大家使用第二或第四个方法,这样也简单,也不容易被重置~~~
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
支付宝赞助
微信赞助

