在Linux系統中,ifconfig
命令主要用于配置、激活和查詢網絡接口參數,但它不能直接用來修改網卡名稱。要修改網卡名稱,你需要編輯/etc/udev/rules.d/
目錄下的規則文件。以下是具體步驟:
sudo systemctl stop NetworkManager
sudo systemctl start udev
ip link
或ifconfig -a
命令來查看網卡的MAC地址。例如:ip link
輸出示例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 00:1c:42:00:00:08 brd ff:ff:ff:ff:ff:ff
在這個例子中,網卡名稱是eth0
,MAC地址是00:1c:42:00:00:08
。
/etc/udev/rules.d/70-persistent-net.rules
(數字可以根據需要調整,只要確保它在70-persistent-net.rules
之前):sudo nano /etc/udev/rules.d/70-persistent-net.rules
INTERFACE_NAME
和MAC_ADDRESS
):SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="MAC_ADDRESS", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="INTERFACE_NAME"
例如:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:42:00:00:08", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
保存并關閉文件。
重啟udev服務以應用更改:
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo reboot
現在,系統啟動后,網卡名稱應該已經根據你在udev規則文件中指定的名稱進行了更改。請注意,這些步驟適用于基于Debian的系統(如Ubuntu)。對于基于RPM的系統(如Fedora、CentOS等),步驟可能略有不同。