Cum se configurează un server TFTP pe un server Ubuntu cu tftpd-hpa

Instalați serverul tftpd-hpa și clientul tftp-hpa din Ubuntu . Această configurare servește fișiere dintr- /srv/tftpun director separat și păstrează încărcările într-un astfel de director. Verificați lista de pachete a serverului și a pachetelor clientului Ubuntu .

Securitate: TFTP nu are login sau criptare. Restricționează accesul la o rețea locală de încredere; clienții accesibili pot citi fișierele disponibile și pot încărca acolo unde permisiunile permit. Nu transferă secrete. Specificația TFTP descrie limitele sale de securitate.

Configurați serverul TFTP

1. Instalați serverul și clientul

Reîmprospătați metadatele APT, apoi instalați ambele pachete:

sudo apt update
sudo apt install tftpd-hpa tftp-hpa
Terminalul serverului Ubuntu afișează comanda pentru instalarea tftpd-hpa și tftp-hpa
Instalați pachetele server și client.

2. Configurați rădăcina TFTP

Editați fișierul de configurare a pachetului:

sudo nano /etc/default/tftpd-hpa

Setați aceste valori:

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

--securelimitează daemonul la rădăcina configurată, --createpermite încărcările și --umask 027limitează fișierele noi încărcate la modul 0640. Manualul Ubuntu tftpd documentează aceste opțiuni. Salvați cu Ctrl+O, apăsați Enter, apoi Ctrl+X.

Deoarece --secureface ca /srv/tftprădăcina să fie vizibilă clientului, numele fișierelor sunt relative la aceasta: utilizați hello.txt, nu /srv/tftp/hello.txt. Clienții TFTP nu răsfoiesc directoarele, așadar păstrați o listă cu numele fișierelor publicate și căile acestora.

Editorul de terminal afișează configurarea tftpd-hpa cu root-ul /srv/tftp, modul securizat, încărcările și umask 027
Limitează fișierele și setează masca de încărcare.

3. Creați directorul rădăcină și directorul de încărcare

Păstrați directorul principal root deținut de root și acordați acces de scriere doar la folderul de încărcare:

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

Daemonul poate citi rădăcina, dar numai tftpcontul poate scrie în ea /srv/tftp/upload. Evitați să faceți întregul arbore permis de scriere de către întreaga lume cu permisiuni precum 777.

Fișierele din rădăcina publică ar trebui tratate ca fiind lizibile de către fiecare client permis. Păstrați arborele respectiv limitat la imagini de boot, firmware sau alte materiale destinate rețelei respective. Pentru transferuri private, alegeți un protocol cu ​​autentificare și criptare.

Terminal Ubuntu creează /srv/tftp/upload cu utilizatorul, grupul și modul tftp 0750
Doar subdirectorul de încărcare este permis să se scrie.

4. Adăugați un fișier pentru a fi servit

Creați un fișier cunoscut în rădăcină. Verificările implicite de citire ale TFTP necesită ca fișierele servite să fie lizibile public, așadar setați modul 0644:

echo 'TFTP test file' | sudo tee /srv/tftp/hello.txt
sudo chmod 0644 /srv/tftp/hello.txt
Terminalul serverului Ubuntu scrie fișierul hello.txt în /srv/tftp și setează permisiunile fișierului la 0644
Creați un fișier cunoscut pentru testul de descărcare.

5. Activați și reporniți serviciul

Activați unitatea la pornire, reporniți-o pentru a aplica setările și verificați starea acesteia:

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

Dacă pornirea eșuează, verificați jurnalul de service cu sudo journalctl -u tftpd-hpa -b --no-pager.

Comenzi de terminal Ubuntu Server pentru activarea, repornirea și inspectarea serviciului tftpd-hpa
Reporniți serviciul după modificarea setărilor acestuia.

6. Limitați accesul la firewall

Dacă UFW este activat, permiteți solicitarea inițială doar din subrețeaua clientului. Înlocuiți rețeaua exemplu cu intervalul LAN de încredere:

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

Consultați ghidul UFW al Ubuntu pentru regulile rețelei sursă. TFTP pornește pe portul UDP 69, apoi utilizează un port UDP selectat de server pentru datele fișierelor, așa cum este descris în specificația protocolului . Un firewall, un router sau un dispozitiv NAT strict poate permite solicitarea, dar poate bloca transferul. Dacă timpul de așteptare pentru clienți expiră, utilizați urmărirea conexiunilor compatibile cu TFTP sau o politică de firewall adecvată; nu deschideți fiecare port UDP și nu expuneți TFTP la internet. Această comandă adaugă o regulă; nu activează UFW. Dacă administrați serverul prin SSH și intenționați să activați un firewall inactiv, permiteți mai întâi SSH pentru a păstra accesul la distanță.

Comanda UFW care permite doar portul UDP 69 din exemplul de subrețea 192.168.1.0/24
Permiteți solicitări inițiale de la o subrețea de încredere.

Testează descărcările și încărcările

7. Descărcați de pe un client Ubuntu

Pe server, rulați ip -brief addressși notați adresa LAN accesibilă. Pe un client Ubuntu, instalați clientul dacă este necesar. Înlocuiți 192.0.2.10mai jos cu adresa reală a serverului:

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

