ISC dhcpd nome do arquivo de inicialização dinâmico. Isso é possível?

1

Na verdade, quero atribuir dinamicamente o nome do arquivo de inicialização com base no MAC dos clientes.

Eu tentei esta configuração:

option bootfile-name concat( binary-to-ascii(16, 8, "", substring (hardware, 1, 6)), ".cfg");

Mas isso é errado config (como servidor dhcp não está começando em tudo). Se em vez de concat (...) eu coloquei apenas o nome do arquivo real (por exemplo, "000102030405.cfg") está tudo ok. Mas isso não é o que eu preciso. Existe alguma maneira de definir dinamicamente o nome do bootfile?

    
por halt 29.08.2014 / 22:38

2 respostas

1

Bem, boas notícias. Eu encontrei uma resposta sozinho. A resposta em si estava nas man pages. Tudo que você precisa é usar EXPRESSÕES . Isso está correto para qualquer opção (não apenas nome de bootfile), para o qual você deseja atribuir um valor da requisição do cliente.

Do man dhcp-options :

SETTING OPTION VALUES USING EXPRESSIONS
   Sometimes it's helpful to be able to set the value of a DHCP option based on
   some value that the client has sent.   To do this, you can use expression
   evaluation. The dhcp-eval(5) manual page describes how to write expressions.
   To assign the result of an evaluation to an option,
   define the option as follows:

     option my-option = expression ;

   For example:

     option hostname = binary-to-ascii (16, 8, "-", substring (hardware, 1, 6));

Então, como você pode ver, a única diferença entre este código e o meu é sinal de igual !

Por curioso, a resposta para minha pergunta é:

option bootfile-name = concat( binary-to-ascii(16, 8, "",
                               substring (hardware, 1, 6)), ".cfg");

Você notou "="?

    
por 30.08.2014 / 13:24
0

110022334455 torna-se 11022334455 na saída ASCII

veja também: link

    
por 23.05.2018 / 13:20