Назад | Перейти на главную страницу

Почему при настройке dnsmasq для загрузки PXE мне нужно изменить undionly.kpxe на undionly.0?

Я настроил 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