Я настроил dnsmasq для PXE-загрузки iPXE-клиентов, направив их на HTTP-сервер (спичечный коробок в таком случае). Я также настроил его для работы со старыми клиентами PXE, поместив копию iPXE в корень моего TFTP-сервера, чтобы позволить этим старым клиентам загружаться по цепочке на iPXE. Для этого я использовал следующую строку в моем dnsmasq.conf:
dhcp-boot=tag:!ipxe,undionly.kpxe
Я разместил undionly.kpxe
файл в корне моего TFTP-сервера, однако в некоторых местах говорится, что вам нужно создать символическую ссылку или скопировать undionly.kpxe
к undionly.kpxe.0
или undionly.0
(CoreOS, FOG Wiki).
Во-первых, почему dnsmasq не ищет точное имя файла, которое вы указали в конфигурации, а во-вторых, какое из них является правильным: undionly.0 или undionly.kpxe.0?
имя файла, заканчивающееся на .0, актуально только для версий dnsmasq до 2.76. из журнала изменений 2.76:
Незначительное изменение семантики "basename" в --pxe-service. Исторически сложилось так, что фактическое имя файла, загружаемое с сервера TFTP, - это. где - целое число, соответствующее параметру уровня, предоставленному клиентом. Непонятно, какова на самом деле функция «уровня» в протоколе PXE, и на практике уровень всегда равен нулю, поэтому имя файла - .0 Новое поведение такое же, как и старое, за исключением случаев, когда включает суффикс файла в в этом случае суффикс слоя больше не добавляется. Это позволяет использовать разумные значения, а не бессмысленное ".0". Только в том маловероятном случае, если у вас есть конфигурация с базовым именем, у которого уже есть суффикс, это несовместимое изменение, поскольку загруженный файл изменится с name.suffix.0 на просто name.suffix
если вы используете версию dnsmasq после 2.76, просто используйте фактическое имя файла. если вы используете предыдущую версию, используйте "filename" .0