TFTP (Trivial File Transfer Protocol) pirmą kartą buvo aprašytas 1980 m. Tai gana senas protokolas, paskelbtas 1981 m. birželį kaip TFTP protokolo 2 redakcija RFC 783 (Komentarų užklausa), kurią pateikė Karen R. Sollinsas.
Pirmosiomis dienomis pagrindinis TFTP tikslas buvo siųsti ir gauti failus tinkle. Visų pirma, jis buvo naudojamas failams, kurių reikia įkrovos metu, perkelti, kad sistemos galėtų paleisti per tinklą.
Štai kaip galite nustatyti TFTP serverį „Linux“ įrenginyje.
Kas yra TFTP?
TFTP vis dar naudojamas failų perdavimui ir jo palaikomos funkcijos iš esmės nepasikeitė. TFTP naudojamas failams atsisiųsti ir siųsti per UDP/IP. Jame nėra papildomų funkcijų, tokių kaip tapatybės ir autorizacijos kontrolė, failų sąrašas, ištrynimas ar pervadinimas, kurios paprastai yra kituose failų perdavimo protokoluose.
Skirtingai nuo pažangių failų perdavimo protokolų, kurie perdavimo lygyje naudoja TCP, jis veikia UDP protokolu ir neturi tokių funkcijų, kaip patikrinti, ar rinkmenai priklausantys paketai siunčiami į kitą pusėje. Dėl šio apribojimo jis labiau tinkamas naudoti vietiniuose tinkluose, o ne internete ar plačiuose tinkluose.
Nepaisant visų aukščiau išvardytų, atrodytų, neigiamų ypatybių, vienas iš TFTP protokolo aspektų yra jo paprastumas. Protokolo įdiegimas yra gana paprastas, palyginti su jo alternatyvomis, net ir aplinkoje, kurioje nėra operacinės sistemos. Dėl šios savybės jis turi plačią naudojimo sritį įterptosiose sistemose.
TFTP serverio įdiegimas Linux sistemoje
Kai dirbate su įterptais įrenginiais, svarbu turėti įdiegtą TFTP serverio paslaugą. Linux sistemose gali veikti keli TFTP serverio diegimai. Jei naudojate a Debian pagrindu sukurtas platinimas, galite įdiegti tftpd-hpa, tftpd, arba atftpd paketus. Jei nesate tikri, kurį pasirinkti, apsvarstykite galimybę įdiegti paketą tftpd-hpa.
sudo apt-gauti įdiegti tftpd-hpa
Įdiegę TFTP paslauga pradės klausytis UDP prievadas 69. Norėdami pateikti failus kitoms sistemoms per TFTP serverį, turite turėti omenyje keletą būtinų sąlygų:
- Reikiamo failo kopijavimas į TFTP pagrindinį katalogą arba katalogą po juo
- Padaryti failo leidimus matomus viešai
Norėdami sužinoti, kas yra TFTP serverio namų katalogas, galite peržiūrėti TFTP_DIRECTORY kintamasis /etc/default/tftpd-hpa failą. Paprastai matysite tokius katalogus kaip /var/lib/tftpboot arba /srv/tftp. Jei norite, galite pakeisti šį katalogą ir paleisti paslaugą iš naujo.
katė /etc/numatytas/tftpd-hpa
Kad būtų lengviau naudoti, jei pakeisite atitinkamo TFTP pagrindinio katalogo savininką į savo vartotojo abonementą, jums nereikės pridėti sudo priešdėlio prie kiekvienos vykdomos komandos. Naudokite komandą chown, kad pakeistumėte nuosavybės teisę iš root į dabartinį vartotoją:
sudo chown -R $USER /srv/tftp
TFTP serverio paketų pavadinimai ir numatytieji namų katalogai gali skirtis priklausomai nuo naudojamo Linux platinimo.
Failų siuntimas naudojant TFTP serverį
Kartais būna situacijų, kai TFTP yra vienintelė galimybė perkelti failą iš jūsų įterptoji Linux sistema į išorinę aplinką. Pavyzdžiui, kartais sistema gali nepalaikyti jokios rašomos laikmenos, kuria galite perkelti failą.
Tokiais atvejais, kadangi TFTP klientas tikriausiai bus sukompiliuotas busybox, galite siųsti sistemoje išsaugotą failą į tinklo TFTP serverį.
Norėdami naudoti TFTP kliento programą, išduokite busybox tftp komanda:
busybox tftp
Norėdami nusiųsti pavyzdinį failą į TFTP serverį, turite naudoti tokią komandą:
busyboxtftp-lpavyzdys.bin-p 192.168.1.100
Nors aukščiau pateikta komanda yra teisinga, perkeldami failą į TFTP serverį gausite klaidą. Kadangi pateiktas klaidos pranešimas nėra savaime aiškus, sunku suprasti, kokia yra tikroji problema.
Problema kyla dėl kai kurių TFTP serverio saugos procedūrų. TFTP reikalauja, kad to paties pavadinimo failas būtų kataloge, kuriame bus įrašytas failas kaip būtina sąlyga norint įkelti failą ir kad šio failo rašymo prieiga turėtų būti prieinama Visi.
Kitaip tariant, per TFTP klientus neįmanoma įkelti failo, kurio nėra TFTP serveryje. Jei sukursite tuščią failą tuo pačiu pavadinimu ir redaguosite jo prieigos teises, aukščiau nurodytas įkėlimo procesas bus sėkmingas. Norėdami tai padaryti, atitinkamame TFTP serverio pagrindiniame kataloge turite paleisti šias komandas:
cd /srv/tftp
liestipavyzdys.bin
chmod 666 pavyzdys.bin
Dabar galite sėkmingai įkelti.
Taip pat galima išjungti pirmiau nurodytą saugos priemonę ir TFTP serveriui sukurti failą, kurio nėra. Tam galite naudoti -c arba --kurti parametras paleidžiant tftpd-hpa taikymas. Pakanka pridėti šį parametrą prie esamo TFTPD_OPTIONS kintamasis /etc/default/tftpd-hpa failas:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--saugus --kurti"
Kodėl failams perkelti naudoti TFTP serverį?
Svarbiausias TFTP pranašumas yra tai, kad jis yra greitas ir padeda sutaupyti laiko. Tai idealus pasirinkimas tinklo įrenginių konfigūracijos failams perkelti į kitas sistemas. Be to, jis turi labai paprastus naudojimo kriterijus. Jis patogiai veikia su programine įranga tiek Windows, tiek Linux operacinėse sistemose. Galiausiai, TFTP visada padeda išgelbėti situaciją situacijose, kai techniškai negalite naudoti FTP.
Didžiausias trūkumas, žinoma, yra tai, kad tai nėra saugu. Todėl perkeldami failus naudodami TFTP serverį turite būti labai atsargūs.
Išskyrus failų perkėlimą, naudodami TFTP serverį negalite atlikti tokių funkcijų, kaip failų trynimas, redagavimas ir keitimas. Ši funkcija yra didelis trūkumas tiems, kurie naudoja arba ieško pažangių sistemų. Galiausiai, tai nereikalauja autentifikavimo, o tai yra didelis trūkumas, jei rimtai žiūrite į savo saugumą.
TFTP nustatymas kitose operacinėse sistemose
Jei ketinate naudoti TFTP sistemoje Windows, jums nereikia įdiegti jokios trečiosios šalies programinės įrangos. Galite įjungti TFTP naudodami valdymo skydelio parinktį Įjungti arba išjungti Windows funkcijas.