使用Linux系統時,安裝特定網路卡驅動程式或相關程式後,可能會出現網路卡漂移現象。
#可能的表象為:
安裝某個網路卡驅動程式後,可能會導致網路卡順序顛倒,例如先前網路線連接的網路卡埠為eth0,但驅動安裝後可能會變成eth1或其他名稱。
(2)網卡名字改變,這種情況倒不是eth0到eth1的改變,而是很詭異的變化,比如eth0找不到了,多了個網卡名字叫 __tmp3183921382193__
這種情況確實會讓人感到煩惱。因為有些人可能需要使用ifconfig | grep eth指令來取得資訊進行開發工作,如果網卡名稱混亂不清,那麼程式一定會出現錯誤。
(3)光口網卡和電口網卡順序亂了,或者交叉。
總之我們的目的就是:能夠指定某個網卡的名字為我們想要的實體設備。做法如下:
第一步,辨識網路卡資訊
#要使用網卡,首現要知道哪個名字對應的哪個實體設備,做法為:從交換器拉一條網線,從上到下挨個接到網卡上面,注意每次只能接一個網卡,接上後來透過ethtool指令來查看是否連著網路線,例如
[root@bunian ~]# ethtool eth0 Settings for eth0: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes:10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 2 Transceiver: external Auto-negotiation: on Supports Wake-on: g Wake-on: d Link detected: yes
看到了eth0的狀態為連接著網路線。如果Linked detected:no,則表示沒有連接網路線。
如此區分開哪個裝置的名字是什麼,標註好。
第二步:取得每個網路卡的MAC位址
ifconfig -a能看到所有網路設備。透過 ifconfig -a | grep HWaddr 來取得每個裝置的MAC位址。
比如:
[root@bunian ~]# ifconfig-a | grep HWaddr eth0Link encap:EthernetHWaddr 00:30:48:7F:B5:CA eth1Link encap:EthernetHWaddr 00:30:48:7F:B5:CB eth2Link encap:EthernetHWaddr 00:04:23:A6:81:E0 eth3Link encap:EthernetHWaddr 00:04:23:A6:81:E1
拿到了每張網路卡的MAC位址。
第三步:進行MAC和網路卡名稱綁定。
#我們都知道,對於RedHat的系統,網卡的設定檔在:
/etc/sysconfig/network-scripts/ifcfg-ethX 中存著,X=0,1,2。 。 。
比如:
[root@bunian]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # nVidia Corporation MCP55 Ethernet DEVICE=eth0 ONBOOT=yes HWADDR=00:30:48:7f:b5:ca TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=192.168.42.231 GATEWAY=192.168.42.1 BOOTPROTO=static #NAMESERVER=202.106.0.20
這個檔案是對網路卡進行初始化的設定檔。例如如果我們想要指定網卡MAC位址為MAC1的設備名稱為ethn,那麼,修改檔案
/etc/sysconfig/network-scripts/ifcfg-ethn
在裡面加入MAC位址綁定和名字的設定資訊
DEVICE=ethn
HWADDR=MAC1(例如00:30:48:7f:b5:ca)
其它配置資訊不受影響。當對所有網路卡實現綁定後,reboot系統,應該就可以了。
還有一點要注意,就是驅動對應關係的檔案:
/etc/modprobe.conf
#要在該檔案中修改,確保某個裝置使用的就是對應它的驅動,例如:
cat /etc/modprobe.conf alias eth0 forcedeth alias eth1 forcedeth alias scsi_hostadapter aic79xx alias scsi_hostadapter1 sata_nv alias scsi_hostadapter2 usb-storage alias eth2 e1000 alias eth3 e1000
說明eth0和eth1用的forcedeth的驅動,eth2和eth3用的是e1000的驅動。
特殊情況
伺服器更換網卡後,MAC位址就會變化,此時啟動Linux系統後原有的eth0、eth1就不是現在網卡的設定檔了,會提示device eth0 does not seem to be present。
解決辦法:
把/etc/udev/rules.d/70-persistent-net.rules 刪除後重啟機器就可以了,因為這個檔案保存了系統底層對網卡的識別信息,包含ethX與MAC對應關係,刪除並重新啟動讓作業系統重新辨識現有網路卡,即可恢復正常。
另外,如果原有的eth0、eth1設定檔有HWADDR字段,也需要刪除。
以上是linux網卡辨識順序的綁定方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

無法在登錄屏幕Windows 7/8/10/11鍵入密碼?為什麼會出現這個問題?當您無法在登錄屏幕上輸入密碼時該怎麼辦? PHP.CN的這篇文章為您提供了幾種可行的解決方案。
![[已解決] MacOS無法驗證該應用程序是否沒有惡意軟件-Minitool](https://img.php.cn/upload/article/001/242/473/174542694917149.png?x-oss-process=image/resize,p_40)
在Mac上運行應用程序時,您是否遇到了“ MacOS無法驗證此應用程序是否沒有惡意軟件”? PHP.CN的這篇文章向您展示瞭如何解決此問題。

錯誤代碼2000-0415是連接到計算機某些特定電纜的小問題。它在戴爾設備中很常見。如果您目前會收到此錯誤,則PHP.CN網站上此帖子的提示和技巧將對您有所幫助。

您是否曾經遇到過計算機凍結但鼠標仍在移動的情況?許多人對這個問題感到困擾,他們選擇強行關閉計算機。實際上,還有其他方法可以幫助您解決此PR

一些用戶仍然使用Windows 7版本,他們想下載Windows 7 Ultimate SP1。但是,他們不知道在哪裡可以找到ISO文件。不用擔心!這篇來自PHP.CN的帖子告訴您如何免費下載和安裝Windows 7 Ultimate SP1。

如果您最喜歡的電視節目和工作約會之間存在衝突,該怎麼辦? Spectrum DVR可以幫助您!它使您可以錄製自己喜歡的遊戲或電視節目,並隨時觀看。如果您受到Spectrum DV的困擾

您是否知道如何在文件資源管理器中顯示或刪除複選框?如果沒有,您來了正確的位置。 php.cn上的本文向您展示了幾種可行的方法來啟用文件資源管理器中的選擇複選框。

VSS錯誤0x800423F4在Windows 11/10上創建系統映像時發生。如果您被這個煩人的問題困擾,請遵循PHP.CN收集的修復程序以將其紮根。此外,專業的Windows備份軟件(例如Php.cn Shadowmaker)是簡介


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具