简单来说,我想更改 ifconfig 列出的各种网络适配器的名称。在我当前运行 Linux Mint 18 的计算机上,我的网络适配器显示为enp0s31f6
和wlp2s0
。
但是,由于我每天都使用各种 Linux 计算机,因此这很令人困惑。有没有办法将上述两个更改为名称,eth0
以便wlan0
与我使用的其他计算机相匹配?
补充:我目前的名字看起来有些随机。如果有的话,它们是由什么生成的?
答案1
systemd 接口命名
虽然有些系统使用 udev 进行命名,但有些系统依靠 systemd 来定义接口的名称。udev 通常根据 mac 地址来给接口命名,但是当您更换 nic 时这会导致问题 - mac 会发生变化,但通常您不想要一个新的接口名称。
systemd 使用 PCI 总线位置来确定名称,因此如果您将卡替换到同一插槽中,它将具有相同的名称。这使得名称很难记住。
您可以编写自己的 systemd 配置文件,以提供更容易记住的名称。
创建/etc/systemd/network
一个名为的文件[something].link
。其中有一个匹配部分和一个链接部分:
[Match]
OriginalName=enp0s31f6
[Link]
Name=eth0
更多信息请参阅systemd.link
如果您的系统使用 udev 来命名接口,那么以下操作应该有效:
看一下/etc/udev/rules.d/70-persistant-net.rules
这根据 MAC 地址命名网络接口。
您可以使用 查看接口的 mac 地址ip addr
。
该文件的内容包含如下条目:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="enp0s31f6"
您大概可以根据现有的名字推断出哪个是哪个。