Jak skonfigurować serwer TFTP na serwerze Ubuntu z tftpd-hpa

Zainstaluj serwer tftpd-hpa i klienta tftp-hpa w Ubuntu . Ta konfiguracja udostępnia pliki /srv/tftpi przechowuje je w oddzielnym katalogu. Sprawdź listę pakietów serwera i klienta Ubuntu .

Bezpieczeństwo: TFTP nie wymaga logowania ani szyfrowania. Ogranicz dostęp do zaufanej sieci LAN; dostępni klienci mogą odczytywać dostępne pliki i przesyłać je tam, gdzie pozwalają na to uprawnienia. Nie przesyłaj poufnych informacji. Specyfikacja TFTP opisuje ograniczenia bezpieczeństwa.

Skonfiguruj serwer TFTP

1. Zainstaluj serwer i klienta

Odśwież metadane APT, a następnie zainstaluj oba pakiety:

sudo apt update
sudo apt install tftpd-hpa tftp-hpa
Terminal serwera Ubuntu pokazujący polecenie instalacji tftpd-hpa i tftp-hpa
Zainstaluj pakiety serwera i klienta.

2. Skonfiguruj katalog główny TFTP

Edytuj plik konfiguracji pakietu:

sudo nano /etc/default/tftpd-hpa

Ustaw te wartości:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure --create --umask 027"

--secureOgranicza demona do skonfigurowanego katalogu głównego, --createzezwala na przesyłanie plików i --umask 027ogranicza nowe pliki do trybu 0640. Instrukcja obsługi tftpd w systemie Ubuntu opisuje te opcje. Zapisz za pomocą Ctrl+O, naciśnij Enter, a następnie Ctrl+X.

Ponieważ --securepowoduje, że /srv/tftpklient widzialny jest katalog główny, nazwy plików są do niego względne: należy używać hello.txt, a nie /srv/tftp/hello.txt. Klienci TFTP nie przeglądają katalogów, dlatego należy przechowywać listę opublikowanych nazw plików i ich ścieżek.

Edytor terminala pokazujący tftpd-hpa skonfigurowany z katalogiem głównym /srv/tftp, trybem bezpiecznym, przesyłaniem i maską umask 027
Ogranicz pliki i ustaw maskę przesyłania.

3. Utwórz katalog główny i katalog do przesłania

Pozostaw główny katalog jako własność roota i przyznaj dostęp tylko do zapisu w folderze przesyłania:

sudo install -d -o root -g root -m 0755 /srv/tftp
sudo install -d -o tftp -g tftp -m 0750 /srv/tftp/upload

Demon może odczytać katalog główny, ale tylko tftpkonto może zapisywać w /srv/tftp/upload. Unikaj ustawiania całego drzewa jako dostępnego dla wszystkich użytkowników za pomocą uprawnień takich jak 777.

Pliki w publicznym katalogu głównym powinny być traktowane jako możliwe do odczytu przez każdego uprawnionego klienta. Ogranicz to drzewo do obrazów rozruchowych, oprogramowania układowego lub innych materiałów przeznaczonych dla danej sieci. W przypadku transferów prywatnych wybierz protokół z uwierzytelnianiem i szyfrowaniem.

Terminal Ubuntu tworzy /srv/tftp/upload z użytkownikiem, grupą i trybem tftp 0750
Zapisywalny jest tylko podkatalog upload.

4. Dodaj plik do udostępnienia

Utwórz znany plik w katalogu głównym. Domyślne sprawdzanie odczytu protokołu TFTP wymaga, aby udostępniane pliki były publicznie czytelne, dlatego ustaw tryb 0644:

echo 'TFTP test file' | sudo tee /srv/tftp/hello.txt
sudo chmod 0644 /srv/tftp/hello.txt
Terminal serwera Ubuntu zapisuje plik hello.txt w /srv/tftp i ustawia uprawnienia pliku na 0644
Utwórz znany plik na potrzeby testu pobierania.

