Android

Sådan installeres og konfigureres en nfs-server på centos 8

FileZilla Server Tutorial - Setup FTP Server

FileZilla Server Tutorial - Setup FTP Server

Indholdsfortegnelse:

Anonim

Network File System (NFS) er en distribueret filsystemprotokol, der giver dig mulighed for at dele eksterne mapper over et netværk. Med NFS kan du montere eksterne biblioteker på dit system og arbejde med filerne på fjernmaskinen, som om de var lokale filer.

NFS-protokollen er ikke krypteret som standard, og i modsætning til Samba giver den ikke brugergodkendelse. Adgang til serveren er begrænset af klienternes IP-adresser eller hostnavne.

I denne selvstudie gennemgår du de trin, der er nødvendige for at opsætte en NFSv4-server på CentOS 8. Vi viser dig også, hvordan du monterer et NFS-filsystem på klienten.

Forudsætninger

Vi antager, at du har en server, der kører CentOS 8, hvorpå vi konfigurerer NFS-serveren og andre maskiner, der fungerer som NFS-klienter. Serveren og klienterne skal være i stand til at kommunikere med hinanden via et privat netværk. Hvis din hostingudbyder ikke tilbyder private IP-adresser, kan du bruge de offentlige IP-adresser og konfigurere server firewall til kun at tillade trafik i port 2049 fra pålidelige kilder.

Maskinerne i dette eksempel har følgende IP'er:

NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range

Konfigurer NFS-serveren

Dette afsnit forklarer, hvordan du installerer de nødvendige pakker, opretter og eksporterer NFS-mapper og konfigurerer firewall.

Installation af NFS-serveren

Pakken “nfs-utils” indeholder NFS-hjælpeprogrammer og dæmoner til NFS-serveren. For at installere det køres følgende kommando:

sudo dnf install nfs-utils

Når installationen er afsluttet, skal du aktivere og starte NFS-tjenesten ved at skrive:

sudo systemctl enable --now nfs-server

Som standard er CentOS 8 NFS version 3 og 4.x aktiveret, version 2 er deaktiveret. NFSv2 er temmelig gammel nu, og der er ingen grund til at aktivere det. For at verificere det, køres følgende cat :

sudo cat /proc/fs/nfsd/versions

-2 +3 +4 +4.1 +4.2

Indstillinger for NFS-serverkonfiguration er indstillet i /etc/nfsmount.conf og /etc/nfs.conf . Standardindstillingerne er tilstrækkelige til vores tutorial.

Oprettelse af filsystemer

Når du konfigurerer en NFSv4-server, er det en god praksis at bruge et globalt NFS-rodkatalog og binde montering af de faktiske mapper til delingsmonteringspunktet. I dette eksempel vil vi bruge /srv/nfs4 direktøren som NFS-rod.

For bedre at forklare, hvordan NFS-monteringerne kan konfigureres, deler vi to mapper ( /var/www og /opt/backups ) med forskellige konfigurationsindstillinger.

/var/www/ ejes af brugeren og apache og /opt/backups ejes af root .

Opret eksportfilsystemet ved hjælp af kommandoen mkdir :

sudo mkdir -p /srv/nfs4/{backups, www}

Monter de faktiske mapper:

sudo mount --bind /opt/backups /srv/nfs4/backups sudo mount --bind /var/www /srv/nfs4/www

For at gøre bindemonteringerne permanente skal du tilføje følgende poster til filen /etc/fstab :

sudo nano /etc/fstab / Etc / fstab

/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0

Eksport af filsystemerne

Det næste trin er at definere de filsystemer, der eksporteres af NFS-serveren, delingsindstillingerne og de klienter, der har adgang til disse filsystemer. Åbn dette for at åbne filen /etc/exports :

sudo nano /etc/exports

Eksporter mapperne www og backups og lad kun adgang fra klienter på 192.168.33.0/24 :

/ etc / eksport

/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 linje indeholder fsid=0 som definerer NFS-rodmappen /srv/nfs . Adgangen til dette NFS-volumen er kun tilladt for klienterne fra undernettet 192.168.33.0/24 . crossmnt kræves for at dele kataloger, der er underkataloger i et eksporteret bibliotek.

Den anden linje viser, hvordan man specificerer flere eksportregler for et filsystem. Det eksporterer biblioteket /srv/nfs4/backups og giver kun læseadgang til hele 192.168.33.0/24 , og både læse- og skriveadgang til 192.168.33.3 . sync fortæller NFS at skrive ændringer til disken, inden de svarer.

Den sidste linje skal være selvforklarende. For at få flere oplysninger om alle de tilgængelige indstillinger, skriv man exports i din terminal.

Gem filen og eksporter delingene:

sudo exportfs -ra

Du skal køre kommandoen ovenfor hver gang du ændrer filen /etc/exports . Hvis der er fejl eller advarsler, vises de på terminalen.

Hvis du vil se den aktuelle aktive eksport og deres tilstand, skal du bruge:

sudo exportfs -v

Outputet vil omfatte alle aktier med deres optioner. Som du kan se, er der også indstillinger, som vi ikke har defineret i filen /etc/exports . Dette er standardindstillinger, og hvis du vil ændre dem, skal du indstille disse indstillinger eksplicit.

/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)

root_squash er en af ​​de vigtigste muligheder for NFS-sikkerhed. Det forhindrer, at root-brugere, der er tilsluttet fra klienterne, har root-privilegier på de monterede aktier. Det vil kortlægge root UID og GID til nobody / nogroup UID / GID .

