最近,一臺虛擬機是從外網下載的,然後導入本地測試環境使用。 發現一個奇怪的問題:修改了 /etc/sysconfig/network-scripts/ifcfg-eth0 保存後, 重啟網路服務( systemctl restart network)是有效的。但是重啟系統之後就失效了。 ifcfg- ...
最近,一臺虛擬機是從外網下載的,然後導入本地測試環境使用。
發現一個奇怪的問題:修改了 /etc/sysconfig/network-scripts/ifcfg-eth0 保存後,
重啟網路服務( systemctl restart network)是有效的。但是重啟系統之後就失效了。
ifcfg-eth0內容被重置了。
嘗試了關閉自帶網路管理工具,
systemctl stop NetworkManager
systemctl disable NetworkManager
無效。重啟後,ifcfg-eth0內容仍被重置。
打開這個文件後,頂部有一行註釋提示:
# 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
好吧,找一找服務:
systemctl list-unit-files
發現了這4行,應該是和最下麵一行有關:
cloud-config.service enabled cloud-final.service enabled cloud-init-local.service enabled cloud-init.service enabled
於是,上網搜了倆小時,嘗試過N次後,最終找到了某位大神給的正確答案:
在 /etc/cloud/cloud.cfg中添加內容,禁止 cloud-init服務接管網路,如下圖所示:
network:
config:disabled
後續執行以下操作:清理,檢查cloud-init配置文件,再次檢查eth0配置,重啟測試。
cd /usr/lib/python2.7/site-packages/cloudinit/sources/ rm -rf __init__.pyc rm -rf __init__.pyo rm -rf /var/lib/cloud/* rm -rf /var/log/cloud-init* cloud-init init --local cat /etc/sysconfig/network-scripts/ifcfg-eth0 reboot