udev綁定多網卡名稱

作者:獨筆孤行@TaoCloud

一、問題概況

Linux系統使用中,服務器重啓後,網卡名稱改變、網口名稱調換導致之前的網絡配置失效,而必須重新配置網絡纔將網絡環境恢復正常,是一個既常見又頭疼的問題,CentOS/RedHat環境出現頻率相對低一點,而在Ubuntu、kylin、deepin出現頻率很高,有時幾乎成了必現問題。開始遇到這種問題只能不斷的重啓機器,至於重啓能不能解決完全看運氣。後來講過調查找了解決此問題的辦法。一勞永逸。

二、問題表現

服務器重啓後,原來的網口名稱ens192、ens224名稱變成其他名稱,或ens192和ens224網口名稱位置互換。

三、處理措施

1.進入系統後,以root用戶權限,編輯配置文件 /etc/default/grub ,並配置GRUB_CMDLINE_LINUX_DEFAULT參數值內容,保證原有參數值內容不變,加入新的參數值內容"net.ifnames=0 biosdevname=0",配置後情況如下:

vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"

2.重新生成grub文件,執行如下命令:

grub-mkconfig -o /boot/grub/grub.cfg

執行命令後會產生如下內容:

root@ubuntu-node1:~# grub-mkconfig -o /boot/grub/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-21-generic
Found initrd image: /boot/initrd.img-4.4.0-21-generic
done

注:操作完以上步驟後,原來的網卡名稱ens192、ens224會變成eth0、eth1.

3.手動編輯創建網卡綁定文件 /etc/udev/rules.d/70-persistent-net.rules, 網口名稱通過該文件進行永久綁定,並寫入如下內容,該文件通過mac地址將網卡與網卡名稱進行綁定。

vi /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:99:e1:59", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:99:66:07", KERNEL=="eth*", NAME="eth1"

相關內容說明:

保持以上內容格式不變,配置參數名 ATTR{address} 與 NAME 爲正確的參數值,參數值可通過命令 "ip a" 進行查看。

ATTR{address} 參數值爲ip a命令查看獲取的mac地址

NAME 參數值爲ip a 命令查看獲取的網口名稱

注:以上實踐過程環境爲Ubuntu,其他環境方法類似,部分參數可能有調整

關注公衆號“雲實戰”,歡迎更多問題諮詢
udev綁定多網卡名稱

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章