A TFTP-t (Trivial File Transfer Protocol) először 1980-ban írták le. Ez egy meglehetősen régi protokoll, amelyet 1981 júniusában tettek közzé TFTP Protocol Revision 2-ként az RFC 783-ban (Request For Comments), Karen R. Sollins.
A kezdeti időkben a TFTP fő célja a fájlok hálózaton keresztüli küldése és fogadása volt. Különösen a rendszerindítás során szükséges fájlok átvitelére használták, hogy lehetővé tegyék a rendszerek hálózaton keresztüli indítását.
Így állíthat be TFTP-kiszolgálót egy Linux-gépen.
Mi az a TFTP?
A TFTP-t továbbra is fájlátviteli célokra használják, és nincs alapvető változás az általa támogatott funkciókban. A TFTP a fájlok UDP/IP-n keresztüli letöltésére és küldésére szolgál. Nincsenek további funkciói, mint például az identitás és jogosultság ellenőrzése, a fájlok listázása, törlése vagy átnevezése, amelyek általában megtalálhatók más fájlátviteli protokollokban.
Az átviteli rétegben TCP-t használó fejlett fájlátviteli protokolloktól eltérően az UDP protokollon működik és nem rendelkezik olyan funkciókkal, mint például annak ellenőrzése, hogy a fájlhoz tartozó csomagok a másikhoz mennek-e vagy sem oldal. E korlátozás miatt alkalmasabb helyi hálózatokban való használatra, nem pedig internetre vagy nagy kiterjedésű hálózatokra.
A fent felsorolt, látszólag negatív tulajdonságok ellenére a TFTP protokoll egyik nagyon erős aspektusa az egyszerűsége. A protokoll megvalósítása meglehetősen egyszerű az alternatíváihoz képest, még olyan környezetekben is, ahol nincs operációs rendszer. Ennek a funkciónak köszönhetően széles felhasználási területtel rendelkezik a beágyazott rendszerekben.
TFTP szerver telepítése Linuxra
Ha beágyazott eszközökkel dolgozik, fontos, hogy telepítve legyen a TFTP-kiszolgáló szolgáltatás. Linux rendszereken számos TFTP-kiszolgáló implementáció futhat. Ha a Debian alapú disztribúció, telepítheti a tftpd-hpa, tftpd, vagy atftpd csomagokat. Ha nem biztos abban, hogy melyiket válassza, fontolja meg a tftpd-hpa csomag telepítését.
sudo apt-kap telepítse a tftpd-hpa-t
A telepítés után a TFTP szolgáltatás elkezdi figyelni az UDP port 69. Ahhoz, hogy a fájlokat a TFTP-kiszolgálón keresztül más rendszereknek kiszolgálhassa, szem előtt kell tartania néhány előfeltételt:
- A szükséges fájl másolása a TFTP kezdőkönyvtárába vagy az alatta lévő könyvtárba
- Fájlengedélyek nyilvánossá tétele
Ha meg szeretné tudni, mi a TFTP-kiszolgáló kezdőkönyvtára, tekintse meg a TFTP_DIRECTORY változó a /etc/default/tftpd-hpa fájlt. Általában olyan könyvtárakat fog látni, mint a /var/lib/tftpboot vagy /srv/tftp. Ha szeretné, módosíthatja ezt a könyvtárat, és újraindíthatja a szolgáltatást.
macska /stb/alapértelmezett/tftpd-hpa
A könnyebb használat érdekében, ha módosítja a megfelelő TFTP-főkönyvtár tulajdonosát a felhasználói fiókjában, nem kell minden futtatott parancshoz hozzáadnia a sudo előtagot. A chown paranccsal módosíthatja a tulajdonjogot rootról az aktuális felhasználóra:
sudo chown -R $USER /srv/tftp
A TFTP-kiszolgáló csomagnevei és az alapértelmezett saját könyvtárak a használt Linux disztribúciótól függően eltérőek lehetnek.
Fájlok küldése a TFTP szerverrel
Néha vannak olyan helyzetek, amikor a TFTP az egyetlen lehetőség a fájl áthelyezésére beágyazott Linux rendszer a külső környezetre. Előfordulhat például, hogy a rendszer nem támogat olyan írható adathordozókat, amelyek segítségével átviheti a fájlt.
Ilyen esetekben, mivel a TFTP kliens valószínűleg be lesz fordítva busybox, elküldheti a rendszerben mentett fájlt a hálózaton lévő TFTP-kiszolgálóra.
A TFTP-kliens alkalmazás használatához adja ki a busybox tftp parancs:
busybox tftp
Ha egy mintafájlt szeretne elküldeni a TFTP-kiszolgálónak, a következő parancsot kell használnia:
busyboxtftp-lpélda.kuka-o 192.168.1.100
Bár a fenti parancs helyes, hibaüzenetet kap a fájl TFTP-kiszolgálóra való átvitele közben. Mivel a visszaadott hibaüzenet nem magától értetődő, nehéz megérteni, mi a valódi probléma.
A probléma itt a TFTP-kiszolgáló bizonyos biztonsági eljárásaiból adódik. A TFTP megköveteli, hogy egy azonos nevű fájl legyen abban a könyvtárban, ahová a fájlt írják a fájl feltöltésének előfeltétele, és hogy a fájl írási hozzáférése elérhető legyen mindenki.
Más szóval, nem lehet olyan fájlt feltölteni, amely nem létezik a TFTP-kiszolgálón TFTP-klienseken keresztül. Ha létrehoz egy üres fájlt azonos névvel és módosítja a hozzáférési jogosultságait, akkor a fenti feltöltési folyamat sikeres lesz. Ehhez a következő parancsokat kell futtatnia a megfelelő TFTP-kiszolgáló kezdőkönyvtárában:
CD /srv/tftp
érintéspélda.kuka
chmod 666 példa.kuka
Most már sikeresen végrehajthatja a feltöltést.
A fenti biztonsági intézkedés letiltása is lehetséges, és a TFTP-kiszolgáló létrehozhat egy nem létező fájlt. Ehhez használhatja a -c vagy --teremt paraméter indításakor a tftpd-hpa Alkalmazás. Elegendő ezt a paramétert hozzáadni a meglévőhöz TFTPD_OPTIONS változó a /etc/default/tftpd-hpa fájl:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--biztonságos --létre"
Miért érdemes TFTP-kiszolgálót használni a fájlátvitelhez?
A TFTP legfontosabb előnye, hogy gyors, és időt takarít meg. Ideális lehetőség a hálózati eszközök konfigurációs fájljainak más rendszerekre történő átvitelére. Sőt, nagyon egyszerű használati kritériumai vannak. Kényelmesen működik szoftverekkel Windows és Linux alapú operációs rendszereken egyaránt. Végül a TFTP mindig ott van, hogy megmentse a helyzetet olyan helyzetekben, amikor technikailag nem tudja használni az FTP-t.
A legnagyobb hátrány természetesen az, hogy nem biztonságos. Ezért nagyon körültekintően kell eljárnia, amikor fájlokat visz át TFTP-kiszolgálón.
A fájlátvitelen kívül nem hajthat végre olyan funkciókat, mint a fájlok törlése, szerkesztése és módosítása TFTP-szerver használatával. Ez a funkció komoly hátrányt jelent azok számára, akik fejlett rendszereket használnak vagy keresnek. Végül pedig nem igényel hitelesítést, ami komoly hátrányt jelent, ha komolyan gondolja a biztonságát.
A TFTP beállítása más operációs rendszereken
Ha TFTP-t kíván használni Windows rendszeren, nem kell telepítenie semmilyen harmadik féltől származó szoftvert. A TFTP-t a Windows-szolgáltatások be- és kikapcsolása opcióval engedélyezheti a vezérlőpulton.