Pentru ce este clientul tftp? Propriul dvs. furnizor: configurați servere FTP și TFTP. Cereri de citire și scriere

TFTP este un protocol simplu pentru transferul de fișiere într-o rețea, utilizează protocolul UDP (pe portul 69) și nu acceptă autentificare sau criptare. TFTP este adesea folosit pentru a descărca fișiere (firmware, configurații) pe dispozitive (routere, PBX-uri și altele), dar poate fi folosit și pentru a transfera pur și simplu fișiere printr-o rețea între computere. Există mai multe demoni TFTP (servere) disponibile pentru Linux: tftpd, atftpd, tftpd-hpa. Puteți folosi oricare dintre ele. Îți voi spune cum să instalezi tftpd.

Pe lângă tftpd, va trebui să instalați serviciul inetd. inetd este un serviciu de rețea care procesează conexiunile de intrare (TCP, UDP) și rulează programul adecvat pentru a procesa cererea. Voi folosi serviciul openbsd-inetd. Există și serviciul xinetd, îl poți folosi, dar este configurat ușor diferit.

Instalarea serverului tftpd și a serviciului openbsd-inetd

Să instalăm serverul tftpd și openbsd-inetd executând comanda:

Sudo apt-get install openbsd-inetd tftpd tftp

Odată ce instalarea este finalizată, veți vedea mesaje precum:

Configurarea pachetului openbsd-inetd (0.20080125-4ubuntu2) ... * Se oprește internet superserver inetd [ OK ] * Nu se pornește internet superserver: fără servicii activate Configurarea pachetului tftpd (0.17-17ubuntu1)...

Configurarea tftpd

În mod implicit, serverul TFTP este configurat să utilizeze directorul /srv/tftp. Vom configura serverul TFTP astfel încât să folosească directorul /tftpboot pentru a funcționa. Acest director va stoca fișiere pe care le putem descărca de pe server sau le putem încărca. Să edităm fișierul /etc/inetd.conf.

Sudo gedit /etc/inetd.conf

În fișier, găsiți linii precum:

#:BOOT: Serviciul TFTP este furnizat în primul rând pentru pornire. Majoritatea site-urilor # rulează acest lucru numai pe mașini care acționează ca „servere de pornire”. tftp dgram udp asteapta nimeni /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp

Argumentul /srv/tftp al comenzii in.tftpd indică directorul în care vor fi stocate fișierele serverului TFTP. Înlocuiți /srv/tftp cu /tftpboot.

Tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot

Să creăm un director /tftpboot:

Sudo mkdir /tftpboot

Să schimbăm drepturile de acces:

Sudo chown -R nimeni /tftpboot

Repornirea serviciului inetd

Pentru ca noile setări să intre în vigoare, reporniți serviciul inetd:

Sudo /etc/init.d/openbsd-inetd reporniți

Aceasta completează instalarea serverului TFTP, să verificăm funcționarea acestuia.

Verificarea funcționării serverului TFTP, folosind clientul TFTP

Mai întâi, să instalăm un client TFTP, astfel încât să vă puteți conecta la serverul TFTP. Pentru a instala clientul TFTP, executați comanda în terminal:

Sudo apt-get install tftp

Acum să creăm un fișier pe server în directorul /tftpboot, de exemplu, myfile. Pentru a crea un fișier myfile și a scrie textul „Acesta este fișierul meu”, rulați comanda în terminal:

Echo Acesta este fișierul meu > /tftpboot/myfile

Acum putem porni clientul TFTP cu comanda tftp. Comanda tftp ia ca parametru adresa IP a serverului. Dacă rulați clientul pe un computer local, atunci specificați adresa IP 127.0.0.1, dar dacă pe un computer la distanță, atunci specificați adresa IP a serverului.

Tftp 127.0.0.1

Când pornește clientul, veți fi în modul de introducere a comenzii pentru clientul TFTP. Rulați comanda get myfile, ceea ce înseamnă obțineți un fișier numit myfile de pe server.

tftp>obține fișierul meu

Dacă ați făcut totul corect, fișierul myfile va fi descărcat de pe serverul TFTP. Pentru a ieși din clientul TFTP, introduceți comanda quit.

Puteți simplifica lucrul cu computerele Windows conectate printr-o rețea locală prin activarea serverelor FTP și TFTP, fiecare dintre ele având propriile caracteristici.

Diferențele dintre serverele FTP și TFTP

Activarea ambelor servere vă va oferi posibilitatea de a schimba fișiere și comenzi între computere sau dispozitive conectate între ele printr-o rețea locală sau prin alte mijloace.

