TFTP (Trivial File Transfer Protocol) beskrevs första gången 1980. Det är ett ganska gammalt protokoll som publicerades i juni 1981 som TFTP Protocol revision 2 i RFC 783 (Request For Comments) av Karen R. Sollins.

I början var huvudmålet med TFTP att skicka och ta emot filer över ett nätverk. I synnerhet användes den för att överföra filerna som behövdes under uppstart för att göra det möjligt för system att starta över ett nätverk.

Så här kan du ställa in en TFTP-server på en Linux-maskin.

Vad är TFTP?

TFTP används fortfarande för filöverföringsändamål och det finns ingen grundläggande förändring i funktionerna som den stöder. TFTP används för att ladda ner och skicka filer över UDP/IP. Den har inga ytterligare funktioner som identitets- och auktoriseringskontroll, fillista, radering eller byte av namn, som vanligtvis finns i andra filöverföringsprotokoll.

Till skillnad från de avancerade filöverföringsprotokollen som använder TCP i överföringslagret, fungerar det på UDP-protokollet och har inte funktioner som att kontrollera om paketen som hör till filen går till den andra eller inte sida. På grund av denna begränsning är den mer lämplig för användning i lokala nätverk snarare än internet eller wide area-nätverk.

instagram viewer

Trots alla dessa till synes negativa egenskaper som anges ovan är en aspekt av TFTP-protokollet som är mycket stark dess enkelhet. Implementeringen av protokollet är ganska lätt jämfört med dess alternativ, även för miljöer som inte har ett operativsystem på sig. På grund av denna funktion har den ett brett användningsområde i inbyggda system.

Installera en TFTP-server på Linux

När du arbetar med inbäddade enheter är det viktigt att ha TFTP-servertjänsten installerad. På Linux-system kan flera TFTP-serverimplementationer köras. Om du använder en Debianbaserad distribution, kan du installera tftpd-hpa, tftpd, eller atftpd paket. Om du inte är säker på vilken du ska välja, överväg att installera paketet tftpd-hpa.

sudo apt-skaffa sig installera tftpd-hpa

Efter installationen kommer TFTP-tjänsten att börja lyssna på UDP-porten 69. För att skicka filerna till andra system via TFTP-servern måste du tänka på några förutsättningar:

  • Kopiera den önskade filen till TFTP-hemkatalogen eller en katalog under den hemkatalogen
  • Göra filbehörigheter synliga för allmänheten

För att ta reda på vad TFTP-serverns hemkatalog är kan du titta på TFTP_DIRECTORY variabel i /etc/default/tftpd-hpa fil. Vanligtvis kommer du att se kataloger som /var/lib/tftpboot eller /srv/tftp. Om du vill kan du ändra den här katalogen och starta om tjänsten.

katt /etc/standard/tftpd-hpa

För enkelhetens skull, om du byter ägare av den relevanta TFTP-hemkatalogen till ditt användarkonto, behöver du inte lägga till sudo-prefixet till varje kommando som du kör. Använd kommandot chown för att ändra äganderätten från root till den nuvarande användaren:

sudo chown -R $USER /srv/tftp

TFTP-serverns paketnamn och standardhemkataloger kan skilja sig beroende på vilken Linux-distribution som används.

Skicka filer med TFTP-servern

Ibland finns det situationer där TFTP är det enda alternativet för att flytta en fil från din inbyggt Linux-system till den yttre miljön. Till exempel, ibland kanske systemet inte stöder något skrivbart medium som du kan använda för att överföra filen.

I sådana fall, eftersom TFTP-klienten förmodligen kommer att kompileras in busybox, kan du skicka en fil som sparats i systemet till en TFTP-server i ett nätverk.

För att använda TFTP-klientapplikationen, utfärda busybox tftp kommando:

busybox tftp 

För att skicka en exempelfil till TFTP-servern måste du använda ett kommando så här:

busyboxtftp-lexempel.bin-s 192.168.1.100

Även om kommandot ovan är korrekt, kommer du att få ett felmeddelande när du överför filen till din TFTP-server. Eftersom felmeddelandet som returneras inte är självförklarande är det svårt att förstå vad det verkliga problemet är.

Problemet här beror på vissa säkerhetsprocedurer på TFTP-servern. TFTP kräver att en fil med samma namn ska finnas i katalogen där filen ska skrivas som en förutsättning för en filuppladdning och att skrivåtkomsten för denna fil ska vara tillgänglig för alla.

Det är med andra ord inte möjligt att ladda upp en fil som inte finns på TFTP-servern via TFTP-klienter. Om du skapar en tom fil med samma namn och redigerar dess åtkomsträttigheter kommer uppladdningsprocessen ovan att lyckas. För detta måste du köra följande kommandon i den relevanta TFTP-serverns hemkatalog:

CD /srv/tftp 
Rörexempel.bin
chmod 666 exempel.bin

Nu kan du utföra din uppladdning framgångsrikt.

Det är också möjligt att inaktivera ovanstående säkerhetsåtgärd och låta TFTP-servern skapa en fil som inte finns. För detta kan du använda -c eller --skapa parameter när du startar tftpd-hpa Ansökan. Det är tillräckligt att lägga till denna parameter till den befintliga TFTPD_OPTIONS variabel i /etc/default/tftpd-hpa fil:

# /etc/default/tftpd-hpa 
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADRESS="0.0.0.0:69"
TFTP_OPTIONS="--säker --skapa"

Varför använda en TFTP-server för filöverföring?

Den viktigaste fördelen med TFTP är att den är snabb och hjälper dig att spara tid. Det är ett idealiskt alternativ för att överföra konfigurationsfiler för nätverksenheter till andra system. Dessutom har den mycket enkla användningskriterier. Den fungerar bekvämt med programvara på både Windows och Linux-baserade operativsystem. Slutligen, TFTP är alltid där för att rädda dagen i situationer där du tekniskt inte kan använda FTP.

Den största nackdelen är förstås att det inte är säkert. Därför måste du vara mycket försiktig när du överför filer med en TFTP-server.

Förutom filöverföringar kan du inte utföra funktioner som filradering, redigering och modifiering med en TFTP-server. Denna funktion är en stor nackdel för dem som använder eller söker avancerade system. Slutligen kräver det ingen autentisering, vilket är en stor nackdel om du menar allvar med din säkerhet.

Konfigurera TFTP på andra operativsystem

Om du ska använda TFTP på Windows behöver du inte installera någon programvara från tredje part. Du kan aktivera TFTP med alternativet Slå på eller av Windows-funktioner på kontrollpanelen.