如何configurationnetworking知道MAC而不是设备名称?

背景:

我打算使用Kickstart来自动化CentOS 7的部署/configuration。

我正在尝试生成一个适当的Kickstart文件,以操作系统的样本安装的基本configuration文件作为参考点,为操作系统预先configurationnetworking。

我不清楚如何构buildnetworking接口名称,这是一个问题。 我需要知道接口名称是/将在部署,所以我可以configurationnetworking设置,如IP地址/网关/子网掩码等。

但是,我可以访问将要部署操作系统的主机上的每个网卡的MAC地址信息。

题:

我是否有足够的信息来预测networking接口名称和/或是否应该考虑另一种方法?

好的,所以如果我正确地解释你的问题,这里有几件事要考虑。

首先,你似乎被CentOS 7中引入的新的networking界面命名术语弄糊涂了。理论上,这个命名法实际上比以前的命名法更可预测(只是不那么直观/可读)。

命名如下(来自Red Hat文档 ):

Two character prefixes based on the type of interface: en -- ethernet sl -- serial line IP (slip) wl -- wlan ww -- wwan Type of names: b<number> -- BCMA bus core number ccw<name> -- CCW bus group name o<index> -- on-board device index number s<slot>[f<function>][d<dev_port>] -- hotplug slot index number x<MAC> -- MAC address [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>] -- PCI geographical location [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][i<interface>] -- USB port number chain 

所以,实际上应该能够根据电路板的知识来预测接口名称(或者更基本 – 如果每次使用同一块电路板,只需部署一次,看看接口问题被命名,并使用它。

其次,如果你愿意的话,你实际上可以禁用这个新的术语,这实际上是SF在这里所讨论的东西 :

您可以使用kickstart文件中的bootloader部分来抑制可预测的networking接口名称。

将net.ifnames = 0和[如果需要] biosdevname = 0添加到–append应该做你所问。

 bootloader --location=mbr --append="net.ifnames=0 biosdevname=0" 

但是,这当然只是一个解决方法 – 这可能是一个很好的机会,只需要熟悉一下新的术语和它的工作原理。