Sun Microsystems' NFS (Network File System) er en RPC-basert distribuert filsystemstruktur som lar nettverksenheter bruke servere som kjører NFS over et nettverk som sine lokale stasjoner.

Her er en trinn-for-trinn-guide for å sette opp og konfigurere en NFS-server på en Linux-maskin.

Hva er nettverksfilsystem?

NFS-filsystemet har fire protokoller. Når serveren er klar, varsler den portmap (serveren som konverterer protokoll til portnumre) om porten som skal brukes og gir det kontrollerte RPC-programnummeret.

Når du bruker et innebygd Linux-system, er det veldig praktisk å starte opp enheten via en NFS-fildeling over nettverket i stedet for å starte det direkte fra lagringsenheten (NAND flash, eMMC, MMC, etc.).

Selv om det er sjeldnere, vil du kanskje også montere en NFS-ressurs og utføre fildelinger ved å bruke den etter at systemet starter opp, selv om du ikke starter opp systemet direkte fra NFS-ressursen. For at begge scenariene skal fungere, må du først installere en NFS-server på datamaskinen du utvikler på.

instagram viewer

Hvordan installere NFS på Linux

Hvis du bruker en Debian-basert system for eksempel Ubuntu eller Linux Mint, bør du installere nfs-kjerneserver pakke som følger:

sudo apt installere nfs-kjerne-server

På Arch Linux:

sudo pacman -S nfs-utils

På Fedora, CentOS og RHEL:

sudo dnf -y installere nfs-utils

På slutten av prosessen vil NFS-serveren kjøre automatisk. Men på dette tidspunktet vet den ennå ikke hvilke kataloger på datamaskinen du vil dele over nettverket. Derfor gir den ingen deling som standard.

Du kan åpne flere kataloger på samme server for å tillate nettverksdeling med forskjellige autorisasjoner og begrensninger.

Konfigurere NFS-serveren på Linux

For å dele en hvilken som helst katalog over NFS-serveren, er det nødvendig å konfigurere en katalogrelatert innstilling i /etc/exports fil. Åpne filen med et valgfritt tekstredigeringsprogram. Sørg for å legge til sudo-prefikset i kommandoen.

sudo vim /etc/eksport

Du lurer kanskje på hva kartalternativene du ser her betyr:

  • root_squash: Markerer sudo-autoriserte klientbrukere som ingen bruker og gruppe på NFS
  • no_root_squash: Deaktiverer rotklemming
  • all_squash: I motsetning til root_squash, lar den alle brukere bli kartlagt som ingen-brukeren og -gruppen. Det brukes vanligvis for offentlig tilgang.
  • no_all_squash: Det motsatte av all_squash; dette alternativet er standard

Når et system utenfor IP-områdene du tillater i /etc/exports-filen på NFS-serveren prøver å få tilgang til den relevante ressursen, vil NFS-serveren avvise forespørselen.

Du kan motta "tilgang nektet av server"-meldinger mens du monterer på det innebygde systemet. Feilmeldinger som ligner på følgende vil vises på slutten av /var/log/syslog fil på datamaskinen der NFS-serveren kjører:

rpc.mountd[1041]: nektet monteringsforespørsel fra192.168.2.2til /home/example/casper/target (/home/eksempel/casper/mål): uovertruffen vert

Når du ser en uovertruffen vertsloggmelding som den ovenfor, bør du utvide IP/nettmaske-delen av den relevante regelen i filen /etc/exports eller bruke stjerne (*) spesialtegn hvis du ønsker å gi tilgang til alle IP-adresser.

Du må starte NFS-tjenesten på nytt etter å ha gjort endringer i /etc/exports fil:

sudo-tjenesten nfs-kernel-server omstart

Eller, hvis distroen din leveres med systemctl, kjør følgende kommando:

sudosystemctlomstartnfs-server.service

Du kan også gi -r parameter til eksportfs kommandoen slik at den deler kataloger på nytt som har endret eventuelle innstillinger relatert til delingen:

sudo exportfs -r

Løsning av monteringsforsinkelsesproblemet

Når du bruker NFS-protokoll versjon 4 og høyere på serveren din, kan det være forsinkelser på opptil 15 sekunder under monteringsprosessen på klientsiden i tradisjonelle driftsscenarier med standardkonfigurasjonene til NFS server. Dette problemet kan dukke opp på noen versjoner av Debian, Fedora og Ubuntu.

Hvis du opplever en lignende monteringsforsinkelse, kan du sjekk loggfilene på serversiden (/var/log/syslog, /var/log/messages) for en loggmelding som ligner på følgende:

... RPC: AUTH_GSS oppringing ble tidsavbrutt

Denne meldingen indikerer at Kerberos-autentisering mislyktes og ble tidsavbrutt. Du trenger sannsynligvis ikke Kerberos-protokollen for sikkerhetsautentisering på nettverket i miljøet ditt. Selv om du er på et nettverk som er konfigurert på denne måten, i det minste med dine innebygde Linux-systemer, trenger du ikke å aktivere Kerberos-autentisering.

Selv om alternativer til å kjøre GSSD-tjenesten med NFS for å fikse problemet har blitt tilbudt, har ikke disse tilnærmingene samme effekt i alle distribusjoner og pakkeversjoner, og derfor er det mest rasjonelt å takle dette problemet fra rot.

Du må blokkere (eller svarteliste) rpcsec_gss_krb5 kjernemodul fra lasting på Linux-systemet der NFS-serveren kjører.

For at dette alternativet skal tre i kraft hver gang du starter datamaskinen på nytt, opprette en ny fil kalt /etc/modprobe.d/nfs-gss-blacklist.conf og legg til følgende linjer:

svarteliste rpcsec_gss_krb5

Når du har lagret filen og starter systemet på nytt, vil problemet med monteringsforsinkelse forsvinne.

Hvorfor bruke en NFS-server?

NFS er enkelt og rimelig å sette opp. Det gir mulighet for sentralisert administrasjon, noe som reduserer behovet for ekstra programvare og lagringsplass på en individuell brukers PC. På en enkelt maskin kan flere brukere dele samme diskplass. De kan legge disse diskene på toppen av filsystemet for å utvide lagringsplassen.

NFS-deling lar programmer som krever mye lagringsplass grupperes på en enkelt server. Dette kan resultere i store diskplassbesparelser. Mens tidligere NFS-versjoner er sårbare, har nyere versjoner introdusert ytterligere beskyttelsesnivåer, inkludert Kerberos-autentisering.

Det er imidlertid også noen ulemper. NFS har vist seg å bremse ned i noen tilfeller under tung nettverkstrafikk. Deling med Windows er mulig, men kan kreve noen tredjepartsapplikasjoner. Men dette er ikke en veldig fornuftig praksis sikkerhetsmessig. Hvis konfigurasjonen ikke er riktig, kan det oppstå uautorisert tilgang.

Filsystemdeling gjort enkelt på Linux ved hjelp av NFS

Å kjenne til sikkerhetsproblemer og finne løsninger er en av de mest kritiske oppgavene til en systemadministrator. Det er nødvendig å kjenne til sikkerhetsprosedyrene for alle fildelingssystemer og administrasjonsverktøy og ikke bare NFS.