KVM сети DHCP от локального роутера

Вопрос или проблема

Я новичок в KVM, так что прошу прощения за глупые вопросы.
Что я пытаюсь сделать:
Мой хост находится в моей частной локальной сети и получает IP-адрес от маршрутизатора через DHCP (ip4 и 6).
У меня установлено несколько виртуальных машин KVM на хосте, каждая из которых также должна получать IP4/6 от маршрутизатора через DHCP (я назначу статические IP на DHCP-сервере).

Я создал файл yaml:

network:
    version: 2
    renderer: networkd
    ethernets:
        enp3s0f1:
            dhcp4: yes
            dhcp6: yes
    bridges:
      br0:
        dhcp4: yes
        dhcp6: yes
        interfaces:
          - enp3s0f1

Это создало мостовой интерфейс, который я могу предоставить виртуальной машине, однако хост больше не имеет IP.
Также мне нужно будет иметь несколько таких “мостов” для каждой из моих виртуальных машин.

Я следовал этим инструкциям здесь:

https://www.dzombak.com/blog/2024/02/Setting-up-KVM-virtual-machines-using-a-bridged-network.html

Спасибо за вашу помощь!
Дэвид

Ответ или решение

Здравствуйте, Давид!

Ваш вопрос по настройке KVM-сетей и DHCP через локальный маршрутизатор совершенно уместен, и я рад помочь вам разобраться с этой задачей.

Для того чтобы ваши виртуальные машины (VM) могли получать IP-адреса от вашего локального маршрутизатора через DHCP, вам необходимо правильно настроить мост (bridge) на хосте. Вы уже создали файл конфигурации сети, однако нужно внести несколько изменений, чтобы хост также получал IP-адрес.

Пример конфигурации

Вот пример корректного файла конфигурации YAML, который обеспечит работу моста и позволит как хосту, так и виртуальным машинам получать IP-адреса от вашего маршрутизатора:

network:
    version: 2
    renderer: networkd
    ethernets:
        enp3s0f1:
            dhcp4: no       # Отключаем DHCP для физического интерфейса
            dhcp6: no       # Отключаем DHCP для физического интерфейса
    bridges:
      br0:
        dhcp4: yes        # Включаем DHCP для моста
        dhcp6: yes        # Включаем DHCP для моста
        interfaces:
          - enp3s0f1

Установка и активирование моста

  1. Отключите старые сетевые конфигурации: Убедитесь, что у вас отключены старые настройки для интерфейса enp3s0f1, чтобы избежать конфликтов.

  2. Создайте мост: После внесения изменений в конфигурационный файл, примените изменения:

    sudo netplan apply
  3. Проверьте мост: Убедитесь, что мост br0 правильно создан и активен:

    ip a show br0

Если все настроено правильно, ваш хост должен получить IP-адрес по DHCP через мост. Виртуальные машины, использующие br0, также смогут получать IP-адреса от вашего маршрутизатора.

Настройка статических IP для ВМ

Если вы хотите назначить статические IP-адреса виртуальным машинам, вам потребуется:

  1. Настроить DHCP-сервер на вашем маршрутизаторе (или на отдельном сервере), чтобы он выделял определенные IP-адреса для MAC-адресов ваших виртуальных машин.

  2. В виртуальной машине убедитесь, что сетевой интерфейс настроен на использование DHCP (или вручную задавайте статический IP, если вы управляете этим).

Дополнительные мосты

Если вам нужно настроить несколько мостов для разных виртуальных машин, просто создайте дополнительные мосты в вашем YAML-файле аналогично br0, просто измените их имена, например br1, br2, и так далее. Каждый из них должен ссылаться на тот же физический интерфейс (или на разные интерфейсы, если они у вас есть).

Заключение

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

Удачи в настройке!

Оцените материал
Добавить комментарий

Капча загружается...