Protokół TFTP (Trivial File Transfer Protocol) został po raz pierwszy opisany w 1980 roku. Jest to dość stary protokół opublikowany w czerwcu 1981 jako TFTP Protocol rewizja 2 w RFC 783 (Request For Comments) autorstwa Karen R. Sollinsa.
Na początku głównym celem TFTP było wysyłanie i odbieranie plików przez sieć. W szczególności był używany do przesyłania plików potrzebnych podczas rozruchu, aby umożliwić uruchamianie systemów przez sieć.
Oto jak skonfigurować serwer TFTP na komputerze z systemem Linux.
Co to jest TFTP?
Protokół TFTP jest nadal używany do celów przesyłania plików i nie ma zasadniczej zmiany w obsługiwanych funkcjach. Protokół TFTP służy do pobierania i wysyłania plików przez UDP/IP. Nie ma żadnych dodatkowych funkcji, takich jak kontrola tożsamości i autoryzacji, lista plików, usuwanie lub zmiana nazwy, które zwykle znajdują się w innych protokołach przesyłania plików.
W przeciwieństwie do zaawansowanych protokołów przesyłania plików, które wykorzystują TCP w warstwie transmisji, działa na protokole UDP i nie ma funkcji, takich jak sprawdzanie, czy pakiety należące do pliku trafiają do drugiego pliku bok. Z powodu tego ograniczenia jest bardziej odpowiedni do użytku w sieciach lokalnych niż w Internecie lub sieciach rozległych.
Pomimo wszystkich tych pozornie negatywnych cech wymienionych powyżej, jednym z bardzo silnych aspektów protokołu TFTP jest jego prostota. Implementacja protokołu jest dość łatwa w porównaniu do jego alternatyw, nawet w środowiskach, w których nie ma systemu operacyjnego. Dzięki tej funkcji ma szerokie zastosowanie w systemach wbudowanych.
Instalowanie serwera TFTP w systemie Linux
Podczas pracy z urządzeniami wbudowanymi ważne jest, aby mieć zainstalowaną usługę serwera TFTP. W systemach Linux można uruchomić kilka implementacji serwera TFTP. Jeśli używasz Dystrybucja oparta na Debianie, możesz zainstalować tftpd-hpa, tftpd, lub atftpd pakiety. Jeśli nie jesteś pewien, który wybrać, rozważ zainstalowanie pakietu tftpd-hpa.
sudo apt-Dostawać zainstaluj tftpd-hpa
Po instalacji usługa TFTP zacznie nasłuchiwać port UDP 69. Aby udostępniać pliki innym systemom za pośrednictwem serwera TFTP, należy pamiętać o kilku warunkach wstępnych:
- Skopiowanie wymaganego pliku do katalogu domowego TFTP lub katalogu poniżej tego katalogu domowego
- Udostępnianie uprawnień do plików publicznie
Aby dowiedzieć się, jaki jest katalog domowy serwera TFTP, możesz spojrzeć na KATALOG_TFTP zmienna w /etc/default/tftpd-hpa plik. Zwykle zobaczysz katalogi takie jak /var/lib/tftpboot lub /srv/tftp. Jeśli chcesz, możesz zmienić ten katalog i ponownie uruchomić usługę.
kot /itd/domyślna/tftpd-hpa
Aby ułatwić korzystanie, jeśli zmienisz właściciela odpowiedniego katalogu domowego TFTP na swoje konto użytkownika, nie będziesz musiał dodawać przedrostka sudo do każdego uruchamianego polecenia. Użyj polecenia chown, aby zmienić własność z roota na bieżącego użytkownika:
sudo chown -R $USER /srv/tftp
Nazwy pakietów serwera TFTP i domyślne katalogi domowe mogą się różnić w zależności od używanej dystrybucji systemu Linux.
Wysyłanie plików z serwerem TFTP
Czasami zdarzają się sytuacje, w których TFTP jest jedyną opcją przeniesienia pliku z twojego wbudowany system Linux do środowiska zewnętrznego. Na przykład czasami system może nie obsługiwać żadnych zapisywalnych nośników, za pomocą których można przesłać plik.
W takich przypadkach, ponieważ klient TFTP prawdopodobnie zostanie skompilowany w zajęta skrzynka, możesz wysłać plik zapisany w systemie na serwer TFTP w sieci.
Aby korzystać z aplikacji klienta TFTP, wydaj tftp zajęty Komenda:
tftp zajęty
Aby wysłać przykładowy plik na serwer TFTP, musisz użyć polecenia takiego:
zajęta skrzynkatftp-Iprzykład.kosz-p 192.168.1.100
Chociaż powyższe polecenie jest poprawne, podczas przesyłania pliku na serwer TFTP wystąpi błąd. Ponieważ zwrócony komunikat o błędzie nie jest oczywisty, trudno jest zrozumieć, na czym polega prawdziwy problem.
Problem wynika z pewnych procedur bezpieczeństwa na serwerze TFTP. TFTP wymaga, aby plik o tej samej nazwie znajdował się w katalogu, w którym plik zostanie zapisany jako warunek wstępny przesyłania pliku i aby dostęp do zapisu tego pliku był dostępny dla każdy.
Innymi słowy, za pośrednictwem klientów TFTP nie można przesłać pliku, który nie istnieje na serwerze TFTP. Jeśli utworzysz pusty plik o tej samej nazwie i zmodyfikujesz jego prawa dostępu, powyższy proces przesyłania zakończy się sukcesem. W tym celu należy uruchomić następujące polecenia w odpowiednim katalogu domowym serwera TFTP:
płyta CD /srv/tftp
dotykaćprzykład.kosz
chmod 666 przykład.kosz
Teraz możesz pomyślnie wykonać przesyłanie.
Możliwe jest również wyłączenie powyższego zabezpieczenia i zlecenie serwerowi TFTP utworzenia pliku, który nie istnieje. W tym celu możesz użyć -c lub --Stwórz parametr przy uruchamianiu tftpd-hpa aplikacja. Wystarczy dodać ten parametr do istniejącego TFTPD_OPTIONS zmienna w /etc/default/tftpd-hpa plik:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
KATALOG_TFTP="/srv/tftp"
ADRES_TFTP="0.0.0.0:69"
OPCJE_TFTP="--secure --create"
Dlaczego warto korzystać z serwera TFTP do przesyłania plików?
Najważniejszą zaletą TFTP jest szybkość i oszczędność czasu. Jest to idealna opcja do przenoszenia plików konfiguracyjnych urządzeń sieciowych do innych systemów. Ponadto ma bardzo proste kryteria użytkowania. Współpracuje wygodnie z oprogramowaniem w systemach operacyjnych Windows i Linux. Wreszcie, TFTP jest zawsze dostępny, aby uratować sytuację w sytuacjach, w których technicznie nie można korzystać z FTP.
Największą wadą jest oczywiście to, że nie jest bezpieczna. Dlatego musisz zachować szczególną ostrożność podczas przesyłania plików za pomocą serwera TFTP.
Oprócz przesyłania plików nie można wykonywać funkcji, takich jak usuwanie plików, edytowanie i modyfikowanie za pomocą serwera TFTP. Ta cecha jest główną wadą dla tych, którzy używają lub poszukują zaawansowanych systemów. Wreszcie, nie wymaga uwierzytelniania, co jest poważną wadą, jeśli poważnie podchodzisz do swojego bezpieczeństwa.
Konfigurowanie protokołu TFTP w innych systemach operacyjnych
Jeśli zamierzasz korzystać z protokołu TFTP w systemie Windows, nie musisz instalować żadnego oprogramowania innych firm. TFTP można włączyć za pomocą opcji Włącz lub wyłącz funkcje systemu Windows w panelu sterowania.