Как мне получить имя сетевого адаптера перед установкой, чтобы установить его в конфигурационном файле автоустановщика (Ubuntu 20.04)?

network:
    network:
        version: 2
        ethernets:
            enp0s25:
               dhcp4: yes

Быть перед установкой как мне узнать название сетевого адаптера перед его установкой? Можно ли использовать только Mac, не зная имени устройства?

2
задан 7 April 2021 в 21:18

1 ответ

Если вы удалите раздел network: из конфигурации автоустановки, то конфигурация сети будет сгенерирована автоматически. Это может удовлетворить ваши потребности.

поведение по умолчанию

Процесс настройки сети очень сбивает с толку, но именно так кажется работает, когда нет раздела network: в конфигурации автоустановки

1

В установщике cloud-init имеет стандартную общую конфигурацию netplan , которая используется, когда ничего не указано. Эта конфигурация соответствует всем физическим интерфейсам.

# This is the initial network config.
# It can be overwritten by cloud-init or subiquity.
network:
    version: 2
    ethernets:
        zz-all-en:
            match:
                name: "en*"
            dhcp4: true
        zz-all-eth:
            match:
                name: "eth*"
            dhcp4: true

2

Фактические сведения об интерфейсе добавлены в файловую систему установщика в /etc/cloud/cloud.cfg.d / $ {IFNAME} .cfg . Я считаю, что casper помещает этот файл на место.

3

При загрузке установщика cloud-init объединяет свою конфигурацию, чтобы создать конфигурацию netplan для среды установщика. Тестовая виртуальная машина, которую я пробовал, заканчивается с

# cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        ens192:
            critical: true
            dhcp-identifier: mac
            dhcp4: true
            nameservers:
                addresses:
                - REDACTED
                - REDACTED
                search:
                - REDACTED
        zz-all-en:
            dhcp4: true
            match:
                name: en*
        zz-all-eth:
            dhcp4: true
            match:
                name: eth*
    version: 2

4

Установщик, subiquity , создает конфигурацию для curtin , которая включает только ту часть конфигурации netplan установщика, которая относится к актуальные интерфейсы.

# cat /var/log/installer/subiquity-curtin-install.conf
...
write_files:
...
  etc_netplan_installer: {content: "# This is the network config written by 'subiquity'\n\
      network:\n  ethernets:\n    ens192:\n      critical: true\n      dhcp-identifier:\
      \ mac\n      dhcp4: true\n      nameservers:\n        addresses:\n        -\
      \ REDACTED\n        - REDACTED\n        search:\n        - REDACTED\n\
      \  version: 2\n", path: etc/netplan/00-installer-config.yaml}
...

5

установленная система (расположенная в / target ) заканчивается конфигурацией, заданной для curtin .

# cat /target/etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    ens192:
      critical: true
      dhcp-identifier: mac
      dhcp4: true
      nameservers:
        addresses:
        - REDACTED
        - REDACTED
        search:
        - REDACTED
  version: 2

6

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

1
ответ дан 23 April 2021 в 23:25

Другие вопросы по тегам:

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