Назад | Перейти на главную страницу

Как настроить сеть, зная MAC, но не имя устройства?

Задний план:

Я намерен использовать Kickstart для автоматизации развертывания / настройки CentOS 7.

Я пытаюсь создать соответствующий файл кикстарта для предварительной настройки сети для операционной системы, используя файл базовой конфигурации из образца установки операционной системы в качестве точки отсчета.

Я не совсем понимаю, как создаются имена сетевых интерфейсов, что создает проблему; Мне нужно знать, какое имя интерфейса будет / будет при развертывании, чтобы я мог настроить параметры сети, такие как 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"

Однако это, конечно, всего лишь обходной путь - это может быть хорошей возможностью воспользоваться этой подсказкой, чтобы просто ознакомиться с новой номенклатурой и тем, как она работает.