Вопрос или проблема
Интересно, знает ли кто-нибудь, как установить PFSense с использованием PXE-сервера. В данный момент я использую CentOS 7.4, который действует как DHCP и PXE сервер.
Что я пробовал:
Использование Memdisk для загрузки ISO / IMG файлов
Как вы можете видеть, загрузка PFSense начинается, но затем останавливается при попытке монтировать ISO файл. Вариант с IMG файлом в основном такой же, за исключением приглашения к монтированию root.
IMG: Я пробовал две комбинации, однако они обе приводят к одному и тому же приглашению.
Не совсем уверен, что еще я могу попробовать здесь. Я также набрал “?” при запросе mountroot (чтобы отобразить все допустимые диски), и, неудивительно, что отображается жесткий диск виртуальной машины. Однако, поскольку он пуст, машина не может с него загрузиться.
Результаты тестирования IMG / ISO 2.3.5:
Если вы задаетесь вопросом, почему я просто не вставляю ISO в виртуальный привод VM, я симулирую физическую машину, на которую пытаюсь установить PFSense. Я использую виртуальные машины только для удобства захвата экрана.
Вот мой конфигурационный файл pxelinux, если кому интересно.
По состоянию на 2017 год ответ заключается в том, что установщик не будет загружаться с использованием memdisk
с FreeBSD v9. Вследствие этого, приводятся следующие отчёты об ошибках для получения дополнительной информации:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199197
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=169919
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=179312
Ответ или решение
Установка PFSense через PXE: Подробное руководство
PFSense — это популярная платформа на базе FreeBSD, используемая для создания мощных маршрутизаторов и обеспечивающая функции безопасности. Установка PFSense через PXE (Preboot eXecution Environment) может быть сложной задачей, особенно в сочетании с ограничениями некоторых технологий, таких как memdisk. Ниже мы рассмотрим шаги, которые помогут установить PFSense через PXE на сервере с CentOS 7.4, который одновременно действует как сервер DHCP и PXE.
Подготовка PXE-сервера на CentOS 7.4
-
Установка необходимых пакетов
- Обеспечьте наличие
tftp-server
,syslinux
, иhttpd
(для веб-сервера). Они понадобятся для работы PXE. - Используйте команды:
yum install -y tftp-server syslinux httpd
- Обеспечьте наличие
-
Настройка DHCP-сервера
- Убедитесь, что ваш DHCP-сервер правильно настроен для поддержки PXE-загрузки, добавьте строку:
filename "pxelinux.0";
- Убедитесь, что ваш DHCP-сервер правильно настроен для поддержки PXE-загрузки, добавьте строку:
-
Настройка TFTP-сервера
- Проверьте, что
tftpd
запущен и соответствует вашим параметрам настройки:systemctl enable tftp systemctl start tftp
- Проверьте, что
-
Копирование необходимых файлов
- Скопируйте файл
pxelinux.0
в директорию/var/lib/tftpboot
, используя команду:cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
- Скопируйте файл
-
Создание конфигурационного файла для PXE-загрузки
-
В директории
/var/lib/tftpboot/pxelinux.cfg
создайте файл с именемdefault
. Пример содержимого:DEFAULT menu.c32 PROMPT 0 TIMEOUT 300 MENU TITLE PXE Boot Menu LABEL PFSense MENU LABEL Install PFSense KERNEL memdisk INITRD pfsense.img APPEND iso raw
-
Решение проблем с загрузкой через Memdisk
Как было упомянуто в ваших экспериментах, memdisk может не работать с ISO/IMG-файлами PFSense на основе FreeBSD. Вот альтернативный способ:
-
Использование готового PXE-образа PFSense
- Вместо memdisk, создайте или найдите подходящий PXE-образ PFSense, который поддерживает загрузку по сети.
-
Настройка загрузки без использования memdisk
- Измените конфигурационный файл PXE так, чтобы использовать специально подготовленный образ, например, используя iPXE для более гибкого управления.
Заключение
Установка PFSense через PXE требует правильной настройки PXE-сервера и выбора подходящего метода загрузки. Поскольку memdisk не подходит для FreeBSD, рекомендуется использовать готовые PXE-образы или инструменты, такие как iPXE, для успешной установки. Важно помнить, что каждая конфигурация может быть уникальной и требует тестирования и возможного исправления настроек в процессе развертывания.