5. Włącz i uruchom ponownie usługę

Włącz urządzenie podczas rozruchu, uruchom je ponownie, aby zastosować ustawienia i sprawdź jego stan:

sudo systemctl enable tftpd-hpa
sudo systemctl restart tftpd-hpa
sudo systemctl status tftpd-hpa --no-pager

Jeśli uruchomienie się nie powiedzie, sprawdź dziennik serwisowy za pomocą sudo journalctl -u tftpd-hpa -b --no-pager.

Polecenia terminala serwera Ubuntu umożliwiające włączenie, ponowne uruchomienie i sprawdzenie usługi tftpd-hpa
Po zmianie ustawień należy ponownie uruchomić usługę.

6. Ogranicz dostęp do zapory sieciowej

Jeśli UFW jest włączone, zezwól na początkowe żądanie tylko z podsieci klienta. Zastąp przykładową sieć zakresem zaufanej sieci LAN:

sudo ufw allow from 192.168.1.0/24 to any port 69 proto udp
sudo ufw status

Zapoznaj się z podręcznikiem UFW w Ubuntu , aby zapoznać się z regułami sieci źródłowej. Protokół TFTP rozpoczyna się na porcie UDP 69, a następnie używa portu UDP wybranego przez serwer do przesyłania danych plików, zgodnie z opisem w specyfikacji protokołu . Ścisła zapora sieciowa, router lub urządzenie NAT może zezwolić na żądanie, ale zablokować transfer. Jeśli klient przekroczy limit czasu, użyj śledzenia połączeń z obsługą TFTP lub odpowiedniej polityki zapory sieciowej; nie otwieraj wszystkich portów UDP ani nie udostępniaj TFTP do internetu. To polecenie dodaje regułę; nie włącza UFW. Jeśli administrujesz serwerem przez SSH i zamierzasz włączyć nieaktywną zaporę sieciową, najpierw zezwól na SSH, aby zachować zdalny dostęp.

Polecenie UFW zezwalające tylko na port UDP 69 z przykładowej podsieci 192.168.1.0/24
Zezwól na początkowe żądania z zaufanej podsieci.

Testowanie pobierania i przesyłania

7. Pobierz z klienta Ubuntu

Na serwerze uruchom ip -brief addressi zanotuj jego osiągalny adres LAN. Na kliencie Ubuntu zainstaluj klienta, jeśli to konieczne. Zastąp 192.0.2.10poniższy adres prawdziwym adresem serwera:

sudo apt install tftp-hpa
tftp 192.0.2.10
tftp> binary
tftp> get hello.txt
tftp> quit

Plik jest zapisywany w bieżącym katalogu klienta. Dokumenty i instrukcje obsługi klienta tftp Ubuntu . Tryb binarny jest zalecany w przypadku oprogramowania sprzętowego, obrazów rozruchowych i plików, których bajty muszą pozostać niezmienione. Nazwy plików w systemie Linux rozróżniają wielkość liter, dlatego należy dokładnie wpisać każdą nazwę zdalną.binaryget

Terminal klienta TFTP łączący się z serwerem przykładowym i pobierający plik hello.txt w trybie binarnym
Zażądaj znanego pliku w trybie binarnym.

8. Prześlij do folderu z ograniczeniami

Na kliencie utwórz plik testowy, a następnie prześlij go do ścieżki w katalogu przesyłania na serwerze:

printf 'Upload test' > upload-check.txt
tftp 192.0.2.10
tftp> binary
tftp> put upload-check.txt upload/upload-check.txt
tftp> quit

Użyj rzeczywistego adresu serwera. Ścieżka zdalna jest względna do /srv/tftp; zweryfikuj przesłanie na serwerze za pomocą sudo ls -l /srv/tftp/upload/. Klienci TFTP używają znanych nazw plików zamiast przeglądać listę katalogów.

