PXE не делает запроса DHCP

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

Я экспериментировал с DRBL. Для этого я создал две виртуальные машины в VMWare Workstation.

Обе виртуальные машины соединены между собой с помощью виртуальной частной сети, только хост, с отключенным dhcp. Это должно быть так, как будто я прямо соединяю две ВМ сетевым кабелем.

Для установки drbl я выполнил следующие шаги:

  • Установил Ubuntu Server 24.04
  • Выполнил следующую команду для добавления репозитория drbl: sudo add-apt-repository 'deb http://free.nchc.org.tw/drbl-core drbl stable'
  • Обновил репозиторий, сделав его доверенным с помощью deb [trusted=yes] http://free.nchc.org.tw/drbl-core drbl stable.
  • Обновил сервер с помощью apt-get update && apt-get dist-upgrade
  • Установил drbl с помощью sudo apt-get install drbl

Затем, чтобы настроить сервис, я выполнил следующие шаги:

  • Настроил drbl с помощью sudo drblsrv -i
  • Обновил файл /etc/dhcp/dhcpd.conf следующим содержимым:
# option domain-name "example.org";
# option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.209.0 netmask 255.255.255.0 {
range 192.168.209.10 192.168.209.150;
option routers 192.168.209.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.209.255;
}
  • Я обновил файл /etc/default/isc-dhcp-server, добавив INTERFACES="ens37", это сетевой интерфейс сервера, соединенный с частной сетью.
  • Я настроил сетевой интерфейс сервера, обновив файл /etc/netplan/50-cloud-init.yaml:
network:
    ethernets:
        ens33:
            dhcp4: true
        ens37:
            dhcp4: false
            ignore-carrier: true
            addresses:
            - 192.168.209.1/24
            routes:
            - to: default
              via: 192.168.209.1
    version: 2
  • Перезапустил сервер dhcpd с помощью
sudo service isc-dhcp-server restart
  • Обновил файл /etc/yp.conf с ip-адресом сервера:
ypserver 192.168.209.1
  • Запустил drbl с помощью sudo drbl-all-service start

Теперь, когда я запускаю клиентскую виртуальную машину, я вижу, что она получает адрес, и ее сетевой интерфейс правильно настроен. В журнале dhcp я вижу:

Oct 30 16:29:06 backupserver dhcpd[7483]: DHCPDISCOVER from 00:50:56:35:26:63 (testdrbl-vmwarevirtualplatform) via ens37
Oct 30 16:29:06 backupserver dhcpd[7483]: DHCPOFFER on 192.168.209.12 to 00:50:56:35:26:63 (testdrbl-vmwarevirtualplatform) via ens37
Oct 30 16:29:06 backupserver dhcpd[7483]: DHCPREQUEST for 192.168.209.12 (192.168.209.1) from 00:50:56:35:26:63 (testdrbl-vmwarevirtualplatform) via ens37
Oct 30 16:29:06 backupserver dhcpd[7483]: DHCPACK on 192.168.209.12 to 00:50:56:35:26:63 (testdrbl-vmwarevirtualplatform) via ens37

Вместо этого, когда я перезапускаю клиент, активировав PXE во время загрузки, он зависает на строке DHCP, и на сервере я вижу следующий журнал:

Oct 30 16:30:29 backupserver dhcpd[7483]: DHCPDISCOVER from 00:50:56:35:26:63 via ens37
Oct 30 16:30:30 backupserver dhcpd[7483]: DHCPOFFER on 192.168.209.13 to 00:50:56:35:26:63 via ens37
Oct 30 16:30:31 backupserver dhcpd[7483]: DHCPDISCOVER from 00:50:56:35:26:63 via ens37
Oct 30 16:30:31 backupserver dhcpd[7483]: DHCPOFFER on 192.168.209.13 to 00:50:56:35:26:63 via ens37
Oct 30 16:30:35 backupserver dhcpd[7483]: DHCPDISCOVER from 00:50:56:35:26:63 via ens37
Oct 30 16:30:35 backupserver dhcpd[7483]: DHCPOFFER on 192.168.209.13 to 00:50:56:35:26:63 via ens37
Oct 30 16:30:43 backupserver dhcpd[7483]: DHCPDISCOVER from 00:50:56:35:26:63 via ens37
Oct 30 16:30:43 backupserver dhcpd[7483]: DHCPOFFER on 192.168.209.13 to 00:50:56:35:26:63 via ens37

