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

Общие сведения:

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

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

Я не совсем понимаю, как создаются имена сетевых интерфейсов, что создает проблему; Мне нужно знать, какое имя интерфейса будет / будет при развертывании, чтобы я мог настроить параметры сети, такие как IP-адрес / шлюз / маску подсети и т. Д.

Однако у меня есть доступ к информации о MAC-адресах для каждой из сетевых карт на хостах, на которых будет установлена ​​операционная система.

Вопрос:

Достаточно ли у меня информации, чтобы предсказать сетевой интерфейс имя и / или есть ли другой подход, который мне следует рассмотреть?

1
задан 25 January 2017 в 15:56
1 ответ

Хорошо, поэтому, если я правильно истолковал ваш вопрос, у вас есть пара здесь есть о чем подумать.

Во-первых: похоже, что вас смущает новая номенклатура именования сетевых интерфейсов, представленная в 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"

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

2
ответ дан 3 December 2019 в 20:29

Теги

Похожие вопросы