Το TFTP (Trivial File Transfer Protocol) περιγράφηκε για πρώτη φορά το 1980. Είναι ένα αρκετά παλιό πρωτόκολλο που δημοσιεύτηκε τον Ιούνιο του 1981 ως TFTP Protocol Revision 2 στο RFC 783 (Request For Comments) από την Karen R. Sollins.
Στις πρώτες μέρες, ο κύριος στόχος του TFTP ήταν η αποστολή και λήψη αρχείων μέσω ενός δικτύου. Συγκεκριμένα, χρησιμοποιήθηκε για τη μεταφορά των αρχείων που απαιτούνται κατά την εκκίνηση για να επιτραπεί η εκκίνηση των συστημάτων μέσω δικτύου.
Δείτε πώς μπορείτε να ρυθμίσετε έναν διακομιστή TFTP σε μια μηχανή Linux.
Τι είναι το TFTP;
Το TFTP εξακολουθεί να χρησιμοποιείται για σκοπούς μεταφοράς αρχείων και δεν υπάρχει θεμελιώδης αλλαγή στις δυνατότητες που υποστηρίζει. Το TFTP χρησιμοποιείται για τη λήψη και αποστολή αρχείων μέσω UDP/IP. Δεν έχει πρόσθετες λειτουργίες όπως έλεγχος ταυτότητας και εξουσιοδότησης, καταχώριση αρχείων, διαγραφή ή μετονομασία, οι οποίες συνήθως βρίσκονται σε άλλα πρωτόκολλα μεταφοράς αρχείων.
Σε αντίθεση με τα προηγμένα πρωτόκολλα μεταφοράς αρχείων που χρησιμοποιούν TCP στο επίπεδο μετάδοσης, λειτουργεί στο πρωτόκολλο UDP και δεν διαθέτει λειτουργίες όπως έλεγχος εάν τα πακέτα που ανήκουν στο αρχείο πηγαίνουν στο άλλο πλευρά. Λόγω αυτού του περιορισμού, είναι πιο κατάλληλο για χρήση σε τοπικά δίκτυα παρά στο διαδίκτυο ή σε δίκτυα ευρείας περιοχής.
Παρά όλα αυτά τα φαινομενικά αρνητικά χαρακτηριστικά που αναφέρονται παραπάνω, μια πτυχή του πρωτοκόλλου TFTP που είναι πολύ ισχυρή είναι η απλότητά του. Η υλοποίηση του πρωτοκόλλου είναι αρκετά εύκολη σε σύγκριση με τις εναλλακτικές του, ακόμη και για περιβάλλοντα που δεν έχουν λειτουργικό σύστημα πάνω τους. Λόγω αυτού του χαρακτηριστικού, έχει μεγάλη περιοχή χρήσης σε ενσωματωμένα συστήματα.
Εγκατάσταση διακομιστή TFTP σε Linux
Όταν εργάζεστε με ενσωματωμένες συσκευές, είναι σημαντικό να έχετε εγκατεστημένη την υπηρεσία διακομιστή TFTP. Σε συστήματα Linux, μπορούν να εκτελεστούν πολλές υλοποιήσεις διακομιστή TFTP. Εάν χρησιμοποιείτε ένα Διανομή που βασίζεται στο Debian, μπορείτε να εγκαταστήσετε το tftpd-hpa, tftpd, ή atftpd πακέτα. Εάν δεν είστε σίγουροι ποιο να επιλέξετε, σκεφτείτε να εγκαταστήσετε το πακέτο tftpd-hpa.
sudo apt-παίρνω εγκαταστήστε το tftpd-hpa
Μετά την εγκατάσταση, η υπηρεσία TFTP θα αρχίσει να ακούει τη θύρα UDP 69. Για να εξυπηρετήσετε τα αρχεία σε άλλα συστήματα μέσω του διακομιστή TFTP, πρέπει να έχετε υπόψη σας μερικές προϋποθέσεις:
- Αντιγραφή του απαιτούμενου αρχείου στον κεντρικό κατάλογο TFTP ή σε έναν κατάλογο κάτω από αυτόν τον αρχικό κατάλογο
- Κάνοντας τα δικαιώματα αρχείων ορατά στο κοινό
Για να μάθετε τι είναι ο κεντρικός κατάλογος διακομιστή TFTP, μπορείτε να δείτε το TFTP_DIRECTORY μεταβλητή στο /etc/default/tftpd-hpa αρχείο. Συνήθως, θα δείτε καταλόγους όπως /var/lib/tftpboot ή /srv/tftp. Εάν θέλετε, μπορείτε να αλλάξετε αυτόν τον κατάλογο και να επανεκκινήσετε την υπηρεσία.
γάτα /etc/Προκαθορισμένο/tftpd-hpa
Για ευκολία στη χρήση, εάν αλλάξετε τον κάτοχο του σχετικού οικιακού καταλόγου TFTP στο λογαριασμό χρήστη σας, δεν θα χρειαστεί να προσθέσετε το πρόθεμα sudo σε κάθε εντολή που εκτελείτε. Χρησιμοποιήστε την εντολή chown για να αλλάξετε την ιδιοκτησία από root στον τρέχοντα χρήστη:
sudo chown -R $USER /srv/tftp
Τα ονόματα πακέτων διακομιστή TFTP και οι προεπιλεγμένοι οικείοι κατάλογοι ενδέχεται να διαφέρουν ανάλογα με τη διανομή Linux που χρησιμοποιείται.
Αποστολή αρχείων με τον διακομιστή TFTP
Μερικές φορές υπάρχουν περιπτώσεις όπου το TFTP είναι η μόνη επιλογή για να μετακινήσετε ένα αρχείο από το δικό σας ενσωματωμένο σύστημα Linux προς το εξωτερικό περιβάλλον. Για παράδειγμα, μερικές φορές το σύστημα ενδέχεται να μην υποστηρίζει εγγράψιμο μέσο με το οποίο μπορείτε να μεταφέρετε το αρχείο.
Σε τέτοιες περιπτώσεις, δεδομένου ότι ο πελάτης TFTP πιθανότατα θα έχει μεταγλωττιστεί busybox, μπορείτε να στείλετε ένα αρχείο που είναι αποθηκευμένο στο σύστημα σε διακομιστή TFTP σε δίκτυο.
Για να χρησιμοποιήσετε την εφαρμογή πελάτη TFTP, εκδώστε το busybox tftp εντολή:
busybox tftp
Για να στείλετε ένα δείγμα αρχείου στον διακομιστή TFTP, πρέπει να χρησιμοποιήσετε μια εντολή όπως αυτή:
busyboxtftp-μεγάλοπαράδειγμα.αποθήκη-Π 192.168.1.100
Αν και η παραπάνω εντολή είναι σωστή, θα εμφανιστεί ένα σφάλμα κατά τη μεταφορά του αρχείου στον διακομιστή TFTP. Δεδομένου ότι το μήνυμα σφάλματος που επιστράφηκε δεν είναι αυτονόητο, είναι δύσκολο να κατανοήσουμε ποιο είναι το πραγματικό πρόβλημα.
Το πρόβλημα εδώ οφείλεται σε ορισμένες διαδικασίες ασφαλείας στον διακομιστή TFTP. Το TFTP απαιτεί ένα αρχείο με το ίδιο όνομα να βρίσκεται στον κατάλογο όπου θα γραφτεί το αρχείο ως προϋπόθεση για τη μεταφόρτωση αρχείου και ότι η πρόσβαση εγγραφής για αυτό το αρχείο θα πρέπει να είναι διαθέσιμη Ολοι.
Με άλλα λόγια, δεν είναι δυνατό να ανεβάσετε ένα αρχείο που δεν υπάρχει στον διακομιστή TFTP μέσω πελατών TFTP. Εάν δημιουργήσετε ένα κενό αρχείο με το ίδιο όνομα και επεξεργαστείτε τα δικαιώματα πρόσβασής του, η παραπάνω διαδικασία μεταφόρτωσης θα είναι επιτυχής. Για αυτό, πρέπει να εκτελέσετε τις ακόλουθες εντολές στον σχετικό κεντρικό κατάλογο διακομιστή TFTP:
CD /srv/tftp
αφήπαράδειγμα.αποθήκη
chmod 666 παράδειγμα.αποθήκη
Τώρα μπορείτε να εκτελέσετε τη μεταφόρτωσή σας με επιτυχία.
Είναι επίσης δυνατό να απενεργοποιήσετε το παραπάνω μέτρο ασφαλείας και να ζητήσετε από τον διακομιστή TFTP να δημιουργήσει ένα αρχείο που δεν υπάρχει. Για αυτό, μπορείτε να χρησιμοποιήσετε το -ντο ή --δημιουργώ παράμετρος κατά την εκκίνηση του tftpd-hpa εφαρμογή. Αρκεί να προστεθεί αυτή η παράμετρος στην υπάρχουσα TFTPD_OPTIONS μεταβλητή στο /etc/default/tftpd-hpa αρχείο:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--ασφαλής --δημιουργώ"
Γιατί να χρησιμοποιήσετε έναν διακομιστή TFTP για μεταφορά αρχείων;
Το πιο σημαντικό πλεονέκτημα του TFTP είναι ότι είναι γρήγορο και σας βοηθά να εξοικονομήσετε χρόνο. Είναι μια ιδανική επιλογή για τη μεταφορά αρχείων διαμόρφωσης συσκευών δικτύου σε άλλα συστήματα. Επιπλέον, έχει πολύ απλά κριτήρια χρήσης. Λειτουργεί άνετα με λογισμικό τόσο σε λειτουργικά συστήματα που βασίζονται σε Windows όσο και σε Linux. Τέλος, το TFTP είναι πάντα εκεί για να σώσει την ημέρα σε καταστάσεις όπου δεν μπορείτε τεχνικά να χρησιμοποιήσετε το FTP.
Το μεγαλύτερο μειονέκτημα είναι φυσικά ότι δεν είναι ασφαλές. Επομένως, πρέπει να είστε πολύ προσεκτικοί κατά τη μεταφορά αρχείων χρησιμοποιώντας διακομιστή TFTP.
Εκτός από τις μεταφορές αρχείων, δεν μπορείτε να εκτελέσετε λειτουργίες όπως διαγραφή, επεξεργασία και τροποποίηση αρχείων χρησιμοποιώντας έναν διακομιστή TFTP. Αυτή η δυνατότητα είναι ένα σημαντικό μειονέκτημα για όσους χρησιμοποιούν ή αναζητούν προηγμένα συστήματα. Τέλος, δεν απαιτεί έλεγχο ταυτότητας, το οποίο είναι ένα σημαντικό μειονέκτημα εάν είστε σοβαροί για την ασφάλειά σας.
Ρύθμιση TFTP σε άλλα λειτουργικά συστήματα
Εάν πρόκειται να χρησιμοποιήσετε το TFTP στα Windows, δεν χρειάζεται να εγκαταστήσετε λογισμικό τρίτου κατασκευαστή. Μπορείτε να ενεργοποιήσετε το TFTP με την επιλογή Ενεργοποίηση ή απενεργοποίηση των δυνατοτήτων των Windows στον πίνακα ελέγχου.