Общие сведения:
Я собираюсь использовать Kickstart для автоматизации развертывания / настройки CentOS 7.
Я пытаюсь создать соответствующий файл Kickstart для предварительной настройки сети для операционной системы, используя файл базовой конфигурации из образца установки операционной системы в качестве ориентира.
Я не совсем понимаю, как создаются имена сетевых интерфейсов, что создает проблему; Мне нужно знать, какое имя интерфейса будет / будет при развертывании, чтобы я мог настроить параметры сети, такие как IP-адрес / шлюз / маску подсети и т. Д.
Однако у меня есть доступ к информации о MAC-адресах для каждой из сетевых карт на хостах, на которых будет установлена операционная система.
Вопрос:
Достаточно ли у меня информации, чтобы предсказать сетевой интерфейс имя и / или есть ли другой подход, который мне следует рассмотреть?
Хорошо, поэтому, если я правильно истолковал ваш вопрос, у вас есть пара здесь есть о чем подумать.
Во-первых: похоже, что вас смущает новая номенклатура именования сетевых интерфейсов, представленная в CentOS 7. Теоретически эта номенклатура на самом деле более предсказуема, чем предыдущая (только немного менее интуитивно понятна / читабельна).
Именование работает следующим образом (из документации 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 :
Вы можете использовать раздел загрузчика в файле кикстарта для подавления предсказуемые имена сетевых интерфейсов.
Добавление net.ifnames = 0 и [при необходимости] biosdevname = 0 в --append должен делать то, что вы просите.
bootloader --location=mbr --append="net.ifnames=0 biosdevname=0"
Однако это, конечно, всего лишь обходной путь - это может быть хорошей возможностью воспользоваться этим предложением, чтобы просто ознакомиться с новой номенклатурой и тем, как она работает.