Fișierul este salvat în directorul curent al clientului. Documentele manuale ale clientului tftpbinary Ubuntu și get. Modul binar este recomandat pentru firmware, imagini de boot și fișiere ai căror octeți trebuie să rămână neschimbați. Numele de fișiere Linux sunt sensibile la majuscule/minuscule, așa că introduceți exact fiecare nume de la distanță.

Terminalul client TFTP se conectează la serverul exemplu și descarcă hello.txt în mod binar
Solicitați fișierul cunoscut în mod binar.

8. Încărcați în folderul restricționat

Pe client, creați un fișier de test, apoi trimiteți-l către o cale din directorul de încărcare al serverului:

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

Folosește adresa reală a serverului. Calea la distanță este relativă la /srv/tftp; verifică încărcarea pe server cu sudo ls -l /srv/tftp/upload/. Clienții TFTP folosesc nume de fișiere cunoscute în loc să răsfoiască o listă de directoare.

Terminalul client TFTP trimite fișierul upload-check.txt către upload/upload-check.txt în mod binar
Încărcările rămân în subdirectorul în care se poate scrie.

Depanarea erorilor frecvente

  • Fișier negăsit: Verificați numele fișierului relativ la /srv/tftpși confirmați că există.
  • Încălcare de acces: Faceți fișierele servite accesibile publicului; pentru încărcări, verificați tftpproprietatea destinației și confirmați --createcă este setată.
  • Expirare: Confirmați că clientul folosește adresa accesibilă a serverului, serviciul este activ și firewall-ul permite fluxul de date UDP negociat.

Pentru a izola o problemă de rețea, testați mai întâi de la un client din aceeași rețea locală. Dacă funcționează, dar un client rutat expiră, verificați dacă routerul sau firewall-ul gestionează portul de date negociat cu funcție TFTP.

Pentru un serviciu doar pentru citire, eliminați --createdin TFTP_OPTIONSși reporniți tftpd-hpa.

Lasă un comentariu

Cum să recuperați în siguranță partițiile pierdute și datele de pe hard disk

Cum să recuperați în siguranță partițiile pierdute și datele de pe hard disk

Învață cum să recuperezi partiții și fișiere pierdute cu TestDisk și PhotoRec. Protejează unitatea sursă, scanează în siguranță și salvează datele recuperate pe un alt disc.

Cum se scanează coduri QR pe ​​un desktop Linux

Cum se scanează coduri QR pe ​​un desktop Linux

Scanați coduri QR pe ​​Linux cu CoBang folosind o cameră web sau un fișier imagine. Consultați opțiunile de instalare, pașii de configurare și remedierile pentru accesul la camera Flatpak.

Cum se modifică setările camerei web pe Linux cu Cameractrls

Cum se modifică setările camerei web pe Linux cu Cameractrls

Schimbați setările camerei web pe Linux cu Cameractrls: reglați expunerea, culoarea, reducerea pâlpâirii și alte controale acceptate, apoi verificați modurile video compatibile.

Cum se instalează PHPStorm pe Linux: Toolbox, Tar.gz, Snap și AUR

Cum se instalează PHPStorm pe Linux: Toolbox, Tar.gz, Snap și AUR

Instalați PhpStorm pe Linux cu JetBrains Toolbox sau arhiva independentă tar.gz, plus opțiunile Snap și Arch AUR. Java este deja inclus.

Cum se configurează panouri duale pe XFCE 4

Cum se configurează panouri duale pe XFCE 4

Creați un panou XFCE 4 separat pentru fiecare afișaj, atribuiți al doilea panou ieșirii corecte, poziționați-l și dimensionați-l și adăugați lansatoarele și elementele de stare de care aveți nevoie.

Cum se instalează Cisco Packet Tracer pe Linux

Cum se instalează Cisco Packet Tracer pe Linux

Descărcați Cisco Packet Tracer 9.0.1 pentru Ubuntu pe 64 de biți, instalați pachetul DEB cu APT, acceptați licența în Terminal și conectați-vă pentru a începe un laborator.

Cum se face o copie de rezervă a unui CD-ROM ca fișier ISO pe Linux

Cum se face o copie de rezervă a unui CD-ROM ca fișier ISO pe Linux

Creați un fișier ISO CD-ROM pe Linux cu GNOME Disks sau dd. Identificați unitatea optică, monitorizați copia, verificați imaginea și aflați când un disc deteriorat sau audio necesită un alt instrument.

Cum să decupezi o imagine pe Linux cu GIMP

Cum să decupezi o imagine pe Linux cu GIMP

Eliminați fundalul unei fotografii pe Linux cu GIMP: trasați un subiect, ștergeți fundalul selectat, păstrați transparența și exportați un fișier PNG reutilizabil.

Descărcați FlightGear gratuit: Ghid oficial de instalare

Descărcați FlightGear gratuit: Ghid oficial de instalare

Descarcă FlightGear gratuit de pe site-ul oficial. Compară pachetele Windows, macOS și Linux, instalează fișierele de date și începe primul tău zbor.

Aplicația desktop Google Tasks: Cum se utilizează pe computer

Aplicația desktop Google Tasks: Cum se utilizează pe computer

Deschide Google Tasks într-un browser, adaugă o comandă rapidă pentru Chrome sau o lansare în stilul aplicației și gestionează activitățile de făcut în avans prin Calendar și Gmail.