Sun Microsystems' NFS (Network File System) er en RPC-baseret distribueret filsystemstruktur, der tillader netværksenheder at bruge servere, der kører NFS over et netværk som deres lokale drev.

Her er en trin-for-trin guide til opsætning og konfiguration af en NFS-server på en Linux-maskine.

Hvad er netværksfilsystem?

NFS-filsystemet har fire protokoller. Når serveren er klar, giver den portmap (serveren, der konverterer protokol til portnumre) besked om den port, der skal bruges, og giver det kontrollerede RPC-programnummer.

Når du bruger et indlejret Linux-system, er det meget praktisk at starte din enhed via en NFS-filshare over netværket i stedet for at starte det direkte fra lagerenheden (NAND flash, eMMC, MMC, etc.).

Selvom det er sjældnere, vil du måske også montere en NFS-share og udføre fildelinger ved hjælp af den, efter at systemet er startet op, selvom du ikke starter dit system direkte fra NFS-sharet. For at begge scenarier skal fungere, skal du først installere en NFS-server på den computer, du udvikler på.

instagram viewer

Sådan installeres NFS på Linux

Hvis du bruger en Debian-baseret system såsom Ubuntu eller Linux Mint, bør du installere nfs-kerne-server pakke som følger:

sudo apt installere nfs-kerne-server

På Arch Linux:

sudo pacman -S nfs-utils

På Fedora, CentOS og RHEL:

sudo dnf -y installere nfs-utils

I slutningen af ​​processen vil din NFS-server køre automatisk. Men på dette tidspunkt ved den endnu ikke, hvilke mapper på din computer du vil dele over netværket. Derfor giver det ikke nogen deling som standard.

Du kan åbne flere mapper på den samme server for at tillade netværksdeling med forskellige autorisationer og begrænsninger.

Konfiguration af NFS-serveren på Linux

For at dele en mappe over NFS-serveren er det nødvendigt at konfigurere en mapperelateret indstilling i /etc/exports fil. Åbn filen med en teksteditor efter eget valg. Sørg for at tilføje sudo-præfikset til kommandoen.

sudo vim /etc/eksport

Du undrer dig måske over, hvad de kortlægningsmuligheder, du ser her, betyder:

  • root_squash: Markerer sudo-autoriserede klientbrugere som ingen bruger og gruppe på NFS
  • no_root_squash: Deaktiverer root squashing
  • alle_squash: I modsætning til root_squash tillader det alle brugere at blive kortlagt som ingen bruger og gruppe. Det bruges generelt til offentlig adgang.
  • no_all_squash: Det modsatte af all_squash; denne indstilling er standard

Når et system uden for de IP-områder, du tillader i filen /etc/exports på NFS-serveren, forsøger at få adgang til den relevante ressource, vil NFS-serveren afvise anmodningen.

Du kan modtage "adgang nægtet af server"-meddelelser, mens du monterer på dit indlejrede system. Fejlmeddelelser, der ligner følgende, vises i slutningen af /var/log/syslog fil på den computer, hvor NFS-serveren kører:

rpc.mountd[1041]: afvist monteringsanmodning fra192.168.2.2til /home/example/casper/target (/home/eksempel/casper/mål): uovertruffen vært

Når du ser en uovertruffen værtslogmeddelelse som den ovenfor, skal du udvide IP/netmaske-sektionen i den relevante regel i filen /etc/exports eller bruge stjerne (*) specialtegn, hvis du vil give adgang til alle IP-adresser.

Du skal genstarte NFS-tjenesten efter at have foretaget ændringer af /etc/exports fil:

sudo service nfs-kernel-server genstart

Eller, hvis din distro leveres med systemctl, skal du køre følgende kommando:

sudosystemctlgenstartnfs-server.service

Du kan også give -r parameter til eksportfs kommando, så den gendeler mapper, der har ændret indstillinger relateret til delingen:

sudo exportfs -r

Løsning af monteringsforsinkelsesproblemet

Når du bruger NFS-protokol version 4 og nyere på din server, kan der være forsinkelser på op til 15 sekunder under monteringsprocessen på klientsiden i traditionelle driftsscenarier med standardkonfigurationerne for NFS server. Dette problem kan forekomme på nogle versioner af Debian, Fedora og Ubuntu.

Hvis du oplever en lignende monteringsforsinkelse, kan du tjek logfilerne på serversiden (/var/log/syslog, /var/log/messages) for en logmeddelelse, der ligner følgende:

... RPC: AUTH_GSS upcall timeout

Denne meddelelse angiver, at Kerberos-godkendelse mislykkedes og fik timeout. Du har sandsynligvis ikke brug for Kerberos-protokollen til sikkerhedsgodkendelse på netværket i dit miljø. Selvom du er på et netværk konfigureret på denne måde, i det mindste med dine indlejrede Linux-systemer, behøver du ikke at aktivere Kerberos-godkendelse.

Selvom der er blevet tilbudt alternativer til at køre GSSD-tjenesten med NFS for at løse problemet, har disse fremgangsmåder ikke samme effekt i alle distributioner og pakkeversioner, og derfor er det mest rationelt at tackle dette problem fra rod.

Du skal blokere (eller sortliste) den rpcsec_gss_krb5 kernemodul fra indlæsning på Linux-systemet, hvor NFS-serveren kører.

For at få denne indstilling til at træde i kraft, hver gang du genstarter din computer, oprette en ny fil hedder /etc/modprobe.d/nfs-gss-blacklist.conf og tilføj følgende linjer til det:

sortliste rpcsec_gss_krb5

Når du har gemt filen og genstartet systemet, vil problemet med monteringsforsinkelse forsvinde.

Hvorfor bruge en NFS-server?

NFS er enkel og overkommelig at konfigurere. Det giver mulighed for centraliseret styring, hvilket reducerer behovet for ekstra software og lagerplads på den enkelte brugers pc. På en enkelt maskine kan flere brugere dele den samme diskplads. De kan lægge disse diske oven på deres filsystem for at udvide lagerpladsen.

NFS-deling tillader programmer, der kræver meget lagerplads, at blive grupperet på en enkelt server. Dette kan resultere i store diskpladsbesparelser. Mens tidligere NFS-versioner er sårbare, har nyere versioner introduceret yderligere beskyttelsesniveauer, herunder Kerberos-godkendelse.

Der er dog også nogle ulemper. NFS har vist sig at bremse i nogle tilfælde under tung netværkstrafik. Deling med Windows er muligt, men kan kræve nogle tredjepartsprogrammer. Men det er ikke en særlig fornuftig praksis med hensyn til sikkerhed. Hvis konfigurationen ikke er korrekt, kan der forekomme uautoriseret adgang.

Filsystemdeling gjort let på Linux ved hjælp af NFS

At kende sikkerhedsproblemer og finde løsninger er en af ​​de mest kritiske opgaver for en systemadministrator. Det er nødvendigt at kende sikkerhedsprocedurerne for alle fildelingssystemer og administrationsværktøjer og ikke kun NFS.