Centos

CentOS 7 - 重命名網路介面而不重新啟動

  • December 8, 2021

我正在通過修改/etc/sysconfig/network-scripts.

  • eth0 -> nic0
  • eth1 -> nic1

修改後的網路腳本內容如下:

# cat /etc/sysconfig/network-scripts/ifcfg-nic0
DEVICE=nic0
BOOTPROTO=static
ONBOOT=yes
HWADDR=xx:xx:xx:xx:xx:xx
USERCTL=no
IPV6INIT=no
MASTER=bond0
SLAVE=yes

重新啟動會啟動新配置。但是如何在重新啟動的情況下啟動此配置?

Asystemctl restart network沒辦法。

ifdown eth0我可以通過舊名稱 ( )關閉一個介面,但ifup無論提供舊名稱還是新名稱,都會導致以下消息:

錯誤 :

$$ /etc/sysconfig/network-scripts/ifup-eth $$設備 nic0 似乎不存在,延遲初始化。

/etc/init.d/network status顯示此輸出:

Configured devices:
lo bond0 nic0 nic1
Currently active devices:
lo eth0 eth1 bond0

兩者,ifconfigip a顯示舊介面名稱。

您可以使用 ip 命令重命名設備:

/sbin/ip link set eth1 down
/sbin/ip link set eth1 name eth123
/sbin/ip link set eth123 up

編輯

為了完整性和後代(以及資訊目的),我將離開以下內容,但我已經確認了swill 的評論Marco Macuzzo 的回答,即只需更改介面的名稱和設備 /etc/sysconfig/network-scripts/ifcfg-只要配置文件中包含 hwaddr= 欄位, eth0(並重命名文件)將導致設備正確命名。我建議在引用的更新之後使用此方法。

您可能還需要確保配置 udev 規則,以便下次重新啟動時也可以使用。udev 的路徑在 CentOS 7 中移動到 /usr/lib/udev/rules.d/60-net.rules 但您仍然可以以相同的方式管理它。如果您在核心引導字元串中添加了“net.ifnames=0 biosdevname=0”以返回舊的 nic 命名方案,您可以刪除

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

並將其替換為

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:50:56:8e:3f:a7", NAME="eth123"

每個 nic 需要一個條目。請務必使用正確的 MAC 地址並更新 NAME 欄位。如果您沒有使用“net.ifnames=0 biosdevname=0”,請小心,因為可能會產生意想不到的後果。

引用自:https://unix.stackexchange.com/questions/205010