Конфигурирование сервера
На сервере вам понадобится настроить следующее:
-
BOOTP/DHCP-сервер
-
Возможно - Прокси- DHCP сервер
-
TFTP-сервер
Замечание для пользователей PXE-совместимых BootPROM: После нескольких часов изнурительных поисков мы обнаружили, что PXE-BootPROM версии ранее 0.99 не очень точно поддерживают IP-протокол и отказываются понимать все пакеты, имеющие установленный флаг Не фрагментировать (Don't Fragment)
(DF). Это означает, что вам надо на сервере запретить опцию Path MTU Discovery, или Boot ROM не увидит эти пакеты. В Solaris-е используйте команду ndd /dev/ip ip_path_mtu_discovery, чтобы узнать, включена ли эта опция, и команду ndd -set /dev/ip ip_path_mtu_discovery 0, чтобы эту опцию выключить. Однако, эти команды не работают для широковещательных пакетов (Спросите SUN, почему) Это означает, что работать будет только TFTP, но не DHCP :-(. Intel недавно исправил эту ошибку - если вы купили свой компьютер позже Июня 1998 года, то, скорее всего, у вас эта ошибка исправлена.
Настройка DHCP
Задачей DHCP-сервера является выделение клиенту IP-адреса и указание ему загрузить с TFTP-сервера файл bpbatch.P. DHCP в данном случае действует, как дополнение к протоколу BOOTP. Если вы используете TCP/IP BootPROM фирмы InCom, то вы можете обойтись без DHCP (используя старую версию BOOTP-сервера).
На Windows NT вы, вероятнее всего, будете использовать встроенный DHCP-сервер. Если у вас TCP/IP BootPROM фирмы InCom, то вам придется использовать одну хитрость, чтобы указать имя загрузочного файла (подробную информацию смотрите на веб-сайте фирмы InCom). Если же у вас PXE-совместимое ППЗУ, то вам понадобится Прокси-DHCP-сервер, но никаких дополнительных хитростей не потребуется, потому что имя загрузочного файла будет передаваться Прокси-DHCP-сервером.
В Linux лучшим будет стандартный DHCP-сервер производства Internet Software Consortium. Если у вас PXE- BootPROM, то, в дополнение к обычным опциям, вам придется указать следующее:
В Solaris вы можете использовать либо тот же стандартный DHCP-сервер производства Internet Software Consortium (его можно взять на веб-сайте), или Solaris DHCP-сервер (он входит в Solaris, начиная с версии 2.5). Однако, DHCP-сервер в Solaris, по-видимому, не вставляет в ответ на DHCP-запрос идентификатор класса клиента - чтобы исправить это, вам придется использовать Прокси-DHCP-сервер. Более того, Прокси-DHCP-сервер должен находиться не на сервере, потому что родной DHCP-сервер в Solaris блокирует порт DHCP.
Мы предлагаем установить бесконечное время жизни выделенного DHCP для клиентов IP-адреса. Не забудьте, что BOOTP/DHCP-запросы ограничены внутри подсети. Если клиент и сервер находятся в разных подсетях, то вам придется установить между этими подсетями мост BOOTP/DHCP (Relay agent). С этого момента мы предполагаем, что обе машины находятся в одной подсети.
Настройка Прокси-DHCP
Прокси-DHCP-сервер предназначен для того, чтобы обойти ограничения, существующие в некоторых версиях серверов DHCP, а также реализовать специфичные для PXE дополнения протокола DHCP. Использование Прокси-DHCP-сервера имеет смысл только с PXE BootPROM.
Дополнения протокола DHCP, специфичные для PXE (меню и т.п.), вам не понадобятся, потому что это входит в возможности BpBatch. Однако, вам придется использовать Прокси-DHCP-сервер для дальнейшей работы, если ваш DHCP-сервер полностью не совместим с PXE.
На Windows NT вы можете попытаться использовать WfM PDK фирмы Intel (этот пакет есть на их веб-сайте), но это не очень просто. Мы бы посоветовали все-таки установить небольшую Linux-машину в необходимой подсети и установить на нем нашу версию прокси-DHCP. Основным плюсом нашей версии Прокси-DHCP-сервера для BpBatch является поддержка дополнительной опции производителя 155, которую BpBatch использует в качестве командной строки.
В Linux и Solaris вы можете запустить нашу Прокси- DHCP программу, которой в качестве аргументов передаются IP-адрес TFTP-сервера, имя загрузочного файла и дополнительные опции - и все остальное эта программа делает за вас. Если DHCP-порт на сервере уже используется другим демоном, то прокси-DHCP будет использовать порт 4011. В этом случае, очень важно, чтобы этот другой демон в ответе на DHCP-запрос устанавливал класс клиента в PXEClient, чтобы PXE-клиенты знали, что им надо работать через порт 4011.
На веб-сайте Intel есть полная документация по PXE расширениям протокола DHCP. Однако эти документы достаточно сложны - протокол в них разбит на несколько стадий, обеспечивая тем самым большую гибкость. Суть же состоит в том, что PXE-клиенту необходим полный расширенный DHCP-ответ. Если он получает лишь стандартный DHCP-ответ, то он продолжит поиск, пока не получит
класс клиента (T60), установленный в PXEClient
дополнительные опции производителя (T43) (возможно пустые, т.е. шестнадцатеричное ff)
непустое имя загрузочного файла
PXE BootPROM прекратит поиск, как только получит всю необходимую информацию, но отсутствие части этой информации может привести к достаточно сложным обменам между сервером и клиентом (запустится процедура обнаружения сервера и т.п..).
Настройка TFTP
TFTP - это очень простой файловый сервер. В базовой версии TFTP данные передавались блоками по 512 байт, что достаточно неэффективно. TCP/IP BootPROM фирмы Incom и PXE-BootPROM поддерживают длину блока до 1408 байт, что существенно увеличивает скорость передачи. Однако это работает только с улучшенной версией TFTP-сервера.
В Windows NT мы рекомендуем использовать улучшенный TFTP-сервер фирмы Incom, который можно взять на их веб-сайте.
В Linux вы можете использовать нашу версию улучшенного TFTP-сервера, который можно взять по адресу
http://cuiwww.unige.ch/info/pc/remote-boot/soft/etftpd.tar.gz.
В Solaris вы должны использовать улучшенный TFTP-сервер фирмы Incom, который есть на диске утилит, поставляемом вместе с TCP/IP BootPROM.
Если вы хотите использовать стандартный TFTP-демон, уберите P из всех расширений имен файлов загрузочных образов, чтобы BootPROM использовало только стандартный порт TFTP (Этот метод был впервые применен компанией InCom GmbH в TCP/IP BootPROM. Мы также используем его, потому что это наиболее простой путь заставить PXE BootPROM использовать стандартный порт TFTP).
Содержание раздела