Protokol TFTP (Trvial File Transfer Protocol) bol prvýkrát opísaný v roku 1980. Je to pomerne starý protokol publikovaný v júni 1981 ako TFTP Protokol revízia 2 v RFC 783 (Request For Comments) od Karen R. Sollins.

V prvých dňoch bolo hlavným cieľom TFTP odosielať a prijímať súbory cez sieť. Používal sa najmä na prenos súborov potrebných počas zavádzania systému, aby bolo možné zaviesť systém cez sieť.

Tu je návod, ako môžete nastaviť server TFTP na počítači so systémom Linux.

Čo je TFTP?

TFTP sa stále používa na účely prenosu súborov a nedošlo k žiadnej zásadnej zmene vo funkciách, ktoré podporuje. TFTP sa používa na sťahovanie a odosielanie súborov cez UDP/IP. Nemá žiadne ďalšie funkcie, ako je kontrola identity a autorizácie, výpis súborov, mazanie alebo premenovanie, ktoré sa zvyčajne nachádzajú v iných protokoloch prenosu súborov.

Na rozdiel od pokročilých protokolov prenosu súborov, ktoré používajú TCP v prenosovej vrstve, pracuje na protokole UDP a nemá funkcie, ako je kontrola, či pakety patriace do súboru idú do toho druhého strane. Kvôli tomuto obmedzeniu je vhodnejší na použitie v lokálnych sieťach ako na internete alebo v rozsiahlych sieťach.

instagram viewer

Napriek všetkým týmto zdanlivo negatívnym vlastnostiam uvedeným vyššie je jedným z aspektov protokolu TFTP, ktorý je veľmi silný, jeho jednoduchosť. Implementácia protokolu je v porovnaní s jeho alternatívami pomerne jednoduchá, a to aj pre prostredia, ktoré nemajú na sebe operačný systém. Vďaka tejto vlastnosti má široké využitie vo vstavaných systémoch.

Inštalácia servera TFTP v systéme Linux

Pri práci so vstavanými zariadeniami je dôležité mať nainštalovanú službu servera TFTP. Na systémoch Linux môže bežať niekoľko implementácií servera TFTP. Ak používate a Distribúcia založená na Debiane, môžete nainštalovať tftpd-hpa, tftpd, alebo atftpd balíkov. Ak si nie ste istí, ktorý z nich si vybrať, zvážte inštaláciu balíka tftpd-hpa.

sudo apt-dostať nainštalujte tftpd-hpa

Po inštalácii začne služba TFTP počúvať port UDP 69. Ak chcete súbory doručiť iným systémom prostredníctvom servera TFTP, musíte mať na pamäti niekoľko predpokladov:

  • Skopírujte požadovaný súbor do domovského adresára TFTP alebo do adresára pod týmto domovským adresárom
  • Zviditeľnenie povolení súborov pre verejnosť

Ak chcete zistiť, čo je domovský adresár servera TFTP, môžete sa pozrieť na TFTP_DIRECTORY premenná v /etc/default/tftpd-hpa súbor. Zvyčajne uvidíte adresáre ako /var/lib/tftpboot alebo /srv/tftp. Ak chcete, môžete zmeniť tento adresár a reštartovať službu.

mačka /atď/predvolená/tftpd-hpa

Ak zmeníte vlastníka príslušného domovského adresára TFTP na svoje používateľské konto, kvôli zjednodušeniu používania nebudete musieť pridávať predponu sudo ku každému príkazu, ktorý spustíte. Na zmenu vlastníctva z root na aktuálneho používateľa použite príkaz chown:

sudo chown -R $USER /srv/tftp

Názvy balíkov servera TFTP a predvolené domovské adresáre sa môžu líšiť v závislosti od použitej distribúcie Linuxu.

Odosielanie súborov pomocou servera TFTP

Niekedy existujú situácie, keď je TFTP jedinou možnosťou na presun súboru z vášho vstavaný systém Linux do vonkajšieho prostredia. Napríklad niekedy systém nemusí podporovať žiadne zapisovateľné médium, pomocou ktorého môžete preniesť súbor.

V takýchto prípadoch, keďže klient TFTP bude pravdepodobne skompilovaný busybox, môžete odoslať súbor uložený v systéme na server TFTP v sieti.

Ak chcete použiť klientsku aplikáciu TFTP, zadajte súbor busybox tftp príkaz:

busybox tftp 

Ak chcete odoslať vzorový súbor na server TFTP, musíte použiť príkaz, ako je tento:

busyboxtftp-lpríklad.bin-p 192.168.1.100

Hoci je vyššie uvedený príkaz správny, pri prenose súboru na váš TFTP server sa zobrazí chyba. Keďže vrátená chybová správa nie je samozrejmá, je ťažké pochopiť, v čom spočíva skutočný problém.

Problém je spôsobený niektorými bezpečnostnými procedúrami na serveri TFTP. TFTP vyžaduje, aby sa súbor s rovnakým názvom nachádzal v adresári, do ktorého bude súbor zapísaný ako predpoklad pre nahranie súboru a prístup k zápisu pre tento súbor všetci.

Inými slovami, nie je možné nahrať súbor, ktorý neexistuje na TFTP serveri cez TFTP klientov. Ak vytvoríte prázdny súbor s rovnakým názvom a upravíte jeho prístupové práva, vyššie uvedený proces nahrávania bude úspešný. Na tento účel musíte spustiť nasledujúce príkazy v príslušnom domovskom adresári servera TFTP:

cd /srv/tftp 
dotykpríklad.bin
chmod 666 príklad.bin

Teraz môžete úspešne vykonať nahrávanie.

Je tiež možné zakázať vyššie uvedené bezpečnostné opatrenie a nechať server TFTP vytvoriť súbor, ktorý neexistuje. Na tento účel môžete použiť -c alebo --vytvoriť parameter pri spustení tftpd-hpa aplikácie. Stačí pridať tento parameter k existujúcemu TFTPD_OPTIONS premenná v /etc/default/tftpd-hpa súbor:

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

Prečo používať server TFTP na prenos súborov?

Najdôležitejšou výhodou TFTP je, že je rýchly a pomáha vám šetriť čas. Ide o ideálnu možnosť na prenos konfiguračných súborov sieťových zariadení do iných systémov. Okrem toho má veľmi jednoduché kritériá použitia. Funguje pohodlne so softvérom na operačných systémoch Windows aj Linux. Nakoniec, TFTP je vždy k dispozícii, aby zachránil deň v situáciách, keď nemôžete technicky použiť FTP.

Najväčšou nevýhodou je samozrejme to, že nie je bezpečný. Preto musíte byť pri prenose súborov pomocou servera TFTP veľmi opatrní.

Okrem prenosu súborov nemôžete vykonávať funkcie, ako je odstraňovanie, úprava a úprava súborov pomocou servera TFTP. Táto funkcia je veľkou nevýhodou pre tých, ktorí používajú alebo hľadajú pokročilé systémy. Nakoniec nevyžaduje autentifikáciu, čo je hlavná nevýhoda, ak to so svojou bezpečnosťou myslíte vážne.

Nastavenie TFTP na iných operačných systémoch

Ak sa chystáte používať TFTP v systéme Windows, nemusíte inštalovať žiadny softvér tretej strany. TFTP môžete povoliť pomocou možnosti Zapnúť alebo vypnúť funkcie systému Windows na ovládacom paneli.