Come installo ed eseguo un server TFTP?


60

Ho un target VxWorks incorporato che deve avviare il suo kernel dal mio computer Ubuntu. Come installo ed eseguo un server TFTP?

Risposte:


103

Installazione e configurazione del server TFTP

  1. Installa i seguenti pacchetti.

    sudo apt-get install xinetd tftpd tftp
    
  2. Crea /etc/xinetd.d/tftp e inserisci questa voce

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. Crea una cartella / tftpboot che dovrebbe corrispondere a qualsiasi cosa tu abbia fornito in server_args. per lo più sarà tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Riavvia il servizio xinetd.

    sistemi più recenti:

    sudo service xinetd restart
    

    sistemi più vecchi:

    sudo /etc/init.d/xinetd restart
    

Ora il nostro server tftp è attivo e funzionante.

Test del nostro server tftp

  1. Crea un file chiamato test con alcuni contenuti nel percorso / tftpboot del server tftp

    Ottenere l'indirizzo IP del server tftp usando il comando ifconfig

  2. Ora in qualche altro sistema segui i seguenti passi.

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    

Fonte: http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/


1
è necessario modificare solo il passaggio 4, poiché xinetd viene generato da upstart. è necessario riavviarlo con 'service xinetd restart'
BЈовић

3
Ho seguito queste istruzioni e ho affrontato il permesso negato! Nome file di destinazione [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: codice di errore 2 ricevuto - Violazione dell'accesso% Errore durante l'apertura tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (autorizzazione negata) #copy flash: c2950-i6q4l2-mz.121-22 .EA1b.bin tftp: indirizzo o nome dell'host remoto []? 10.1.11.14 Nome file destinazione [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: codice di errore 2 ricevuto - Violazione dell'accesso
Mohammad Rafiee

1
@Mohammad Rafiee: il post sul blog collegato qui ha aggiunto alcune informazioni: esegui sudo chmod -R 777 /tftpboottra i passaggi 1 e 2 di "Test del nostro server tftp". Non che mi abbia aiutato, ma sembra che abbia aiutato gli altri.
Gauthier,

2
Il 14.04, questo non ha funzionato per me. Le informazioni su /tftpbootin /etc/xinetd.d/tftpnon sembravano avere importanza. Al contrario, il client cerca nella directory /srv/tftpcome specificato in /etc/inetd.conf. Non se il modo in cui le cose sono impostate sono cambiate rispetto all'articolo, o se ho rovinato in qualche modo. Se la risposta sopra non funziona per te, prova invece a inserire il tuo file di prova /srv/tftp.
Gauthier,

2
Si noti che con Ubuntu 16.04, si verificherà error code 2 (access violation). Per risolvere il problema messo tftpboot -sin server_args(no slash iniziale, -salla fine. Fonte: icesquare.com/wordpress/...
charlesb

7

È possibile installare atftpde creerà una directory chiamata /tftpbootin cui è possibile posizionare i file. Metti soprattutto il pxelinux.0file lì. Eventuali configurazioni future verranno indirizzate se necessario.

Quando si installa il pacchetto con

sudo apt-get install atftpd

utilizzerà Debconf per richiedere alcune scelte. È possibile impostare molte opzioni (il timeout del server può essere utile), in particolare il basepath . È inoltre possibile regolare l'intervallo multicast.


A cosa serve pxelinux.0? Sto avviando un target VxWorks, quindi ho pensato di aver bisogno solo del file vxworks in / tftpboot.
user1689961,

Scusa, non ha funzionato per me.
user1689961,

Provare a rinominare vxworksa pxelinux.0, solo per vedere se la mia risposta funzionerà per gli utenti futuri.
ζ--

questo non funziona per 13.04. Ho appena provato
BЈовић

@ BЈовић Questa è in qualche modo una vecchia risposta e sinceramente non conosco la procedura per 13.04.
Sep--

6

È possibile installare tftpd-hpae modificare le configurazioni. I passaggi per l'installazione di tftpd-hpa sono spiegati in questo post del blog .


2
Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Guntbert,

1
ti ha votato solo perché tftpd-hpa è uno stupido server tftp semplice da usare e in realtà non richiede alcuna delle configurazioni necessarie in quel post basta semplicemente rilasciare i tuoi file in / var / lib / tftpboot e sei impostato (su Ubuntu 16.04 non sono sicuro su altri sistemi operativi).
mschuett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.