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

ВМ выступает в роли сервера DHCP / PXE в виртуальной сети?

Я работаю над проверкой концепции бега Stacki, DHCP / PXE-сервер, который обслуживает конфигурации загрузки Kickstart PXE для виртуальных машин в данной подсети. Я бы хотел настроить как минимум две виртуальные машины libvirt, одна из которых - это интерфейс Stacki, управляющий DHCP для сети, а другая - пустая виртуальная машина, которая получит конфигурацию загрузки от Stacki.

Я предполагаю, что мне нужно как минимум следующее:

  1. Мостовая виртуальная сеть NAT, чтобы сама Stacki и ее управляемые виртуальные машины могли выполнять NAT в Интернет и на другие физические машины в локальной сети.
  2. Stacki должен быть DHCP-сервером, управляющим этой виртуальной сетью NAT и назначением IP-адресов.
  3. У Stacki должен быть статический IP-адрес.

Есть ли способ отключить DHCP в сети и назначить моему интерфейсу Stacki только статический IP-адрес? Есть ли что-то, что я упустил из виду, что мне нужно настроить?

Я бы не стал запускать DHCP-сервер в сети NAT. В сценарии с виртуальными машинами намного проще просто запустить вторую сеть для всей связи Stacki и настроить маршрутизацию для выхода из сети NAT, если это необходимо.

Мы (разработчики Stacki) пошли дальше и создали коробку Stacki Vagrant, чтобы сделать это немного проще. Он не полностью отвечает на вопрос OP (в настоящее время полагается на VirtualBox), но он должен решить проблему, связанную с желанием «протестировать» Stacki на виртуальной машине против других виртуальных машин.

Vagrantfile и большая часть (см. Проблему № 2 в репозитории) того, что вам нужно для самостоятельной сборки коробки, находится на GitHub по адресу StackiUp. Мы также размещаем Vagrantbox на S3. Просто клонируйте это репо и запустите "vagrant box add http://stacki.s3.amazonaws.com/public/vm/vagrant/stackibox.json && vagrant up ".

Последнее замечание, чтобы прояснить некоторые недоразумения в другом ответе, Stacki имеет открытый исходный код и бесплатен на GitHub (под лицензией BSD). Мы также размещаем ISO-образы на нашем веб-сайте, поэтому вам не придется создавать его самостоятельно. В версии Pro, конечно же, нет необходимости для инициализации без операционной системы. Бесплатный Stacki почти тривиально расширить и добавить, скажем, Ansible для обработки после установки.

Есть ли способ отключить DHCP в сети и назначить моему интерфейсу Stacki только статический IP-адрес? Есть ли что-то, что я упустил из виду, что мне нужно настроить?

Почему бы вам не дать Stacki статический IP-адрес и не зарезервировать для него этот IP-адрес на своем DHCP-сервере?

Решит ли это проблему?

Вы можете построить целую сеть, скрытую в физическом хосте.

  1. Создать мост

    brctl addbr br99
    

    или под управлением Debian, в /etc/network/interfaces.d/bridges для образца:

    iface br99 inet manual
            bridge_ports none
    

    Итак, есть неиспользованный мост, вы можете поделиться со многими виртуальными хостами.

  2. Создайте контейнер Network Manager с возможностью dhcp, pxe и т. Д. ... Используйте мост в качестве основного соединения.

  3. Теперь вы можете создавать новые контейнеры как обычные для 1-го контейнера.

Некоторые преимущества:

  • Отсутствие риска для dhcp-клиента pertub hardware hosts
  • Быстро и легко

Но:

  • Нет подключения к реальному Интернету из внутренних контейнеров, поэтому не требуется загрузка, установка или обновление.

Следующий шаг:

Вы можете перебросить 1-й контейнер по двум мостам:

  • Используйте чисто виртуальный мост, как eth1 и мост к вашей сетевой карте, как eth0
  • настроить DHCPD для обслуживания только eth1
  • включить маршрутизацию и пересылку.
  • с некоторыми правилами iptable (для маскировки виртуальной сети) это должно работать.

Назначение роли DHCP серверу PXE - плохой подход. Лучше полагаться на уже имеющуюся (реальную или виртуальную) инфраструктуру DHCP и настроить компонент DHCP сервера PXE в проксиDHCP Режим

Вам действительно нужен дистрибутив Stacki стоимостью 1,2 ГБ за 100 долларов за узел для подготовки ОС Linux ??