TFTP (Trivial File Transfer Protocol) a fost descris pentru prima dată în 1980. Este un protocol destul de vechi publicat în iunie 1981 ca Protocolul TFTP revizuirea 2 în RFC 783 (Solicitare pentru comentarii) de Karen R. Sollins.

În primele zile, scopul principal al TFTP a fost să trimită și să primească fișiere printr-o rețea. În special, a fost folosit pentru a transfera fișierele necesare în timpul pornirii pentru a permite sistemelor să pornească printr-o rețea.

Iată cum puteți configura un server TFTP pe o mașină Linux.

Ce este TFTP?

TFTP este încă folosit în scopuri de transfer de fișiere și nu există nicio schimbare fundamentală în caracteristicile pe care le acceptă. TFTP este folosit pentru a descărca și trimite fișiere prin UDP/IP. Nu are funcții suplimentare, cum ar fi controlul identității și autorizației, listarea fișierelor, ștergerea sau redenumirea, care se găsesc de obicei în alte protocoale de transfer de fișiere.

Spre deosebire de protocoalele avansate de transfer de fișiere care utilizează TCP în stratul de transmisie, funcționează pe protocolul UDP și nu are caracteristici precum verificarea dacă pachetele aparținând fișierului merg sau nu către celălalt latură. Din cauza acestei limitări, este mai potrivit pentru utilizarea în rețelele locale, mai degrabă decât în ​​internet sau în rețelele de zonă largă.

instagram viewer

În ciuda tuturor acestor caracteristici aparent negative enumerate mai sus, un aspect al protocolului TFTP care este foarte puternic este simplitatea acestuia. Implementarea protocolului este destul de ușoară în comparație cu alternativele sale, chiar și pentru mediile care nu au un sistem de operare pe ele. Datorită acestei caracteristici, are o zonă largă de utilizare în sistemele încorporate.

Instalarea unui server TFTP pe Linux

Când lucrați cu dispozitive încorporate, este important să aveți instalat serviciul server TFTP. Pe sistemele Linux, pot rula mai multe implementări de server TFTP. Dacă utilizați un Distribuție bazată pe Debian, puteți instala tftpd-hpa, tftpd, sau atftpd pachete. Dacă nu sunteți sigur pe care să alegeți, luați în considerare instalarea pachetului tftpd-hpa.

sudo apt-obține instalați tftpd-hpa

După instalare, serviciul TFTP va începe să asculte portul UDP 69. Pentru a servi fișierele către alte sisteme prin serverul TFTP, trebuie să aveți în vedere câteva cerințe preliminare:

  • Copierea fișierului necesar în directorul principal TFTP sau într-un director de sub acel director principal
  • Permisiunile fișierelor sunt vizibile pentru public

Pentru a afla care este directorul principal al serverului TFTP, vă puteți uita la TFTP_DIRECTORY variabilă în /etc/default/tftpd-hpa fişier. De obicei, veți vedea directoare precum /var/lib/tftpboot sau /srv/tftp. Dacă doriți, puteți schimba acest director și reporniți serviciul.

pisica /etc/Mod implicit/tftpd-hpa

Pentru ușurință în utilizare, dacă schimbați proprietarul directorului principal TFTP relevant în contul dvs. de utilizator, nu va trebui să adăugați prefixul sudo la fiecare comandă pe care o executați. Utilizați comanda chown pentru a schimba proprietatea de la root la utilizatorul curent:

sudo chown -R $USER /srv/tftp

Numele pachetelor de server TFTP și directoarele de acasă implicite pot diferi în funcție de distribuția Linux utilizată.

Trimiterea fișierelor cu serverul TFTP

Uneori, există situații în care TFTP este singura opțiune pentru a muta un fișier din dvs sistem Linux încorporat către mediul extern. De exemplu, uneori, este posibil ca sistemul să nu accepte niciun suport de scriere prin care puteți transfera fișierul.

În astfel de cazuri, deoarece clientul TFTP va fi probabil compilat în busybox, puteți trimite un fișier salvat în sistem către un server TFTP dintr-o rețea.

Pentru a utiliza aplicația client TFTP, lansați busybox tftp comanda:

busybox tftp 

Pentru a trimite un fișier exemplu către serverul TFTP, trebuie să utilizați o comandă ca aceasta:

busyboxtftp-lexemplu.cos-p 192.168.1.100

Deși comanda de mai sus este corectă, veți primi o eroare în timp ce transferați fișierul pe serverul dvs. TFTP. Deoarece mesajul de eroare returnat nu se explică de la sine, este dificil de înțeles care este problema reală.

Problema aici este din cauza unor proceduri de securitate pe serverul TFTP. TFTP necesită ca un fișier cu același nume să fie în directorul în care va fi scris fișierul ca o condiție prealabilă pentru încărcarea unui fișier și pentru care accesul de scriere pentru acest fișier ar trebui să fie disponibil toata lumea.

Cu alte cuvinte, nu este posibil să încărcați un fișier care nu există pe serverul TFTP prin intermediul clienților TFTP. Dacă creați un fișier gol cu ​​același nume și îi editați drepturile de acces, procesul de încărcare de mai sus va avea succes. Pentru aceasta, trebuie să rulați următoarele comenzi în directorul principal al serverului TFTP relevant:

CD /srv/tftp 
atingereexemplu.cos
chmod 666 exemplu.cos

Acum puteți efectua încărcarea cu succes.

De asemenea, este posibil să dezactivați măsura de securitate de mai sus și ca serverul TFTP să creeze un fișier care nu există. Pentru aceasta, puteți folosi -c sau --crea parametru la pornirea tftpd-hpa aplicarea. Este suficient să adăugați acest parametru la cel existent TFTPD_OPTIONS variabilă în /etc/default/tftpd-hpa fişier:

# /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure --create"

De ce să folosiți un server TFTP pentru transferul de fișiere?

Cel mai important avantaj al TFTP este că este rapid și vă ajută să economisiți timp. Este o opțiune ideală pentru transferul fișierelor de configurare ale dispozitivelor de rețea către alte sisteme. Mai mult, are criterii de utilizare foarte simple. Funcționează confortabil cu software-ul atât pe sistemele de operare bazate pe Windows, cât și pe Linux. În cele din urmă, TFTP este întotdeauna acolo pentru a salva situațiile în care nu puteți utiliza din punct de vedere tehnic FTP.

Cel mai mare dezavantaj este, desigur, că nu este sigur. Prin urmare, trebuie să aveți mare grijă când transferați fișiere folosind un server TFTP.

În afară de transferurile de fișiere, nu puteți efectua funcții precum ștergerea, editarea și modificarea fișierelor folosind un server TFTP. Această caracteristică este un dezavantaj major pentru cei care folosesc sau caută sisteme avansate. În cele din urmă, nu necesită autentificare, ceea ce este un dezavantaj major dacă ești serios în ceea ce privește securitatea ta.

Configurarea TFTP pe alte sisteme de operare

Dacă intenționați să utilizați TFTP pe Windows, nu este necesar să instalați niciun software terță parte. Puteți activa TFTP cu opțiunea Activați sau dezactivați funcțiile Windows din panoul de control.