在 Ubuntu 中,确保同一个 NIC 每次启动时都分配相同的接口

在 Ubuntu 中,确保同一个 NIC 每次启动时都分配相同的接口

我正在运行一个有多个网卡的 Ubuntu 9.10 服务器。我想确保每次内核启动时,具有 MAC 地址的网卡01:23:45:67:89:ab都会分配给 eth0,具有 MAC 地址的网卡ba:98:76:54:32:10会分配给 eth1。

在 Fedora 上,我可以通过在 /etc/sysconfig/network-scripts/ifcfg-eth0 中指定 MAC 地址来实现这一点

DEVICE=eth0
HWADDR=01:23:45:67:89:ab
# the rest of the configuration goes here

(ifcfg-eth1 也类似)。

在 Ubuntu 上,/etc/network/interfaces 中是否有等效的语法来执行此操作?

答案1

Ubuntu 使用 udev 进行硬件检测。每次发现新 NIC 时,udev 都会为其生成一条规则,因此它将使用相同的物理接口 eth0、eth1、...

如果您不更改硬件,则不必关心接口名称,它们将保持不变。如果您更换了 NIC,它将获得下一个可用接口,例如 eth2。要将 eth0 重新分配给新 NIC,您必须编辑/etc/udev/rules.d/70-persistent-net.rules并删除旧 MAC,然后将 eth2 更改为 eth0。

有关 udev 和网络的更多信息,请参阅这里

答案2

我认为您想查看 /etc/network/interfaces 中的映射。

以“映射”一词开头的节用于确定如何为要启动的物理接口选择逻辑接口名称。

有一个例子interfaces文件这里。向下滚动,有:

映射 eth0 eth1
脚本 /path/to/get-mac-address.sh
映射 11:22:33:44:55:66 lan
映射 AA:BB:CC:DD:EE:FF 互联网

答案3

我可以使用映射选项为多个物理接口创建多个逻辑接口吗?例如,我有 2 个物理 iface(eth0、eth1),我想为每个 iface 添加 2 个逻辑接口。到目前为止,我还没有成功

相关内容