четверг, 19 сентября 2019 г.

Как в конфиге dhcpd вывести значение переменной в лог

Экспериментировал с ISC DHCP. Хотел сделать конфиг для PXE чтобы могли грузиться как машины с BIOS, так и UEFI. Итак, редактируем /etc/dhcpd.conf
Никак не мог понять почему не срабатывает конструкция
; This one line must be outside any bracketed scope
option architecture-type code 93 = unsigned integer 16;

     if option architecture-type = 0 {
         filename "path/to/BIOS/pxelinux.0";
     } elsif option architecture-type = 9 {
         filename "path/to/EFIx64/syslinux.efi";
     } elsif option architecture-type = 7 {
         filename "path/to/EFIx64/syslinux.efi";
     } elsif option architecture-type = 6 {
         filename "path/to/EFIia32/syslinux.efi";
     }

Нашёл её здесь: https://wiki.syslinux.org/wiki/index.php?title=PXELINUX#UEFI

Оказалось, что проблема в том, что надо указывать не option architecture-type = 0, а option architecture-type = 00:00

Перед тем как это понять, мне пришлось узнать как вообще можно вываести значение переменной (или опции) в лог dhcpd.

Например, так:
set test_var = ff:00;

log (error,
  concat ("--->",
    binary-to-ascii(16,16,".",test_var)
  )
);

Потом используя для мониторинга происходящего команду
journalctl -u dhcpd4.service -f
Мы можем увидеть там нашу строку: "--->ff0"

Комментариев нет:

Отправить комментарий