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.

  • Qual è il modo più sicuro per avviare un process a livello radice tramite cgi su un server Apache?
  • Windows Apache 2.2 ha dolorosamente lenta l'esecuzione di CGI
  • il boot di pxe non riesce con il messaggio: non è stata trovata alcuna direttiva di configuration di DEFAULT o dell'interface utente
  • Esegui CGI in IIS 7 per lavorare con GET senza richiedere la richiesta POST
  • Ci sono vantaggi nell'uso di CGI in un server Apache2 su larga scala o dovrei utilizzare FASTCGI?
  • VMWare ESXi 5.5, disposizione sottile assegna allo stesso tempo tutta la quantità di spazio su disco
  • 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.