日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux设置网络 重命名,01-Redhat/Centos7网卡命名介绍及修改方式

發布時間:2025/3/15 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux设置网络 重命名,01-Redhat/Centos7网卡命名介绍及修改方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Redhat/Centos7網卡命名介紹

1.1 網絡設備命名

Redhat/Centos7提供在網絡接口中使用新的網絡設備命名方法。這些功能會更改系統中的網絡接口名稱,以便定位和區分這些接口。

1.2 命名方案層級結構

默認情況下,systemd會使用以下策略,采用支持的命名方案為接口命名:

方案1:如果固件或BIOS信息適用且可用,則使用整合了為板載設備提供索引號的固件或BIOS的名稱(例如:eno1),否則請使用方案2。

方案2:如果固件或BIOS信息適用且可用,則使用整合了為PCI快速熱插拔插槽提供索引號的固件或BIOS名稱(例如ens1),否則請使用方案3。

方案3:如果硬件連接器物理位置信息可用,則使用整合了該信息的名稱(例如:enp2s0),否則請使用方案5。

方案4:默認不使用整合接口MAC地址的名稱(例如:enx78e7d1ea46da),但用戶可選擇使用此方案。

方案5:傳統的不可預測的內核命名方案,在其他方法均失敗后使用(例如:eth0)。

這個策略(如上所述)是默認策略。如果該系統已啟用biosdevname,則會使用該方案。注:啟用biosdevname需要添加biosdevname=1作為命令行參數(Dell系統除外),此時只要安裝biosdevname,就會默認使用該方案。如果用戶已添加udev規則,該規則會更高內核設備名稱,則會優先使用這些規則。

1.3 設備重命名過程

設備命名過程如下:

1. /usr/lib/udev/rules.d/60-net.rules

文件中的規則會讓udev幫助工具/lib/udev/rename_device查看所有/etc/sysconfig/network-scripts/ifcfg-suffix文件。如果發現包含HWADDR條目的ifcfg文件與某個接口的MAC地址匹配,它會將該接口重命名為ifcfg文件中由DEVICE指令給出的名稱。

例,如下配置文件網卡則以eth0命名:

[[email?protected] rules.d]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

NAME=eth0

UUID=e073eeeb-ecba-4481-841f-539454d90a6f

DEVICE=eth0

ONBOOT=yes

HWADDR=00:0c:29:7c:4a:f8

2. /usr/lib/udev/rules.d/71-biosdevname.rules

文件中的規則讓biosdevname根據其命名策略重命名該接口,即在上一步中沒有重命名該接口、已安裝biosdevname、且在boot命令行中將biosdevname=0作為內核命令給出。

3. /lib/udev/rules.d/75-net-description.rules

文件中的規則讓udev通過檢查網絡接口設備,填寫內部udev設備屬性值ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。注:有些設備屬性可能處于未定義狀態。

4. /usr/lib/udev/rules.d/80-net-name-slot.rules

文件中的規則讓udev重命名該接口,優先順序如下:ID_NET_NAME_ONBOARD、ID_NET_NAME_SLOT、ID_NET_NAME_PATH。并提供如下信息:沒有在步驟1或2中重命名該接口,同時未給出內核參數net.ifnames=0。如果一個參數未設定,則會按列表的順序設定下一個。如果沒有設定任何參數,則不會重命名該接口。

1.4 網卡命名規則

1.4.1?net.ifnames規范

根據接口類型以兩個字母開頭(net.ifnames規范):

說明:設備類型+設備位置+數字

1. en 代表以太網

2. wl 代表無線局域網(WLAN)

3. ww 代表無線廣域網(WWAN)

例:

eno1 板載網卡

enp0s2 ?pci網卡

ens33 ??pci網卡

wlp3s0 ?PCI無線網卡

wwp0s29f7u2i2 ??4G modem

wlp0s2f1u4u1 ??連接在USB Hub上的無線網卡

enx78e7d1ea46da pci網卡

1.4.2 biosdevname規范

dell開發

例:

em1 板載網卡

p3p4 pci網卡

p3p4_1 虛擬網卡

格式

描述

o

板載設備索引號

s[f][d]

熱插拔插槽索引號

x

MAC地址

ps[f][d]

PCI地理位置

ps[f][u][..][c][i]

USB端口鏈

所有多功能PCI設備都在其設備名稱中包含[f]號,其中包括function0設備。

在USB設備中會組成集線器端口號完整鏈。如果該名稱超過15個字符上限,則無法導出該名稱。

