在Ubuntu中,确保每次出现相同的NIC都分配相同的接口

我正在运行一个Ubuntu 9.10服务器,它有多个网卡。 我想确保每次内核启动时,将MAC地址为01:23:45:67:89:ab的网卡分配给eth0,而MAC地址为ba:98:76:54:32:10网卡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类似)。

/ etc / network / interfaces中是否存在与在Ubuntu上执行此操作相同的语法?

Ubuntu使用udev进行硬件检测。 每次find新的网卡,udev都会为它生成一个规则,因此它将使用相同的物理接口eth0,eth1,…

如果您不更改硬件,则不必关心接口名称,它们将保持不变。 如果你更换一个网卡,它会得到下一个空闲的接口,例如。 ETH2。 要将eth0重新分配给新的NIC,您必须编辑/etc/udev/rules.d/70-persistent-net.rules并删除旧的MAC并将eth2更改为eth0。

有关udev和networking的更多信息,请参阅此处 。

我想你想看看/ etc / network / interfaces中的映射。

以“映射”开始的节点用于确定如何为要提出的物理接口select逻辑接口名称。

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

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

我可以使用映射选项为多个物理接口创build多个逻辑接口吗? 例如,我有2个物理ifaces(eth0,eth1),我想为它们添加2个逻辑接口。 到目前为止,我在这方面一直没有成功