變更網路介面名稱 Ubuntu 16.04

變更網路介面名稱 Ubuntu 16.04

我嘗試在這個新的 Ubuntu 16.04 LTS 版本上更改網路介面名稱,但沒有/etc/udev/rules.d/70-persistent-net.rules.

所以,我嘗試使用/lib/udev/write_net_rules但它不存在。

為什麼我需要這個修改?因為我正在使用一個工具來模擬使用靈活許可的虛擬平台,並且身份驗證需要在eth0介面名稱中。

有什麼建議嗎?

該命令ip link返回:

user@laptop:~$ ip link 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
link/ether b8:2a:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff
3: wlp7s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 5c:e0:xx:yy:xx:yy brd ff:ff:ff:ff:ff:ff

user@laptop:~$ ifconfig 
enp6s0    Link encap:Ethernet  HWaddr b8:2a:xx:yy:xx:yy  
lo        Link encap:Local Loopback  
wlp7s0    Link encap:Ethernet  HWaddr 5c:e0:xx:yy:xx:yy  

(部分訊息被忽略和壓制)

我已經嘗試過一些連結:

答案1

關於如何在最新版本的 Ubuntu 中更改網路名稱有很多誤導性資訊。有些資訊指向 systemd.link,這是錯誤的,因為 Ubuntu(截至 16.04)沒有使用 systemd 的這一部分。

實際上,更改介面名稱的工作方式幾乎與以前一樣,但有兩個小區別:首先,/etc/udev/rules.d/70-persistent-net.rules現在必須手動建立檔案。這樣做的優點是您不必擔心任何腳本會覆蓋此文件,並且可以簡單地添加您需要的行(也不需要任何註釋)。其次 - 這是我花了很多時間才弄清楚的變化 - 與 Ubuntu 14.04 LTS 相比,格式略有變化:

將 MAC 位址為「02:01:02:03:04:05」的 NIC 介面名稱固定為「eth0」的行現在是:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"

這行看起來與 Ubuntu 14.04 LTS 中幾乎相同,但有一點細微的差別:在 Ubuntu 14.04 中,有附加條件KERNEL=="eth*"。由於某種原因,這在 Ubuntu 16.04 LTS 中不起作用。如果存在此附加條件,則整行將被忽略,並且您將返回預設行為(如 中指定的80-net-setup-link.rules)。

答案2

在 Ubuntu 16.04.1 LTS、Linux 筆記型電腦 4.4.0-31-genericx86_64 MATE 上。 @Geancarlo Abich 回答的第一步,它起作用了。 Ubuntu 重新啟動後直接建立了一個新名稱:

編輯 /etc/default/grub 更改該行

GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

最後:

$ sudo update-grub

並重新啟動您的系統:

$ sudo reboot
msa@plaptop:~$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 70:5a:0f:d7:03:38  
          inet addr:10.67.10.43  Bcast:10.67.10.255  Mask:255.255.255.0
          inet6 addr: fe80::8c03:edb5:a3d1:ba21/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:63129 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37788 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:51115719 (51.1 MB)  TX bytes:5006758 (5.0 MB)
          Interrupt:16 Memory:f1200000-f1220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:255 errors:0 dropped:0 overruns:0 frame:0
          TX packets:255 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:21076 (21.0 KB)  TX bytes:21076 (21.0 KB)

wlan0     Link encap:Ethernet  HWaddr 44:85:00:62:c6:e5  
          inet addr:10.67.14.106  Bcast:10.67.14.255  Mask:255.255.255.0
          inet6 addr: fe80::5844:f9dd:32ff:9b45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5320 (5.3 KB)  TX bytes:14611 (14.6 KB)

答案3

Ubuntu-16.04-伺服器-amd64

/etc/default/grub變革

GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="net.ifnames=0"

然後,輸入:

sudo update-grub

並重新啟動您的系統

sudo reboot

答案4

我嘗試混合一些建議,我找到了解決方案!

步驟1:禁用預設韌體繼承名稱。

編輯您的/etc/default/grub更改行

GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

最後以 root 身分運行:

$ sudo update-grub

並重新啟動您的系統。

$ sudo reboot

第2步:以root身分建立持久文件/etc/udev/rules.d/70-persistent-net.rules並填充它們。

$ sudo gedit /etc/udev/rules.d/70-persistent-net.rules

例子:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device lan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="ethX"

# PCI device Wlan Device
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:yy:XX:yy:XX:yy", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wlanX"

(使用接口 MAC 位址來引用您要重新命名的接口,並根據需要更改“X”接口名稱值)

儲存變更並重新啟動。

$ sudo reboot

這對我有用。

相關內容