CentOS 7 - 重命名網路介面而不重新啟動
我正在通過修改
/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
重新啟動會啟動新配置。但是如何在不重新啟動的情況下啟動此配置?
A
systemctl 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
兩者,
ifconfig
並ip 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”,請小心,因為可能會產生意想不到的後果。