(轉)Linux修改eth2到eth0(70-persistent-net.rules)


之前在公司提供的虛擬機器上面,一直有個問題用着很不舒服,為什么它的IP選擇的設備的eth2的,但是我在/etc/sysconfig/network-scrpts/下面也沒有找到ifcfg-eth2的配置文件,這樣子,我就沒法修改IP了,也沒法使用靜態IP了,每次都是虛擬機動態分配的IP,這個太麻煩了。有時間解決了下這個問題。首先我聲明下,我這里是用的NAT的方式與主機相連的。其實我到現在也還沒有弄清楚,為什么沒有eth2的配置文件,這種情況下 我該如何去修改IP,但是我想這些肯定跟現有的網卡有關,也即是跟現在的mac地址有關系,因為我解決上面的那個問題主要是通過mac出發的。
經查明,Linux是用/etc/network/interfaces這個配置文件來載入網卡的。默認配置中,它指示Linux會自動尋找eth0網卡,並自動分配IP。但是,當虛擬網卡的MAC地址更改后,網卡在Linux中不是eth0了,而是eth1或其它值。因此才會找不到。而現有系統中,有哪些網卡是可用的,可以通過下面的命令查看:
ifconfig -a
使用這個命令后確實,發現每刷新一次mac地址,就生成一個新的eth。
在Linux中,還有一個配置文件:/etc/udev/rules.d/70-persistent-net.rules,打開這個配置文件后,會發現里面列出了所有Linux找到的網卡,包括歷史的。因此,解決無法加載網卡的問題就有兩個解決辦法:
1.修改interfaces配置文件,使其使用最新的eth網卡
2.刪除.rules文件,讓linux重新將網卡認為是eth0
我找了下interfaces這個文件沒有找到,於是我選擇了第二個方法,刪除rules配置文件,讓他重新選擇網卡。重啟機器之后,敲了ifconfig,出現的不再是eth2了,但是使用的居然是eth1了, 這又讓我迷茫了,怎么會變成是eth1了呢? 同時 也沒有發現eth1的配置文件,這樣子,我還是沒法控制IP啊。我查看了下ifconfig命令中的mac地址和ifcfg-eth0中的mac地址比較下,發現兩者的mac地址不一樣,使用/etc/init.d/network restart 重啟網卡,居然報eth0沒有這個設備,由此斷定,eth0配置文件中的mac地址是錯誤,於是把eth0配文件中的mac地址改成了ifocnfig中出來的mac地址,然后再次刪除/etc/udev/rules.d/70-persistent-net.rules文件,重啟機器,讓他再次重新選擇網卡,啟動之后,查看了ifocnfig,這時候變成了eth0,看來是正常了,然后修改下ifcfg-eth0的ip,重啟網絡服務,沒有報錯,正常,查看下IP,改過來了,OK,一切正常。
這時又發現新問題了,我在這個虛擬機中常識去訪問主機所在網段的機器時,居然報:network unreachable,斷定是網關的問題,查看下網關,果然沒有設置,在終端是命令:arp -a ,查看本機器的網關,然后修改ifgcfg-eth0,重啟服務器,OK,搞定!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM