更换 PCIe 卡时保留 /etc/network/interfaces 配置

更换 PCIe 卡时保留 /etc/network/interfaces 配置

我的 Ubuntu 16.04 盒子里有几块网卡(目前有 3 块)。据我所知,它们的名称与 PCIe 名称相关。我的问题是,当我添加或移除任何类型的卡(显卡、HBA 等)时,接口名称似乎会发生变化,然后启动会暂停几分钟,试图启动网络。如果我必须重新启动几次,那么这确实很麻烦。

这是我的/etc/network/interfaces

auto lo
iface lo inet loopback

auto enp8s0
iface enp8s0 inet manual

auto enp5s0
iface enp5s0 inet manual

auto enp6s0f0
iface enp6s0f0 inet manual

auto enp6s0f1
iface enp6s0f1 inet manual

auto br0
iface br0 inet dhcp
    hwaddress 50:e5:49:ed:72:3d
    bridge_ports enp8s0 enp6s0f0 enp6s0f1 enp5s0
    bridge_stp off

答案1

Udev 有固定网络设备名称的机制


首先,记下您的接口 mac 地址。您可以使用ip aifconfig -a

/etc/udev/rules.d/70-persistent-net.rules 其次,必须在 16.04 中手动创建该文件。

使用您最喜欢的编辑器

sudo nano /etc/udev/rules.d/70-persistent-net.rules

将 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"

因此,对于您的第一个接口来说,enp8s0它将是

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<the-mac-address>", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="enp8s0"

您必须为每个网卡创建一个条目。这将在重启时生效。


  • 免责声明:对于 16.04 之前的 Ubuntu 版本,您必须添加KERNEL=="eth*"*

相关内容