How to configure Netwok file Sharing Server (NFS Server) in Ubuntu Linux 18.04
Innholdsfortegnelse:
- Forutsetninger
- Konfigurer NFS-serveren
- Installere NFS-serveren
- Opprette filsystemene
- Eksporterer filsystemene
- Brannmurkonfigurasjon
- Konfigurer NFS-klienter
- Installere NFS-klienten
- Montering av filsystemer
- Testing av NFS-tilgang
- Demontering av NFS-filsystem
- Konklusjon
Network File System (NFS) er en distribuert filsystemprotokoll som lar deg dele eksterne kataloger over et nettverk. Med NFS kan du montere eksterne kataloger på systemet ditt og jobbe med filene på den eksterne maskinen som om de var lokale filer.
NFS-protokollen er ikke kryptert som standard, og i motsetning til Samba gir den ikke brukerautentisering. Tilgang til serveren er begrenset av klientens IP-adresser eller vertsnavn.
I denne opplæringen skal vi gå gjennom hvordan du konfigurerer en NFSv4-server på Ubuntu 18.04. Vi viser deg også hvordan du installerer et NFS-filsystem på klienten.
Forutsetninger
Dette eksemplet forutsetter at du har en server som kjører Ubuntu 18.04 og en annen som kjører all annen Linux-distribusjon. Serveren og klientene skal kunne kommunisere med hverandre over et privat nettverk. Hvis hostingleverandøren din ikke tilbyr private IP-adresser, kan du bruke de offentlige IP-adressene og konfigurere serverbrannmuren slik at den kun tillater trafikk på port
2049
fra pålitelige kilder.
Maskinene i dette eksemplet har følgende IP-er:
NFS Server IP: 192.168.33.10 NFS Clients IPs: From the 192.168.33.0/24 range
Konfigurer NFS-serveren
Vi starter med å installere og konfigurere NFS-serveren.
Installere NFS-serveren
Oppdater pakkeindeksen og installer NFS-serverpakken:
sudo apt update
sudo apt install nfs-kernel-server
Når installasjonen er fullført, starter NFS-tjenestene automatisk.
Som standard er på Ubuntu 18.04 NFS versjon 2 deaktivert. Versjon 3 og 4 er aktivert. Du kan bekrefte det ved å kjøre følgende
cat
:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
NFSv2 er ganske gammel nå, og det er ingen grunn til å aktivere det.
Alternativer for konfigurering av NFS-server er angitt i
/etc/default/nfs-kernel-server
og
/etc/default/nfs-common
filer. Standardinnstillingene er tilstrekkelige i vårt tilfelle.
Opprette filsystemene
Når du konfigurerer en NFSv4-server er det en god praksis å bruke en global NFS-rotkatalog og binde montere de faktiske katalogene til delingsmonteringspunktet. I dette eksemplet vil vi bruke
/srv/nfs4
direktøren som NFS-rot.
Vi kommer til å dele to kataloger (
/var/www
og
/opt/backups
), med forskjellige konfigurasjonsinnstillinger, for bedre å forklare hvordan NFS-monteringene kan konfigureres.
/var/www/
eies av brukeren og gruppen
www-data
og
/opt/backups
er eid av
root
.
Opprett eksportfilsystemet ved å bruke
mkdir
kommandoen:
sudo mkdir -p /srv/nfs4/backups
sudo mkdir -p /srv/nfs4/www
Monter de faktiske katalogene:
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www
For å gjøre bindingsmonteringene permanente, åpner du filen
/etc/fstab
:
sudo nano /etc/fstab
og legg til følgende linjer:
/ Etc / fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
Eksporterer filsystemene
Neste trinn er å definere filsystemene som skal eksporteres av NFS-serveren, aksjeopsjonene og klientene som har tilgang til disse filsystemene. Åpne filen
/etc/exports
å gjøre det:
sudo nano /etc/exports
Filen
/etc/exports
inneholder også kommentarer som beskriver hvordan du eksporterer en katalog.
I vårt tilfelle må vi eksportere katalogene
www
og
backups
og bare tillate tilgang fra klienter på
192.168.33.0/24
:
/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)
Den første linjen inneholder
fsid=0
som definerer NFS-rotkatalogen
/srv/nfs
. Tilgangen på dette NFS-volumet er bare tillatt for klientene fra undernettet
192.168.33.0/24
.
crossmnt
alternativet er nødvendig for å dele kataloger som er underkataloger for en eksportert katalog.
I den andre linjen viser hvordan du kan spesifisere flere eksportregler for ett filsystem. Den eksporterer katalogen
/srv/nfs4/backups
og gir bare lesetilgang til hele
192.168.33.0/24
og både lese- og skrivetilgang til
192.168.33.3
.
sync
ber NFS om å skrive endringer på disken før du svarer.
Den siste linjen skal være selvforklarende. For mer informasjon om alle tilgjengelige alternativer, type
man exports
i terminalen.
Lagre filen og eksporter aksjene:
sudo exportfs -ra
Du må kjøre kommandoen ovenfor hver gang du endrer filen
/etc/exports
. Hvis det er feil eller advarsler, vises de på terminalen.
Hvis du vil se den nåværende aktive eksporten og deres tilstand, bruker du:
sudo exportfs -v
Produksjonen vil omfatte alle aksjer med opsjoner. Som du ser er det også alternativer som vi ikke har definert i filen
/etc/exports
. Dette er standardalternativer, og hvis du vil endre dem, må du eksplisitt angi disse alternativene.
/srv/nfs4/backups 192.168.33.3(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(rw, wdelay, crossmnt, root_squash, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(ro, wdelay, root_squash, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
På Ubuntu er
root_squash
som standard aktivert. Dette er et av de viktigste alternativene angående NFS-sikkerhet. Det forhindrer at root-brukere som er koblet fra klientene, har root-rettigheter på de monterte aksjene. Det vil kartlegge root
UID
og
GID
til
nobody
/
nogroup
UID
/
GID
.
For at brukerne på klientmaskinene skal ha tilgang, forventer NFS at klientens bruker- og gruppe-IDer samsvarer med dem på serveren. Et annet alternativ er å bruke NFSv4-idmapping-funksjonen som oversetter bruker- og gruppe-ID-er til navn og omvendt.
Det er det. På dette tidspunktet har du satt opp en NFS-server på Ubuntu-serveren. Du kan nå gå til neste trinn og konfigurere klientene og koble til NFS-serveren.
Brannmurkonfigurasjon
Forutsatt at du bruker
UFW
å administrere brannmuren din for å gi tilgang fra undernettet
192.168.33.0/24
må du kjøre følgende kommando:
sudo ufw allow from 192.168.33.0/24 to any port nfs
Slik bekrefter du endringskjøringen:
sudo ufw status
Utdataene skal vise at trafikken på port
2049
er tillatt:
To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
Konfigurer NFS-klienter
Nå som NFS-serveren er konfigurert og aksjer blir eksportert, konfigureres neste trinn klientene og monterer de eksterne filsystemene.
Du kan også montere NFS-andelen på macOS- og Windows-maskiner, men vi vil fokusere på Linux-systemer.
Installere NFS-klienten
På klientmaskinene må vi bare installere verktøyene som kreves for å montere et eksternt NFS-filsystem.
-
Installer NFS-klient på Debian og Ubuntu
Navnet på pakken som inkluderer programmer for montering av NFS-filsystemer på Debian-baserte distribusjoner er
nfs-common
. Slik installerer du det:sudo apt update
sudo apt install nfs-common
Installer NFS-klient på CentOS og Fedora
På Red Hat og dets derivater installerer
nfs-utils
pakken:sudo yum install nfs-utils
Montering av filsystemer
Vi vil jobbe på klientmaskinen med IP
192.168.33.110
som har lese- og skrivetilgang til filsystemet
/srv/nfs4/www
og lesetilgang til filsystemet
/srv/nfs4/backups
.
Lag to nye kataloger for monteringspunktene. Du kan opprette disse katalogene hvor som helst du ønsker.
sudo mkdir -p /backups
sudo mkdir -p /srv/www
Monter de eksporterte filsystemene med
mount
:
sudo mount -t nfs -o vers=4 192.168.33.10:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.10:/www /srv/www
Hvor
192.168.33.10
er IP-en til NFS-serveren. Du kan også bruke vertsnavnet i stedet for IP-adressen, men det må løses av klientmaskinen. Dette gjøres vanligvis ved å kartlegge vertsnavnet til IP-en i filen
/etc/hosts
.
Når du monterer et NFSv4-filsystem, må du utelate NFS-rotkatalogen, så i stedet for
/srv/nfs4/backups
må du bruke
/backups
.
Kontroller at de eksterne filsystemene er montert vellykket ved hjelp av enten montering- eller
df
kommandoen:
df -h
Kommandoen vil skrive ut alle monterte filsystemer. De to siste linjene er de monterte aksjene:
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 1.7G 36G 5% / devtmpfs 236M 0 236M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda2 1014M 87M 928M 9% /boot tmpfs 49M 0 49M 0% /run/user/1000 192.168.33.10:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.10:/www 9.7G 1.2G 8.5G 13% /srv/www
For å gjøre festene permanente ved omstart, åpner du filen
/etc/fstab
:
sudo nano /etc/fstab
og legg til følgende linjer:
/ Etc / fstab
192.168.33.10:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.10:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0
Hvis du vil finne mer informasjon om tilgjengelige alternativer når du installerer et NFS-filsystem, skriver du
man nfs
i terminalen.
Et annet alternativ for å montere de eksterne filsystemene er å bruke
autofs
verktøyet eller å lage en systemd-enhet.
Testing av NFS-tilgang
La oss teste tilgangen til aksjene ved å opprette en ny fil til hver av dem.
Forsøk først å opprette en testfil til
/backups
katalogen ved å bruke
touch
:
sudo touch /backups/test.txt
Fil-systemet
/backup
eksporteres som skrivebeskyttet, og som forventet vil du se en feilmelding om
Permission denied
:
touch: cannot touch '/backups/test': Permission denied
Deretter kan du prøve å opprette en testfil til
/srv/www
katalogen som en root ved hjelp av
sudo
kommandoen:
sudo touch /srv/www/test.txt
Igjen, vil du se Melding
Permission denied
.
touch: cannot touch '/srv/www': Permission denied
Forutsatt at du har en
www-data
dataanvendelse på klientmaskinen med samme
UID
og
GID
som på ekstern server (noe som skal være tilfelle hvis du for eksempel installerte nginx på begge maskinene), kan du teste for å opprette en fil som bruker
www-data
med:
sudo -u www-data touch /srv/www/test.txt
Kommandoen viser ingen utdata som betyr at filen ble opprettet.
For å bekrefte det liste over filene i
/srv/www
katalogen:
ls -la /srv/www
Utgangen skal vise den nyopprettede filen:
drwxr-xr-x 3 www-data www-data 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 www-data www-data 0 Jun 23 21:58 index.html -rw-r--r-- 1 www-data www-data 0 Jun 23 22:18 test.txt
Demontering av NFS-filsystem
sudo umount /backups
Hvis monteringspunktet er definert i filen
/etc/fstab
, må du sørge for å fjerne linjen eller kommentere den ved å legge til
#
på begynnelsen av linjen.
Konklusjon
I denne opplæringen har vi vist deg hvordan du konfigurerer en NFS-server og hvordan du installerer de eksterne filsystemene på klientmaskinene. Hvis du implementerer NFS i produksjon og deler fornuftige data, er det en god idé å aktivere kerberos-godkjenning.
Som et alternativ til NFS kan du bruke SSHFS til å montere eksterne kataloger over en SSH-tilkobling. SSHFS er kryptert som standard og mye enklere å konfigurere og bruke.
Legg gjerne igjen en kommentar hvis du har spørsmål.
ubuntu nfs monteringsterminalHvordan installere og konfigurere redis på ubuntu 18.04
Redis er en åpen kildekode i minnedatastruktur. Den kan brukes som en database, cache og meldingsmegler og støtter forskjellige datastrukturer som Strings, Hashes, Lister, Sets, etc. Denne opplæringen beskriver hvordan du installerer og konfigurerer Redis på en Ubuntu 18.04-server.
Hvordan installere og konfigurere nagios på ubuntu 18.04
Nagios er et av de mest populære open source overvåkningssystemene. Nagios holder oversikt over hele IT-infrastrukturen og sikrer at nettverk, servere, applikasjoner, tjenester og prosesser er oppe og går.
Hvordan installere og konfigurere blekksprutproxy på ubuntu 18.04
Squid er en fullverdig cache-proxy som støtter populære nettverksprotokoller som HTTP, HTTPS, FTP og mer. Denne veiledningen vil lede deg gjennom prosessen med å sette opp en Squid Proxy på Ubuntu 18.04.