Сервер Mac OS X Настройка параметров DHCP 66 и 67

Мне нужно настроить BOOTP для OS X сервера Mountain Lion (10.8.2) для обеспечения параметров DHCP 66 и 67 для обеспечения загрузки PXE для компьютеров в моей сети. Я пробовал следить за страницами MAN bootpd, но они недостаточно конкретны. Я также прочитал противоречивую информацию в сети, но ничего не определяющего для Mountain Lion DHCP.

Из справочной страницы 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, используя различные методы:

  • эхо "172.16.152.20" | openssl enc -base64 возвращаетMTcyLjE2LjE1Mi4yMAo=
  • Утилита кода опции DHCP ( http://mac.softpedia.com/get/Internet-Utilities/DHCP-Option-Code-Utility.shtml), генерирующая строку из 172.16.152.20, приводит к: LW4gLWUgMTcyLjE2LjE1Mi4yMAo= (используется в приведенном выше примере)
  • Утилита кода опции DHCP, генерирующая IP-адреса из 172.16.152.20, выдает: LW4gLWUgrBCYFAo =

Кодирование pxelinux.0 с помощью вышеуказанных методов также приводит к различным кодировкам.

Я попытался использовать все три метода кодирования элементов данных, но, похоже, ничего не работает, т. Е. Мои загрузочные клиенты PXE не перенаправляются на мой TFTP-сервер. Кто-нибудь может помочь?

С уважением, Пол Адамс.

1 ответ

Я наконец-то заработал, благодаря ветке на форумах 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, используя только OS X DHCP Service.

Другие вопросы по тегам