В основном кажется, что клиент не отправляет команду DHCPREQUEST, но поскольку это работает с обычной загрузкой, я не уверен, что это ошибка в настройке сети VMware. Я думаю, что это может быть проблемой настройки DHCP.

Что я делаю не так? Как мне настроить сервер dhcp, чтобы он также работал с PXE?

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

Ситуация, которую вы описываете, связана с проблемой PXE (Preboot Execution Environment), когда клиентская виртуальная машина не отправляет запрос DHCP после того, как получает предложение от DHCP-сервера. Это может быть вызвано несколькими причинами, и я постараюсь описать возможные источники проблемы и пути их решения.

Обзор ситуации

Вы настроили сервер Ubuntu с помощью DRBL и ISC DHCP-сервера в окружении VMware Workstation с использованием сети “host-only”. Хотя клиентская машина успешно получает IP-адрес и настройки в стандартном режиме, при запуске по PXE процесс застревает на стадии получения IP-адреса. Мы видим, что сервер DHCP получает DHCPDISCOVER и отправляет DHCPOFFER, однако DHCPREQUEST не поступает от клиента.

Возможные причины проблемы

  1. Ошибка конфигурации PXE

    • Убедитесь, что клиентская виртуальная машина настроена для загрузки по PXE. В BIOS/UEFI виртуальной машины проверьте, включен ли PXE-boot и находится ли он на правильном месте в очередности загрузки.
  2. Проблемы с совместимостью VMware

    • Для PXE-загрузки важно, чтобы используемый виртуальный сетевой адаптер был совместим с PXE. Убедитесь, что вы используете сетевой адаптер типа "E1000" или "VMXNET3" и что они правильно настроены на виртуальной машине.
  3. Несоответствие опций DHCP

    • Для PXE-загрузки DHCP-сервер должен предоставлять специальную информацию о загрузчике (bootloader). Убедитесь, что настройки DHCP-сервера включают правильные параметры option 66 (TFTP-сервер) и option 67 (имя файла загрузчика). В вашем случае конфигурация может выглядеть, например, так:
      subnet 192.168.209.0 netmask 255.255.255.0 {
       range 192.168.209.10 192.168.209.150;
       option routers 192.168.209.1;
       option subnet-mask 255.255.255.0;
       option broadcast-address 192.168.209.255;
       option tftp-server-name "192.168.209.1";
       option bootfile-name "pxelinux.0";
      }
  4. Конфликты между DHCP и TFTP

    • Убедитесь, что TFTP-сервер запущен и правильно настроен. Попробуйте проверить, может ли клиентская машина соединиться с TFTP-сервером, чтобы загрузить необходимые файлы.

Шаги по устранению проблемы

  1. Проверьте конфигурацию BIOS/UEFI

    • Убедитесь, что загрузка по PXE включена и стоит выше в очереди загрузки.
  2. Проверьте сетевой адаптер

    • Используйте адаптеры типа E1000 или VMXNET3. В VMware также проверьте, не включен ли "Promiscuous Mode" на сетевом адаптере.
  3. Дополите настройки DHCP

    • Включите параметры option 66 и option 67 в конфигурацию DHCP для правильной работы PXE.
  4. Проверьте TFTP-сервер

    • Убедитесь, что TFTP-сервер работает и доступен по сети. Попробуйте выполнить загрузку тестового файла с клиента на TFTP-сервер.
  5. Исключите ошибки в запросах

    • Включите отладочные сообщения в конфиге DHCP-сервера для получения более подробной информации о процессе.

Заключение

Решение проблемы с PXE может потребовать последовательно пройтись по указанным шагам, от настройки BIOS/UEFI до конфигурации DHCP и TFTP. Проверьте каждую деталь, чтобы выявить источник проблемы, и, как правило, это поможет устранить возникшие затруднения. Если все шаги не помогут, рассмотрите необходимость изучения логов DHCP и TFTP для детального анализа ошибок.

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

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