Terminal klienta TFTP wysyłający upload-check.txt do upload/upload-check.txt w trybie binarnym
Przesłane pliki pozostają w podkatalogu z możliwością zapisu.

Rozwiązywanie typowych błędów

  • Nie znaleziono pliku: Sprawdź nazwę względną pliku /srv/tftpi potwierdź, że on istnieje.
  • Naruszenie dostępu: Udostępnij udostępniane pliki publicznie do odczytu; w przypadku przesyłania sprawdź tftpwłasność miejsca docelowego i upewnij się, --createże jest ustawiona.
  • Limit czasu: sprawdź, czy klient używa dostępnego adresu serwera, usługa jest aktywna i zapora zezwala na wynegocjowany przepływ danych UDP.

Aby wyizolować problem z siecią, najpierw przetestuj połączenie z poziomu klienta w tej samej sieci LAN. Jeśli to zadziała, ale klient z routingiem przekroczy limit czasu, sprawdź router lub zaporę sieciową pod kątem obsługi negocjowanego portu danych przez protokół TFTP.

W przypadku usługi tylko do odczytu usuń ją --createz programu TFTP_OPTIONSi uruchom ponownie tftpd-hpa.

Zostaw komentarz

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Dowiedz się, jak odzyskać utracone partycje i pliki za pomocą TestDisk i PhotoRec. Zabezpiecz dysk źródłowy, przeskanuj go bezpiecznie i zapisz odzyskane dane na innym dysku.

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Skanuj kody QR w systemie Linux za pomocą CoBang, używając kamery internetowej lub pliku obrazu. Zobacz opcje instalacji, kroki konfiguracji i poprawki dotyczące dostępu do kamery Flatpak.

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Zmień ustawienia kamery internetowej w systemie Linux za pomocą narzędzia Cameractrls: dostosuj ekspozycję, kolor, redukcję migotania i inne obsługiwane elementy sterujące, a następnie sprawdź zgodne tryby wideo.

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Zainstaluj PhpStorm na Linuksie za pomocą JetBrains Toolbox lub samodzielnego archiwum tar.gz, a także opcji Snap i Arch AUR. Java jest już dołączona.

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Usuń tło zdjęcia w systemie Linux za pomocą programu GIMP: narysuj obiekt, usuń wybrane tło, zachowaj przezroczystość i wyeksportuj plik PNG, który można ponownie wykorzystać.

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Utwórz obraz ISO płyty CD-ROM w systemie Linux za pomocą GNOME Disks lub dd. Zidentyfikuj napęd optyczny, monitoruj kopiowanie, zweryfikuj obraz i dowiedz się, kiedy uszkodzona płyta lub płyta audio wymaga użycia innego narzędzia.

Jak skonfigurować dwa panele w środowisku XFCE 4

Jak skonfigurować dwa panele w środowisku XFCE 4

Utwórz oddzielny panel XFCE 4 dla każdego wyświetlacza, przypisz drugi panel do odpowiedniego wyjścia, określ jego położenie i rozmiar, a następnie dodaj potrzebne elementy uruchamiające i statusu.

Jak zainstalować Cisco Packet Tracer w systemie Linux

Jak zainstalować Cisco Packet Tracer w systemie Linux

Pobierz Cisco Packet Tracer 9.0.1 dla systemu Ubuntu 64-bit, zainstaluj pakiet DEB za pomocą APT, zaakceptuj licencję w terminalu i zaloguj się, aby rozpocząć laboratorium.

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo z oficjalnej strony. Porównaj pakiety dla systemów Windows, macOS i Linux, zainstaluj pliki danych i rozpocznij swój pierwszy lot.

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler mapuje klipy MP3 na klawisze klawiatury i umożliwia zapętlanie dźwięku. Dowiedz się, co robi ten starszy, darmowy program, gdzie kończą się jego stare funkcje i co sprawdzić przed pobraniem.