TFTP (Trivial File Transfer Protocol) è stato descritto per la prima volta nel 1980. È un protocollo abbastanza vecchio pubblicato nel giugno 1981 come TFTP Protocol revisione 2 in RFC 783 (Request For Comments) da Karen R. Sollins.

All'inizio, l'obiettivo principale di TFTP era inviare e ricevere file su una rete. In particolare, è stato utilizzato per trasferire i file necessari durante l'avvio per consentire ai sistemi di avviarsi su una rete.

Ecco come puoi configurare un server TFTP su una macchina Linux.

Cos'è il TFTP?

TFTP è ancora utilizzato per il trasferimento di file e non vi è alcun cambiamento fondamentale nelle funzionalità che supporta. TFTP viene utilizzato per scaricare e inviare file su UDP/IP. Non ha funzioni aggiuntive come il controllo dell'identità e delle autorizzazioni, l'elenco dei file, l'eliminazione o la ridenominazione, che di solito si trovano in altri protocolli di trasferimento file.

A differenza dei protocolli di trasferimento file avanzati che utilizzano TCP nel livello di trasmissione, funziona sul protocollo UDP e non ha funzionalità come il controllo se i pacchetti appartenenti al file vanno o meno nell'altro lato. A causa di questa limitazione, è più adatto per l'uso nelle reti locali piuttosto che in Internet o nelle reti geografiche.

instagram viewer

Nonostante tutte queste caratteristiche apparentemente negative sopra elencate, un aspetto del protocollo TFTP che è molto forte è la sua semplicità. L'implementazione del protocollo è abbastanza semplice rispetto alle sue alternative, anche per ambienti che non dispongono di un sistema operativo. Grazie a questa caratteristica, ha un'ampia area di utilizzo nei sistemi embedded.

Installazione di un server TFTP su Linux

Quando si lavora con dispositivi incorporati, è importante che sia installato il servizio server TFTP. Sui sistemi Linux, possono essere eseguite diverse implementazioni di server TFTP. Se stai usando un Distribuzione basata su Debian, puoi installare il tftpd-hpa, tftpd, o atftpd pacchi. Se non sei sicuro di quale scegliere, prendi in considerazione l'installazione del pacchetto tftpd-hpa.

sudo apt-ottenere installa tftpd-hpa

Dopo l'installazione, il servizio TFTP inizierà ad essere in ascolto la porta UDP 69. Per servire i file ad altri sistemi tramite il server TFTP, è necessario tenere a mente alcuni prerequisiti:

  • Copia del file richiesto nella home directory TFTP o in una directory al di sotto di tale home directory
  • Rendere le autorizzazioni dei file visibili al pubblico

Per scoprire qual è la home directory del server TFTP, puoi guardare il DIRECTORY_TFTP variabile nel /etc/default/tftpd-hpa file. Di solito, vedrai directory come /var/lib/tftpboot o /srv/tftp. Se lo desideri, puoi modificare questa directory e riavviare il servizio.

gatto /ecc/predefinito/tftpd-hpa

Per facilità d'uso, se modifichi il proprietario della directory home TFTP pertinente nel tuo account utente, non dovrai aggiungere il prefisso sudo a ogni comando che esegui. Utilizzare il comando chown per modificare la proprietà da root all'utente corrente:

sudo chown -R $USER /srv/tftp

I nomi dei pacchetti del server TFTP e le home directory predefinite possono variare a seconda della distribuzione Linux utilizzata.

Invio di file con il server TFTP

A volte ci sono situazioni in cui TFTP è l'unica opzione per spostare un file dal tuo sistema Linux integrato all'ambiente esterno. Ad esempio, a volte il sistema potrebbe non supportare alcun supporto scrivibile tramite il quale è possibile trasferire il file.

In questi casi, poiché il client TFTP verrà probabilmente compilato occupato, è possibile inviare un file salvato nel sistema a un server TFTP su una rete.

Per utilizzare l'applicazione client TFTP, emettere il file Busybox tftp comando:

Busybox tftp 

Per inviare un file di esempio al server TFTP, è necessario utilizzare un comando come questo:

occupatotftp-lesempio.bidone-p 192.168.1.100

Sebbene il comando sopra sia corretto, riceverai un errore durante il trasferimento del file sul tuo server TFTP. Poiché il messaggio di errore restituito non è autoesplicativo, è difficile capire quale sia il vero problema.

Il problema qui è dovuto ad alcune procedure di sicurezza sul server TFTP. TFTP richiede che un file con lo stesso nome si trovi nella directory in cui verrà scritto il file come prerequisito per un caricamento di file e che l'accesso in scrittura per questo file dovrebbe essere disponibile tutti.

In altre parole, non è possibile caricare un file che non esiste sul server TFTP tramite client TFTP. Se crei un file vuoto con lo stesso nome e modifichi i suoi diritti di accesso, il processo di caricamento di cui sopra avrà esito positivo. Per questo, è necessario eseguire i seguenti comandi nella directory principale del server TFTP pertinente:

CD /srv/tftp 
toccoesempio.bidone
chmod 666 esempio.bidone

Ora puoi eseguire il caricamento con successo.

È anche possibile disabilitare la misura di sicurezza di cui sopra e fare in modo che il server TFTP crei un file che non esiste. Per questo, puoi usare il -c o --creare parametro quando si avvia il tftpd-hpa applicazione. È sufficiente aggiungere questo parametro all'esistente TFTPD_OPZIONI variabile nel /etc/default/tftpd-hpa file:

# /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp"
DIRECTORY_TFTP="/srv/tftp"
INDIRIZZO_TFTP="0.0.0.0:69"
OPZIONI_TFTP="--secure --crea"

Perché utilizzare un server TFTP per il trasferimento di file?

Il vantaggio più importante di TFTP è che è veloce e ti aiuta a risparmiare tempo. È un'opzione ideale per trasferire i file di configurazione dei dispositivi di rete ad altri sistemi. Inoltre, ha criteri di utilizzo molto semplici. Funziona comodamente con il software su entrambi i sistemi operativi basati su Windows e Linux. Infine, TFTP è sempre lì per salvare la situazione in situazioni in cui tecnicamente non è possibile utilizzare FTP.

Il più grande svantaggio è, ovviamente, che non è sicuro. Pertanto, è necessario prestare molta attenzione durante il trasferimento di file utilizzando un server TFTP.

Oltre ai trasferimenti di file, non è possibile eseguire funzioni come l'eliminazione, la modifica e la modifica di file utilizzando un server TFTP. Questa caratteristica è uno svantaggio importante per coloro che utilizzano o cercano sistemi avanzati. Infine, non richiede l'autenticazione, il che è un grave inconveniente se prendi sul serio la tua sicurezza.

Configurazione di TFTP su altri sistemi operativi

Se hai intenzione di utilizzare TFTP su Windows, non è necessario installare alcun software di terze parti. Puoi abilitare TFTP con l'opzione Attiva o disattiva le funzionalità di Windows nel pannello di controllo.