For at brugere på klientmaskiner skal have adgang, forventer NFS, at klientens bruger- og gruppe-ID'er matcher dem på serveren. En anden mulighed er at bruge NFSv4-idmapping-funktionen, der oversætter bruger- og gruppe-ID'er til navne og omvendt.

Det er det. På dette tidspunkt har du konfigureret en NFS-server på din CentOS-server. Du kan nu gå til næste trin og konfigurere klienterne og oprette forbindelse til NFS-serveren.

Firewall-konfiguration

FirewallD er standard firewall-løsningen på Centos 8.

NFS-tjenesten inkluderer foruddefinerede regler for at give adgang til NFS-serveren.

De følgende kommandoer tillader permanent adgang fra undernettet 192.168.33.0/24 :

sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --new-zone=nfs --permanent sudo firewall-cmd --zone=nfs --add-service=nfs --permanent sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent sudo firewall-cmd --reload

Konfigurer NFS-klienter

Nu hvor NFS-serveren er konfigureret og eksporten af ​​dele, konfigureres det næste trin klienterne og monterer de eksterne filsystemer.

Du kan også montere NFS-andelen på macOS- og Windows-maskiner, men vi vil fokusere på Linux-systemer.

Installation af NFS-klienten

På klientens maskiner skal du installere de nødvendige værktøjer til at montere eksterne NFS-filsystemer.

  • Installer NFS-klient på Debian og Ubuntu

    Navnet på pakken, der inkluderer programmer til montering af NFS-filsystemer på Debian-baserede distributioner er nfs-common . Sådan installeres det:

    sudo apt update sudo apt install nfs-common

    Installer NFS-klient på CentOS og Fedora

    På Red Hat og dets derivater installerer pakken nfs-utils :

    sudo yum install nfs-utils

Montering af filsystemer

Vi arbejder på klientmaskinen med IP 192.168.33.110 , der har læse- og skriveadgang til filsystemet /srv/nfs4/www og /srv/nfs4/www adgang til filsystemet /srv/nfs4/backups .

Opret to nye mapper til monteringspunkterne. Du kan oprette disse mapper, hvor som helst, du ønsker.

sudo mkdir -p /backups sudo mkdir -p /srv/www

Monter de eksporterede filsystemer med mount kommandoen:

sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backups sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www

Hvor 192.168.33.148 er IP-adressen for NFS-serveren. Du kan også bruge værtsnavnet i stedet for IP-adressen, men det skal løses af klientmaskinen. Dette gøres normalt ved at kortlægge værtsnavnet til IP i filen /etc/hosts .

Når du installerer et NFSv4-filsystem, skal du udelade NFS-rodmappen, så i stedet for /srv/nfs4/backups skal du bruge /backups .

Kontroller, at de eksterne filsystemer er monteret med succes ved hjælp af enten kommandoen mount eller df :

df -h

Kommandoen udskriver alle monterede filsystemer. De sidste to linjer er de monterede aktier:

… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www

For at gøre monteringen permanent ved genstart skal du åbne filen /etc/fstab :

sudo nano /etc/fstab

og tilføj følgende linjer:

/ Etc / fstab

192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0

For at finde mere information om de tilgængelige indstillinger, når du monterer et NFS-filsystem, skal du skrive man nfs på din terminal.

En anden mulighed for at montere de eksterne filsystemer er at bruge enten autofs værktøjet eller at oprette en systemd-enhed.

Test af NFS-adgang

Lad os teste adgangen til aktierne ved at oprette en ny fil i hver af dem.

Forsøg først at oprette en testfil til /backups biblioteket ved hjælp af touch kommandoen:

sudo touch /backups/test.txt

Fil / systemet til /backup eksporteres som skrivebeskyttet, og som forventet vil du se en Permission denied fejlmeddelelse:

touch: cannot touch '/backups/test': Permission denied

Prøv derefter at oprette en testfil til /srv/www biblioteket som en rod ved hjælp af kommandoen sudo :

sudo touch /srv/www/test.txt

Igen vil du se meddelelsen om Permission denied .

touch: cannot touch '/srv/www': Permission denied

root_squash /var/www ejes af apache brugeren, og denne deling er indstillet til root_squash , der kortlægger rodbrugeren til gruppen nobody og nogroup , der ikke har skrivetilladelser til fjerndelingen.

Hvis man antager, at der findes en bruger- apache på klientmaskinen med den samme UID og GID som på fjernserveren (hvilket skulle være tilfældet, hvis du for eksempel installerede apache på begge maskiner), kan du teste for at oprette en fil som bruger- apache med:

sudo -u apache touch /srv/www/test.txt

Kommandoen viser ingen output, hvilket betyder, at filen blev oprettet med succes.

Hvis du vil bekræfte det, vises filerne i /srv/www biblioteket:

ls -la /srv/www

Outputet skal vise den nyligt oprettede fil:

drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt

Afmontering af NFS-filsystem

sudo umount /backups

Hvis monteringspunktet er defineret i filen /etc/fstab , skal du sørge for at fjerne linjen eller kommentere den ved at tilføje # i starten af ​​linjen.

Konklusion

I denne tutorial har vi vist dig, hvordan du indstiller en NFS-server, og hvordan man installerer de eksterne filsystemer på klientmaskinerne. Hvis du implementerer NFS i produktion og deler fornuftige data, er det en god ide at aktivere kerberos-godkendelse.

Som et alternativ til NFS kan du bruge SSHFS til at montere fjernkataloger over en SSH-forbindelse. SSHFS er krypteret som standard og meget lettere at konfigurere og bruge.

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

centos nfs monteringsterminal