已取消USBconfigurationdescriptors==1和USBinterfacedescriptors==0(如果只有一個USB配置或接口存在,則默認值為configuration==1及interface==0)。

2. Redhat/Centos7修改網卡名

如系統BIOS符合要求,且系統中安裝了biosdevname,且biosdevname=1啟用,則biosdevname優先;

如果BIOS不符合biosdevname要求或biosdevname=0,則仍然是systemd的規則優先。

如果用戶自己定義了udev rule來修改內核設備名字,則用戶規則優先。

內核參數組合使用的時候,其結果如下:

默認內核參數(biosdevname=0,net.ifnames=1): ?網卡名 "enp5s2"

biosdevname=1,net.ifnames=0:網卡名 "em1"

biosdevname=0,net.ifnames=0:網卡名 "eth0" (最傳統的方式,eth0 eth1 傻傻分不清)

2.1 方法一

說明:修改/etc/sysconfig/grub文件,在GRUB_CMDLINE_LINUX配置中添加"net.ifnames=0 biosdevname=0"

評價:如果系統同時存在光卡、電卡,因為不同網卡驅動加載時間不同,會出現網卡亂序現象,如:2光2電的網口,出現一光一電交錯出現的現象。

1. 修改/etc/sysconfig/grub文件

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g‘ /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0"

GRUB_DISABLE_RECOVERY="true"

2. 生成grub配置

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

3. 修改網卡配置文件

[[email?protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=dhcp

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0

UUID=a88bc211-429d-4a00-8e52-1fa11c811b7f

DEVICE=eth0

ONBOOT=yes

4. 重啟操作系統

shutdown -h now

2.2 方法二

原理同第一種方法,但是在安裝系統時配置

1. 進入系統安裝界面,將光標移動到Install CentOS7,根據系統提示使用Tab或者e

2. 編輯grub配置

3. 設置網卡選項,發現網卡名稱為eth0

2.3 方法三

修改/usr/lib/udev/rules.d/60-net.rules更改網卡名,因為mac地址與網卡名一一對應,所以不會出現網卡亂序的現象。

注意:使用以下腳本,網卡配置文件需要存在,使用后如果網卡啟動,不能同時多個網卡使用dhcp獲取IP模式,否則network網絡服務重啟會報錯

1. 腳本配置文件

#原網卡名 新網卡名

eno1 eth0

eno2 eth1

eno3 eth2

2. 腳本內容

#!/bin/bash

inforfile=$1

>testfile

cat $1 | egrep -v ‘^#|^#‘ | while read line

do

src_name=$(echo ${line} | awk ‘{print $1}‘)

dst_name=$(echo ${line} | awk ‘{print $2}‘)

mac_=$(ifconfig ${src_name} | awk ‘/ether/{print $2}‘)

a=‘ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", ATTR{address}=="‘

b=‘", NAME="‘

c=‘", GOTO="net_end"‘

echo $a$mac_$b$dst_name$c >> testfile

cp -a /etc/sysconfig/network-scripts/ifcfg-${src_name} ./ifcfg-${src_name}.backup

sed -i -e "/^DEVICE/s/DEVICE=.*/DEVICE=${dst_name}/g" -e "/^NAME/s/NAME=.*/NAME=${dst_name}/g" /etc/sysconfig/network-scripts/ifcfg-${src_name}

mv /etc/sysconfig/network-scripts/ifcfg-${src_name} /etc/sysconfig/network-scripts/ifcfg-${dst_name}

done

echo ‘ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", RESULT=="?*", NAME="$result"‘ >> testfile

echo ‘LABEL="net_end"‘ >> testfile

cp -a /lib/udev/rules.d/60-net.rules ./60-net.rules.backup

cat testfile > /lib/udev/rules.d/60-net.rules

3. 腳本執行

sh change-nic.sh inforfile

2.4 自動生成ifcfg-xxx網卡配置文件的方法

啟動NetworkManager服務

systemctl start NetworkManager

使用nmcli

# 創建通過dhcp獲取IP的配置文件

nmcli connection add con-name default type ethernet ifname eth0

# 創建靜態配置IP的配置文件

nmcli connection add con-name static type ethernet ifname eth0 ip4 192.168.0.111/24 gw4 192.168.0.254

參數詳解:

connection/con -- 連接

add -- 添加

default -- 默認dhcp獲取IP

type ethernet -- 以太網類型

ifname -- 接口名稱

3.參考文檔

Redhat官方手冊

https://www.jianshu.com/p/b66981dbb389

https://blog.51cto.com/zaa47/1927466

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的linux设置网络 重命名,01-Redhat/Centos7网卡命名介绍及修改方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。