使用udev規則配置使用者自定義網路介面名稱
1、識別您要重新命名的網路介面:
ip link show
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:53:3a:8e brd ff:ff:ff:ff:ff:ff
altname enp3s0
記錄介面的 MAC 地址。
2、顯示介面的裝置型別 ID:
#cat /sys/class/net/ens160/type
1
3、建立 /etc/udev/rules.d/70-persistent-net.rules 檔案,併為您要重新命名的每個介面新增一個規則
SUBSYSTEM"net",ACTION"add",ATTR{address}"<MAC_address>",ATTR{type}"<device_type_id>",NAME="<new_interface_name>"
重要:如果您在引導過程中需要一致的裝置名稱,則只使用 70-persistent-net.rules 作為檔名。如果您重新生成 RAM 磁碟映象,則 dracut 工具會在 initrd 映象中新增一個具有此名稱的檔案。
例如,使用以下規則將 MAC 地址為 00:0c:29:53:3a:8e 的介面重新命名為eth0 :
SUBSYSTEM"net",ACTION"add",ATTR{address}"00:0c:29:53:3a:8e",ATTR{type}"1",NAME="eth0"
4、可選:重新生成 initrd RAM 磁碟映象:
dracut -f
只有在 RAM 磁碟中需要網路功能時才需要這一步。例如,如果根檔案系統儲存在網路裝置上,如 iSCSI,則會出現這種情況。
5、確定哪個 NetworkManager 連線配置檔案使用您要重新命名的介面:
nmcli -f device,name connection show
6、在連線配置檔案中取消 connection.interface-name 屬性的設定:
nmcli connection modify example_profile connection.interface-name ""
7、臨時配置連線配置檔案,以匹配新的和以前的介面名稱:
nmcli connection modify example_profile match.interface-name "eth0 eth0" #注意兩個eth0,前面的是nmcli connection con-name,後面的eth0是網路卡名稱
8、重啟系統:
#shutdown -r now
9、驗證具有您在連結檔案中指定的 MAC 地址的裝置是否已被重新命名為 eth0 :
#ip link show
10、配置連線配置檔案,以僅匹配新介面名稱:
#nmcli connection modify example_profile match.interface-name "eth0"
現在,您已經從連線配置檔案中刪除了舊介面名稱。
11、重新啟用連線配置檔案:
nmcli connection up example_profile