您好,登錄后才能下訂單哦!
用clone方法復制出的Ubuntu虛擬機啟動后,盡管IP等網絡信息不和其他虛擬機沖突,但就是無法ping通其他虛擬機。
創建得到的虛擬機信息:
復制得到的虛擬機信息:
通過觀察網絡配置文件,發現兩臺虛擬機的網卡名稱是最大的區別。按照常理,當系統中只有一塊網卡時,Linux的硬件偵測程序會把它標識為第一塊網卡,即在Ubuntu中應顯示為編號0而不是1。這就意味著,復制得到的虛擬機中還應存在一張網卡,只不過由于未被偵測到而未能掛載到Ubuntu系統中,而這張看不見的網卡就是編號為0的第一網卡。
經查詢Ubuntu的硬件注冊機制文檔得知,/lib/udev/writenetrules會在系統安裝好后自動生成一個記錄當前網卡硬件信息的文件70-persistent-net.rules,這個文件一般存放在目錄 /etc/udev/rules.d/ 中。
它的內容大致如下:
這個文件中記錄了網卡的MAC地址及對應的設備名稱。Linux開機后,系統會檢查當前掛載的設備是否與配置文件中記錄的信息向一致,入不一致就不會激活相關設備。具體到此處而言就是,Ubuntu開機后,設備偵測程序發現當前網卡的MAC地址與/etc/udev/rules.d/70-persistent-net.rules 中所記載的信息不一致,因此會將編號0保留給70-persistent-net.rules已記錄的MAC地址(盡管編號0未掛載到當前系統)、將編號1分配給當前網卡的MAC地址并拒絕激活當前網卡。
因此,在解決這類故障時有兩種思路:一是修改 70-persistent-net.rules 中的設備信息記錄,二是使已存在的記錄失效。
如果是在生產環境中解決此類故障,建議修改 70-persistent-net.rules 中的記錄,或者采用注釋的方式使記錄失效。如果是實驗環境或者非重要環境可以刪除文件 70-persistent-net.rules 或者以修改文件名的方式備份。
CentOS 6后,CentOS改變了設備的命名方式,采用一致性設備命名規范,同時支持biosdevname和net.ifnames規范,因此不能再依靠設備編號來識別網卡了,但網卡的MAC地址是全球唯一的,因此在CentOS中解決這類故障時,上述兩個思路依舊有效。
更換網卡后,新網卡不能被激活也是因為有這個文件的存在,刪除后重啟系統即可激活新網卡。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。