Genera contenuto TFTP al volo?

So che questo non è lo scopo di TFTP, ma sto lavorando in un ambiente in cui molti tipi di dispositivi distriggersno informazioni di provisioning da un server TFTP. Quello che sto sviluppando è un sistema di provisioning che tiene traccia e mantiene le configurazioni del dispositivo, e vorrei avere i file richiesti generati in volo, come puoi fare con qualsiasi applicazione web.

Sì, alcuni di questi dispositivi possono supportre HTTP per la fornitura, ma non tutti, e vogliamo che le cose siano coerenti.

  • Come fare funzionare il server TFTP su CentOS 6.2
  • Modifica dell'API del server da CGI a FastCGI
  • Come faccio a distriggersre correttamente gli script cgi come guestbook.cgi su WHM
  • Server WDS 2012 R2
  • Windows Kit di installazione automatica (WAIK) con Windows 2008R2 ISO crudo
  • Come posso fare in modo che un server TFTP sia in Internet protetto?
  • Esistono dei demoni TFTP che possono fornire qualcosa di analogo a CGI?

    3 Solutions collect form web for “Genera contenuto TFTP al volo?”

    Una ricerca rapida ha rivelato questo progetto tftpd-cgi su Sourceforge – potrebbe valere la pena di controllare.

    Ho anche scritto un semplice server tftpd in grado di servire CGI, disponibile su Github , quindi è sicuramente ansible. Non ho ancora testato con nessun client PXE, ma funziona con il client tftp del mio sistema operativo.

    Il mio utilizzo del test:

    ./tftpd-cgi.py & echo 'get cgi/test' | tftp 127.0.0.1; cat test && rm test 

    Quale output dal mio semplice script CGI:

     Hello from CGI land! 127.0.0.1:61796 

    Ciò è affrontato qui . Purtroppo, sembra essere difficile o imansible, dato i vincoli sul protocollo TFTP.

    > Ciao.
    >
    > È mai stato preso in considerazione la possibilità di consentire al server tftp
    > fornire contenuti dinamici?
    >

    Sì. Il protocollo lo rende difficile.

    È praticamente necessario garantire che il contenuto sia generato in una frazione di secondo, o il tuo client sarà molto probabile che inondano il server.

    Il problema è che per poter rispondere a una query di tsize è necessario conoscere la dimensione completa dell'output. Tuttavia, poiché TFTP non è garantito di distinguere tra un reset RRQ e una nuova richiesta (pxelinux farà la distinzione, ma è difficile per il server TFTP di usufruirlo), quindi devi avere una risposta prima della prima richiesta .

    Ho una proposta per un'opzione "pausa" TFTP e opcode, ma dovrei (a) implementarla, e (b) scrivere come RFC, (c) capire come ottenerla attraverso IETF, che piace fingere che TFTP non esiste.

    Un disegno migliore sarebbe quello di generare tutti i file di configuration e memorizzarli nella directory di tftpboot anziché cercare di generarli in volo. Idealmente il nome del file che i dispositivi richiedono sarebbe univoco o identificabile e si potrebbero pre-generare file in base a quello.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.