TFTP este un server mai ușor de deschis, dar nu acceptă nicio verificare a identității, în afară de verificarea ID-ului. Deoarece ID-urile pot fi falsificate, TFTP nu este sigur, dar este ușor de utilizat. De exemplu, sunt folosite pentru a configura stații de lucru fără disc și dispozitive inteligente de rețea.

Serverele FTP îndeplinesc aceleași funcții ca și TFTP, dar au capacitatea de a autentifica dispozitivul conectat folosind un login și o parolă, prin urmare sunt mai fiabile. Ele pot fi folosite pentru a trimite și primi fișiere și comenzi.

Dacă dispozitivele dvs. sunt conectate printr-un router sau folosesc un firewall, atunci trebuie să redirecționați în avans porturile 21 și 20 pentru conexiunile de intrare și de ieșire.

Crearea și configurarea TFTP pe Windows 7

Pentru a-l activa și configura, cel mai bine este să utilizați un program gratuit - tftpd32/tftpd64, care poate fi descărcat de pe site-ul oficial al dezvoltatorului cu același nume. Aplicația este distribuită în două forme: serviciu și program. Fiecare tip este împărțit în versiuni pentru sisteme pe 32 și 64 de biți. Puteți utiliza orice tip și versiune a programului care vi se potrivește, dar mai jos, ca exemplu, acțiunile vor fi date într-un program pe 64 de biți care rulează ca ediție de serviciu.

