Мне нужно настроить Mountain Lion (10.8.2) OS X Server BOOTP для предоставления параметров DHCP 66 и 67 для обеспечения загрузки PXE для ПК в моей сети. Я пробовал следить за страницами MAN bootpd, но они недостаточно конкретны. Я также прочитал противоречивую информацию в сети, но ничего окончательного для DHCP в Mountain Lion.
На странице руководства bootpd:
bootpd имеет встроенную таблицу преобразования типов для многих других параметров, в основном тех, которые указаны в RFC 2132, и будет пытаться преобразовать из любого типа, который указан в списке свойств, в двоичный формат пакета. Например, если bootpd знает, что тип параметра - это IP-адрес или список IP-адресов, он преобразует строковую форму IP-адреса в двоичное числовое значение сетевого порядка байтов.
Если тип параметра - числовое значение, он преобразуется из строкового, целого или логического значения в числовое значение сетевого порядка байтов подходящего размера.
Независимо от того, знает ли bootpd тип параметра или нет, вы всегда можете указать параметр DHCP, используя тип списка свойств данных.
<key>dhcp_option_128</key>
<data>
AAqV1Tzo
</data>
Мой TFTP-сервер 172.16.152.20 и загрузочный файл pxelinux.0
Я отредактировал /etc/bootpd.plist и добавил в dict подсети следующее:
<key>dhcp_option_66</key>
<data>
LW4gLWUgrBCYFAo=
</data>
<key>dhcp_option_67</key>
<data>
LW4gLWUgcHhlbGludXguMAo=
</data>
Согласно странице руководства, элементы данных должны быть закодированы в Base64, но, что бы я ни пытался, я не могу заставить клиентов PXE загружаться.
Я пробовал кодировать 172.16.152.20 разными способами:
Кодирование pxelinux.0 с помощью вышеуказанных методов аналогично дает разные кодировки.
Я пробовал использовать все три метода кодирования элементов данных, но ничего не работает, т.е. мои клиенты загрузки PXE не направляются на мой TFTP-сервер. Кто-нибудь может помочь?
С уважением, Пол Адамс.
Я наконец получил это благодаря ветке на форумах Apple:
https://discussions.apple.com/thread/4561762?start=15&tstart=0
В OS X Mountain Lion Apple теперь ожидает строки с завершающим нулем для определенных опций DHCP. Автор Джон Локвуд создал служебную программу, которая будет генерировать правильный XML-код bootpd, включая строки параметров с завершающим нулем. Обратитесь к ветке выше и загрузите утилиту здесь:
http://jelockwood.blogspot.co.uk/2013/06/dhcp-server-on-os-x-server.html
Добавление сгенерированных кодов в мои bootpd.plist позволил мне загружать ПК PXE, используя только службу DHCP OS X.