完美解决linux网卡配置文件重启自动还原问题【如/etc/sysconfig/network-scripts/ifcfg-eth0配置文件重启后信息被还原】

说明

虚拟机修改了/etc/sysconfig/network-scripts/ifcfg-eth0网卡文件 保存后,重启网络服务( systemctl restart network)是ip是存在并且能正常使用的。但是重启系统之后ifcfg-eth0内容被重置了。
你打开配置文件后,会发现,大概内容和下面一样,并且顶部都有一行注释,大概意思就是 有cloud-init自动创建,不要编辑这个文件。

# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=dhcp
DEVICE=eth0
HWADDR=fe:fc:fe:46:95:ba
ONBOOT=yes
TYPE=Ethernet
USERCTL=no

cloud-initopenstack的组件,所以这个问题一般发生在 openstack虚拟机或者配置了openstack的虚拟机上!!! (这种问题大概就是 openstack设置的ip段,这个虚拟机dhcp无法获取,所以ip就为空)
所以 cloud-init的配置文件这就不做解释,我的是普通虚拟机,但是我当初配置了openstack做实验,可能没卸载干净吧,有遗留问题发生了网卡重启被重置的问题。

解决方法

方式一

这是我在网上找的 步骤 我亲测不行,或许是因为我的openstack已经没有使用,组件不全导致的无效,如果你的openstack在正常使用,可以使用方式一。

  • 尝试了关闭自带网络管理工具:
[root@compute1 ~]# systemctl stop NetworkManager
[root@compute1 ~]# systemctl disable NetworkManager

无效。重启后,ifcfg-eth0内容仍被重置。

  • 找一找服务:systemctl list-unit-files | grep cloud*
    是否有下面4项为enable
[root@compute1 ~]# systemctl list-unit-files | grep cloud*
cloud-config.service                          enabled
cloud-final.service                           enabled
cloud-init-local.service                      enabled
cloud-init.service                            enabled 
cloud-config.target                           static  
  • 禁止 cloud-init服务接管网络

[root@compute1 ~]$vim /etc/cloud/cloud.cfg

#在最后面输入下列内容
network:
  config:disabled
  • 清理,检查cloud-init配置文件
[root@compute1 network-scripts]$ cd /usr/lib/python2.7/site-packages/cloudinit/sources/
[root@compute1 network-scripts]$ rm -rf __init__.pyc 
[root@compute1 network-scripts]$ rm -rf __init__.pyo
[root@compute1 network-scripts]$ rm -rf /var/lib/cloud/* 
[root@compute1 network-scripts]$ rm -rf /var/log/cloud-init* 
[root@compute1 network-scripts]$ cloud-init init --local
[root@compute1 network-scripts]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
[root@compute1 network-scripts]$ reboot

方式二

我这个方式比较暴力,因为我不用openstack了,而我这个问题是cloud.init引起的问题,所以我就把和cloud.init的所有服务都停了并关闭开机自启!

[root@compute1 network-scripts]$systemctl disable cloud-init-local cloud-init cloud-config cloud-final 
[root@compute1 network-scripts]$systemctl stop cloud-init-local cloud-init cloud-config cloud-final
[root@compute1 ~]#
[root@compute1 ~]# systemctl list-unit-files | grep cloud*
cloud-config.service                          disabled
cloud-final.service                           disabled
cloud-init-local.service                      disabled
cloud-init.service                            disabled
cloud-config.target                           static  

配置网络,重启服务器,ip依旧存在,问题解决!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

҉人间无事人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值