Crearea și configurarea FTP

  1. Extindeți panoul de control al computerului.

    Lansarea panoului de control

  2. Accesați secțiunea „Programe”.

    Accesați secțiunea „Programe”.

  3. Accesați subsecțiunea „Programe și caracteristici”.

    Accesați secțiunea „Programe și caracteristici”.

  4. Faceți clic pe fila „Pornire sau dezactivare componente”.

    Faceți clic pe butonul „Pornire sau dezactivare componente”.

  5. În fereastra care se deschide, găsiți arborele „Servicii IIS” și activați toate componentele incluse în acesta.

    Activarea arborelui Servicii IIS

  6. Salvați rezultatul și așteptați până când elementele incluse sunt adăugate de către sistem.

    Așteptați ca componentele să fie adăugate de către sistem

  7. Reveniți la pagina principală a Panoului de control și navigați la secțiunea Sistem și securitate.

    Accesați secțiunea „Sistem și securitate”.

  8. Accesați subsecțiunea „Administrare”.

    Accesați subsecțiunea „Administrare”.

  9. Deschideți Internet Information Services Manager.

    Deschideți programul Internet Information Services Manager

  10. În fereastra care apare, mergeți la arborele situat în partea stângă a programului, faceți clic dreapta pe subfolderul „Site-uri” și accesați funcția „Adăugați site FTP”.

    Faceți clic pe „Adăugați site FTP”

  11. Completați câmpul cu numele site-ului și scrieți calea către folderul în care vor fi trimise fișierele primite.

    Creați un nume pentru site și creați un folder pentru acesta

  12. Începe configurarea FTP. În blocul de adrese IP, setați parametrul „Toate libere”, în blocul SLL, setați parametrul „Fără SSL”. Funcția „Porniți automat site-ul FTP” activată va permite serverului să se pornească automat de fiecare dată când porniți computerul.

    Setăm parametrii necesari

  13. Autentificarea vă permite să alegeți două opțiuni: anonim - fără autentificare și parolă, obișnuit - cu autentificare și parolă. Verifică opțiunile care ți se potrivesc.

    Alegerea cine va avea acces la site

  14. Acest lucru finalizează crearea site-ului, dar mai multe setări trebuie să fie finalizate.

    Site-ul a fost creat și adăugat la listă

  15. Reveniți la secțiunea Sistem și securitate și navigați la subsecțiunea Firewall.

    Deschideți secțiunea „Windows Firewall”.

  16. Deschideți opțiuni avansate.

    Să trecem la setări suplimentare pentru firewall

  17. În jumătatea stângă a programului, activați fila „Reguli pentru conexiunile de intrare” și activați funcțiile „Server FTP” și „Trafic server FTP în mod pasiv” făcând clic dreapta pe ele și selectând opțiunea „Activare”.

    Activați funcțiile „Server FTP” și „Trafic server FTP în modul pasiv”.

  18. În jumătatea stângă a programului, activați fila „Reguli pentru conexiunile de ieșire” și lansați funcția „Trafic server FTP” folosind aceeași metodă.

    Activați funcția „Trafic server FTP”.

  19. Următorul pas este să creați un cont nou care va primi toate drepturile de gestionare a serverului. Pentru a face acest lucru, reveniți la secțiunea „Administrare” și selectați aplicația „Gestionare computer” din ea.

    Deschideți aplicația Computer Management

  20. În secțiunea „Utilizatori și grupuri locale”, selectați subdosarul „Grupuri” și începeți să creați un alt grup în el.

    Faceți clic pe butonul „Creați grup”.

  21. Completați toate câmpurile obligatorii cu orice date.

    Completați informații despre grupul care este creat

  22. Navigați la subdosarul Utilizatori și începeți procesul de creare a unui nou utilizator.

    Faceți clic pe butonul „Utilizator nou”.

  23. Completați toate câmpurile obligatorii și finalizați procesul.

    Completarea informațiilor despre utilizator

  24. Deschideți proprietățile utilizatorului creat și extindeți fila „Afiliație la grup”. Faceți clic pe butonul „Adăugați” și adăugați utilizatorul la grupul pe care l-ați creat puțin mai devreme.

    Faceți clic pe butonul „Adăugați”.

  25. Acum navigați la folderul care este alocat pentru utilizare de către serverul FTP. Deschideți proprietățile sale și accesați fila „Securitate”, faceți clic pe butonul „Schimbare” din ea.

    Faceți clic pe butonul „Modificați”.

  26. În fereastra care se deschide, faceți clic pe butonul „Adăugați” și adăugați grupul care a fost creat anterior în listă.

    Selectați acțiunea „Adăugați o regulă de autorizare”

  27. Bifați caseta de lângă „Roluri sau grupuri de utilizatori specificate” și completați câmpul cu numele grupului înregistrat anterior. Permisiunile trebuie acordate pentru orice: citire și scriere.

    Selectați „Roluri sau grupuri de utilizatori specificate”

  28. Puteți crea o altă regulă pentru toți ceilalți utilizatori selectând „Toți utilizatorii anonimi” sau „Toți utilizatorii” și setând permisiunea de numai citire, astfel încât nimeni, cu excepția dvs., să poată edita datele stocate pe server. Gata, aceasta finalizează crearea și configurarea serverului.

    ftp://numele_dvs.:[email protected].

    Pentru a vă conecta la server nu printr-o rețea locală, ci prin Internet, se folosesc aceleași adrese, dar numerele 192.168.10.4 sunt înlocuite cu numele site-ului pe care l-ați creat mai devreme. Să vă reamintim că pentru a vă conecta prin Internet primit de la router, trebuie să redirecționați porturile 21 și 20.

    Motive pentru care s-ar putea să nu funcționeze

    Este posibil ca serverele să nu funcționeze corect dacă nu ați completat toate setările necesare descrise mai sus sau nu ați introdus datele incorect, verificați din nou toate informațiile. Al doilea motiv al eșecului sunt factori terți: un router configurat incorect, un firewall încorporat în sistem sau un antivirus terț blochează accesul, regulile instalate pe computer interferează cu funcționarea serverului. Pentru a rezolva o problemă legată de un server FTP sau TFTP, trebuie să descrii cu exactitate în ce stadiu a apărut, abia atunci vei putea găsi o soluție pe forumurile tematice.

    Cum să vă conectați ca unitate de rețea

    Pentru a converti un folder alocat pentru un server într-o unitate de rețea folosind metode standard Windows, trebuie doar să urmați acești pași:


    Programe de la terți pentru configurarea unui server

    Programul de gestionare a TFTP - tftpd32/tftpd64, a fost deja descris mai sus în articol, în secțiunea „Crearea și configurarea unui server TFTP”. Pentru a gestiona serverele FTP, puteți utiliza programul FileZilla.


    Serverele FTP și TFTP sunt concepute pentru a crea site-uri locale și partajate care permit schimbul de fișiere și comenzi între utilizatorii cu acces la server. Puteți configura toate setările necesare atât folosind funcțiile încorporate ale sistemului, cât și prin aplicații terțe. Pentru a obține unele beneficii, puteți converti folderul serverului într-o unitate de rețea.

Bună ziua, dragi cititori! Astăzi vom încerca să spulberăm mitul că doar un specialist calificat poate „crește” orice tip de server și să vă spună de ce este nevoie de un server TFTP, cum să îl configurați și să îl utilizați în beneficiul dumneavoastră.

Destul de des, atât administratorii de sistem, cât și utilizatorii obișnuiți care lucrează pe mai multe mașini reale sau virtuale au nevoie să transfere fișiere de la o stație de lucru la alta. O cale de ieșire în această situație este configurarea unui așa-numit server FTP, dar Microsoft oferă o soluție mai simplă și mai elegantă. Vorbim despre așa-numitul server TFTP. Abrevierea „TFTP” înseamnă „Trivial File Transfer Protocol”, care se traduce prin „protocol simplu de transfer de date”.

După cum sugerează și numele, TFTP este proiectat pentru transferul de date și principalul său avantaj este ușurința de operare a clientului. De asemenea, are un dezavantaj semnificativ: utilizatorul este identificat numai prin adresa de rețea, nu sunt furnizate alte metode de autentificare. Pe baza acestui fapt, TFTP este o metodă extrem de nesigură de transfer de date. Adevărat, serverul TFTP poate fi configurat în așa fel încât accesul la acesta să fie posibil doar dintr-o listă prespecificată de adrese IP. Dar după cum știți, este destul de ușor să falsificați și, prin urmare, serviciul nu este recomandat pentru rezolvarea problemelor grave.

Rețineți că sistemul de operare Windows XP are un client TFTP încorporat, dar dacă aveți instalată o versiune ulterioară a sistemului de operare (Windows 7/8), va trebui să instalați și să configurați singur serverul.

Cum să configurezi TFTP la locul tău de muncă?

Totul este simplu aici și pentru a putea transfera sau primi fișiere de la alte stații de lucru, trebuie să efectuați câțiva pași simpli și anume:

  1. Descărcați programul, dar ar trebui să acordați o atenție deosebită faptului că există distribuții pentru versiunile pe 32 și 64 de biți ale sistemului de operare Windows.
  2. Odată ce descărcarea distribuției este completă, puteți începe să lansați și să instalați serviciul. În timpul procesului de instalare, pe fila „TFTP”, în linia „Director de bază”, este indicat „C:\\Windows\System32”. Aceasta înseamnă că în mod implicit toate fișierele descărcate vor fi stocate pe unitatea C într-un folder numit System32. Pentru o mai mare comoditate, este recomandabil să creați un director separat pe oricare dintre discuri, de exemplu, „De la TFTP” și să specificați calea către acesta.
  3. Pentru ca componentele software instalate să funcționeze, așa cum este de obicei în Windows, trebuie să reporniți stația de lucru. Cu toate acestea, este și posibil să porniți manual aplicația fără a reporni computerul.
  4. Pentru a utiliza TFTP în scopul propus, de ex. în scopul primirii și transmiterii fișierelor, nu sunt necesare setări suplimentare, serverul va funcționa perfect cu setările standard.
Cum se verifică dacă serverul TFTP funcționează corect?

Pentru a afla dacă serverul funcționează corect, trebuie doar să lansați linia de comandă (pentru a face acest lucru, introduceți „cmd.exe” în bara de căutare a meniului Start sau găsiți utilitarul direct pe discul pe care este instalat sistemul de operare. De obicei, calea către fișier arată astfel: „C:\\Windows\System32\cmd.exe”).

tftp [-i] gazdă sursă [destinație]

-i - modul de transfer de fișiere în cod binar,
nodul - adresa IP a nodului de la distanță sau local către care este trimis/primit fișierul,
OBȚINE - transferul unui fișier de pe un computer la distanță,
A PUNE - primirea unui fișier de la un computer la distanță,
sursă - numele fișierului care urmează să fie trimis/primit,
destinaţie - destinatarul căruia îi este trimis/primit dosarul.

Pentru ce altceva poate fi util un server TFTP?

După cum arată practica, puteți utiliza un server TFTP nu numai pentru schimbul de fișiere între nodurile de la distanță - datorită faptului că serviciul ocupă doar 2 MB de RAM, este potrivit și pentru automatizarea operațiunilor pentru care sunt responsabile unele scripturi.

Aplicație

Scopul principal al TFTP este de a face clientul ușor de implementat. În acest sens, este folosit pentru a porni stațiile de lucru fără disc, pentru a descărca actualizări și configurații pe dispozitivele de rețea inteligente, pentru a înregistra statistici de la PBX-uri (CDR) și routere hardware/firewall-uri.

Siguranță

Deoarece protocolul nu acceptă autentificarea, singura metodă de identificare a unui client este adresa sa de rețea (care poate fi falsificată). De obicei, pe sistemele Unix, numai directorul /tftpboot este accesibil de către tftpd. Cu toate acestea, în serverele TFTP mai vechi a fost posibil să se obțină fișierul cu parole cu comanda RRQ ../etc/passwd.

Protecție suplimentară împotriva accesului la fișiere arbitrare este oferită prin schimbarea directorului rădăcină în directorul tftpd (de obicei /usr/TFTPRoot).

Tipuri de pachete

În primul rând, pachetul TFTP conține un câmp de 2 octeți care determină tipul pachetului:

  • Citiți Solicitare(RRQ, #1) - cerere de citire a unui fișier.
  • Cerere de scriere(WRQ, #2) - solicitarea de a scrie un fișier.
  • Date(DATE, #3) - date transmise prin TFTP.
  • Confirmare(ACK, #4) - confirmarea pachetului.
  • Eroare(ERR, #5) - eroare.

Cereri de citire și scriere

Pentru a începe transferul de date, clientul trebuie să trimită un pachet WRQ sau RRQ către server. Ambele pachete au același format:

Există 2 moduri de transfer în TFTP (modul Mail definit în IEN 133 a fost depreciat):

  • netascii- fișierul este recodat în ASCII înainte de transmitere.
  • octet- fișierul este transferat fără modificări.

După ce a primit pachetul RRQ de către server, acesta începe imediat să transmită date. În cazul unei cereri WRQ, serverul trebuie să trimită un pachet ACK cu numărul de pachet 0.

Proces de transfer de date

După primirea unei cereri RRQ, serverul trimite imediat un pachet cu date și un ID de pachet egal cu unul ca o confirmare. WRQ folosește un ACK cu un ID de zero ca o confirmare. Un total de 32 MB pot fi transferați prin TFTP (65536 * 512 / 1024²), totuși, datorită utilizării unui int semnat în loc de unul nesemnat, dimensiunea de confirmare este limitată la 16 megaocteți. Cu toate acestea, dacă clientul și serverul acceptă extensiile de protocol RFC 2347 și RFC 2348, atunci dimensiunea maximă a fișierului transferat crește la 4Gb.

Opțiuni TFTP

RFC 2347 a furnizat un format pentru opțiunile care pot fi atașate la sfârșitul unui pachet RRQ și unui pachet WRQ:

Cod opțiune 0x00 (sfârșitul rândului) Valoarea opțiunii 0x00 (sfârșitul rândului)
șir ASCII 1 octet șir ASCII 1 octet

Pot exista mai multe opțiuni. Apoi se vor urma unul pe altul. Ordinea opțiunilor nu este importantă.

Ca răspuns la un RRQ (sau WRQ) cu opțiuni, serverul TREBUIE să trimită un OACK cu o listă de opțiuni pe care serverul le-a acceptat. Cele mai comune opțiuni:

Nume Definit în Cod opțiune
Dimensiunea blocului RFC 2348 blksiize Valoarea opțiunii este un număr care variază de la 8 la 65464, indicând dimensiunea blocului.
Interval de retransmisie (Timeout) RFC 2349 pauză Valoarea opțiunii este un număr care variază de la 1 la 255, indicând timpul de așteptare înainte de retransmiterea blocului în secunde.
mărime fișier RFC 2349 tsize Valoarea opțiunii este un număr care indică dimensiunea fișierului transferat în octeți.

Erori

În TFTP, informațiile de eroare au următorul format:

0x05 (tip de pachet) Cod de eroare Descrierea erorii 0x00 (sfârșitul rândului)
2 octeți 2 octeți șir ASCII 1 octet

Codul de eroare poate lua una dintre valorile enumerate în STD 33 (cu excepția codului 8 - este descris în RFC 2347). Aici sunt ei:

Schema URI

RFC 3617 definește formatul URI pentru TFTP. Arata cam asa:

Tftp://[gazdă de destinație]/[fișierul dorit];mode=[mod de transfer]

De exemplu:

Tftp://example.com/todo.txt;mode=netascii

Standarde

  • RFC 1350 (STD33) - specificație TFTP
  • RFC 2347 - Opțiuni TFTP
  • RFC 3617 - schema URI

Opțiuni

  • RFC 2348 - dimensiunea blocului
  • RFC 2349 - expirare

Bibliografie

  • W. Richard Stevens. „Protocoale TCP/IP. Ghid practic.” Capitolul 15, „Cel mai simplu protocol de transfer de fișiere TFTP”. ISBN 5-7940-0093-7
  • H. Osterloch. „TCP/IP. O familie de protocoale de transfer de date în rețele de calculatoare.” Capitolul 16: Protocolul de transfer de fișiere trivial (TFTP). ISBN 5-93772-039-3

Surse

Legături

  • WinAgents TFTP Server (engleză) Server TFTP pentru Windows cu suport pentru diferite drepturi de acces
  • Tftpd32 Open Source TFTP Server pentru Windows
  • tftpd(8) - Pagina de manual FreeBSD System Administrator
  • Innerdive TFTP Server Server TFTP pentru Windows. Proiectat pentru sarcini mari.