How to Install a Basic NFS Server on Linux - CentOS 8
Innehållsförteckning:
- förutsättningar
- Ställ in NFS-servern
- Installera NFS-servern
- Skapa filsystem
- Exportera filsystemen
- Brandväggskonfiguration
- Ställ in NFS-klienter
- Installera NFS-klienten
- Montering av filsystem
- Testa NFS-åtkomst
- Avmonterar NFS-filsystem
- Slutsats
Network File System (NFS) är ett distribuerat filsystemprotokoll som låter dig dela fjärrkataloger över ett nätverk. Med NFS kan du montera fjärrkataloger på ditt system och arbeta med filerna på fjärrmaskinen som om de var lokala filer.
NFS-protokollet är inte krypterat som standard och till skillnad från Samba ger det inte användarautentisering. Tillgång till servern är begränsad av klienternas IP-adresser eller värdnamn.
I den här handledningen går du igenom stegen som krävs för att konfigurera en NFSv4-server på CentOS 8. Vi visar också hur du monterar ett NFS-filsystem på klienten.
förutsättningar
Vi antar att du har en server som kör CentOS 8 på vilken vi installerar NFS-servern och andra maskiner som fungerar som NFS-klienter. Servern och klienterna ska kunna kommunicera med varandra via ett privat nätverk. Om din webbhotell inte erbjuder privata IP-adresser kan du använda de offentliga IP-adresserna och konfigurera serverns brandvägg för att tillåta trafik på port
2049
endast från pålitliga källor.
Maskinerna i detta exempel har följande IP: er:
NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range
Ställ in NFS-servern
Det här avsnittet förklarar hur du installerar nödvändiga paket, skapar och exporterar NFS-kataloger och konfigurerar brandväggen.
Installera NFS-servern
Paketet "nfs-utils" tillhandahåller NFS-verktyg och demoner för NFS-servern. För att installera det kör följande kommando:
sudo dnf install nfs-utils
När installationen är klar, aktivera och starta NFS-tjänsten genom att skriva:
sudo systemctl enable --now nfs-server
Som standard är på CentOS 8 NFS versionerna 3 och 4.x aktiverade, version 2 är inaktiverad. NFSv2 är ganska gammal nu och det finns ingen anledning att aktivera det. För att verifiera det kör följande
cat
:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
Alternativ för konfigurering av NFS-server anges i
/etc/nfsmount.conf
och
/etc/nfs.conf
. Standardinställningarna är tillräckliga för vår handledning.
Skapa filsystem
När du konfigurerar en NFSv4-server är det en bra praxis att använda en global NFS-rotkatalog och binda montera de faktiska katalogerna till delmonteringspunkten. I det här exemplet kommer vi att använda
/srv/nfs4
regissören som NFS-rot.
För att bättre förklara hur NFS-fästen kan konfigureras kommer vi att dela två kataloger (
/var/www
och
/opt/backups
) med olika konfigurationsinställningar.
/var/www/
ägs av användaren och grupp
apache
och
/opt/backups
ägs av
root
.
Skapa exportfilsystemet med kommandot
mkdir
:
sudo mkdir -p /srv/nfs4/{backups, www}
Montera de faktiska katalogerna:
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www
Lägg till följande poster i
/etc/fstab
att göra bindningsfästen permanenta:
sudo nano /etc/fstab
/ Etc / fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
Exportera filsystemen
Nästa steg är att definiera filsystemen som kommer att exporteras av NFS-servern, delningsalternativen och klienterna som får åtkomst till dessa filsystem. För att göra det öppnar du
/etc/exports
:
sudo nano /etc/exports
Exportera
www
och
backups
katalogerna och tillåt bara åtkomst från klienter i nätverket
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örsta raden innehåller
fsid=0
som definierar NFS-rotkatalogen
/srv/nfs
. Åtkomst till denna NFS-volym är endast tillåten för klienterna från
192.168.33.0/24
.
crossmnt
krävs för att dela kataloger som är underkataloger i en exporterad katalog.
Den andra raden visar hur du anger flera exportregler för ett filsystem. Den exporterar
/srv/nfs4/backups
och tillåter bara läsåtkomst till hela
192.168.33.0/24
och både läs- och skrivåtkomst till
192.168.33.3
.
sync
berättar NFS att skriva ändringar på disken innan du svarar.
Den sista raden bör vara självförklarande. För mer information om alla tillgängliga alternativ, skriv
man exports
i din terminal.
Spara filen och exportera delningarna:
sudo exportfs -ra
Du måste köra kommandot ovan varje gång du ändrar
/etc/exports
. Om det finns några fel eller varningar visas de på terminalen.
För att se den aktuella aktiva exporten och deras status, använd:
sudo exportfs -v
Produktionen kommer att inkludera alla aktier med sina optioner. Som ni ser finns det också alternativ som vi inte har definierat i
/etc/exports
. Dessa är standardalternativ, och om du vill ändra dem måste du ställa in dessa alternativ uttryckligen.
/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
är ett av de viktigaste alternativen för NFS-säkerhet. Det förhindrar att root-användare som är anslutna från klienterna har root-privilegier på de monterade aktierna. Det kommer att kartlägga root
UID
och
GID
till
nobody
/
nogroup
UID
/
GID
.
För att användare på klientmaskinerna ska ha åtkomst förväntar sig NFS att klientens användare och grupp-ID matchar med dem på servern. Ett annat alternativ är att använda NFSv4-idmapping-funktionen som översätter användar- och grupp-ID till namn och tvärtom.
Det är allt. Just nu har du skapat en NFS-server på din CentOS-server. Du kan nu gå till nästa steg och konfigurera klienterna och ansluta till NFS-servern.
Brandväggskonfiguration
FirewallD är standard brandväggslösning på Centos 8.
NFS-tjänsten innehåller fördefinierade regler för att tillåta åtkomst till NFS-servern.
Följande kommandon tillåter permanent åtkomst från
192.168.33.0/24
:
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
Ställ in NFS-klienter
Nu när NFS-servern är konfigurerad och aktier exporteras konfigurerar klienterna nästa steg och monterar fjärrfilsystemen.
Du kan också montera NFS-andelen på macOS- och Windows-maskiner, men vi kommer att fokusera på Linux-system.
Installera NFS-klienten
På klientens maskiner, installera de verktyg som krävs för att montera fjärr NFS-filsystem.
-
Installera NFS-klient på Debian och Ubuntu
Namnet på paketet som inkluderar program för montering av NFS-filsystem på Debian-baserade distributioner är
nfs-common
. Så här installerar du det:sudo apt update
sudo apt install nfs-common
Installera NFS-klient på CentOS och Fedora
På Red Hat och dess derivat installerar
nfs-utils
:sudo yum install nfs-utils
Montering av filsystem
Vi kommer att arbeta på klientmaskinen med IP
192.168.33.110
, som har läs- och skrivåtkomst till
/srv/nfs4/www
och skrivskyddad åtkomst till
/srv/nfs4/backups
.
Skapa två nya kataloger för monteringspunkter. Du kan skapa dessa kataloger var du vill.
sudo mkdir -p /backups
sudo mkdir -p /srv/www
Montera de exporterade filsystemen med
mount
:
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
Där
192.168.33.148
är IP-adressen för NFS-servern. Du kan också använda värdnamnet istället för IP-adressen, men det måste lösas av klientmaskinen. Detta görs vanligtvis genom att mappa värdnamnet till IP-
/etc/hosts
filen
/etc/hosts
.
När du installerar ett NFSv4-filsystem måste du utelämna NFS-rotkatalogen, så i stället för
/srv/nfs4/backups
måste du använda
/backups
.
Kontrollera att fjärrfilsystemen har installerats med framgång med antingen kommandot mount eller
df
:
df -h
Kommandot kommer att skriva ut alla monterade filsystem. De sista två raderna är de monterade aktierna:
… 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
För att göra fästen permanent vid omstart öppnar du
/etc/fstab
:
sudo nano /etc/fstab
och lägg till följande rader:
/ 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
Om du vill hitta mer information om tillgängliga alternativ när du monterar ett NFS-filsystem skriver du
man nfs
i terminalen.
Ett annat alternativ att montera fjärrfilsystemen är att använda antingen
autofs
verktyget eller skapa en systemd-enhet.
Testa NFS-åtkomst
Låt oss testa tillgången till aktierna genom att skapa en ny fil i var och en av dem.
Först försöker du skapa en testfil till
/backups
katalogen med hjälp av
touch
:
sudo touch /backups/test.txt
Systemet för
/backup
exporteras som skrivskyddad, och som förväntat ser du ett felmeddelande om
Permission denied
:
touch: cannot touch '/backups/test': Permission denied
Därefter försöker du skapa en testfil till
/srv/www
katalogen som en root med kommandot
sudo
:
sudo touch /srv/www/test.txt
Återigen kommer du att se meddelandet om
Permission denied
.
touch: cannot touch '/srv/www': Permission denied
Katalogen
/var/www
ägs av
apache
användaren, och denna
root_squash
alternativet
root_squash
, som kartlägger root-användaren till
nobody
användare och grupp som inte har
nogroup
.
Antagande att det finns en användarapache på klientmaskinen med samma
UID
och
GID
som på fjärrservern (vilket borde vara fallet om du till exempel installerade apache på båda maskinerna), kan du testa att skapa en fil som användarapache med:
sudo -u apache touch /srv/www/test.txt
Kommandot visar ingen utgång, vilket innebär att filen skapades framgångsrikt.
För att verifiera det listar filerna i
/srv/www
katalogen:
ls -la /srv/www
Utgången ska visa den nyligen skapade filen:
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
Avmonterar NFS-filsystem
sudo umount /backups
Om monteringspunkten är definierad i
/etc/fstab
, se till att du tar bort raden eller kommenterar den genom att lägga till
#
i början av raden.
Slutsats
I den här tutorialen har vi visat dig hur du ställer in en NFS-server och hur du installerar fjärrfilsystemen på klientmaskinerna. Om du implementerar NFS i produktion och delar förnuftiga data är det en bra idé att aktivera kerberos-autentisering.
Som ett alternativ till NFS kan du använda SSHFS för att montera fjärrkataloger över en SSH-anslutning. SSHFS är krypterat som standard och mycket lättare att konfigurera och använda.
Lämna gärna en kommentar om du har några frågor.
centos nfs monteringsterminalLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man installerar och konfigurerar redis på centos 7
Redis är ett datakonstruktionslager med öppen källkod. Det kan användas som en databas, cache och meddelandemäklare och stöder olika datastrukturer såsom strängar, hash, listor, uppsättningar etc.
Hur man installerar och konfigurerar nagios på centos 7
Nagios är ett av de mest populära övervakningssystemen med öppen källkod. Nagios håller en inventering av hela din IT-infrastruktur och ser till att dina nätverk, servrar, applikationer, tjänster och processer är igång. Denna handledning beskriver hur du installerar och konfigurerar Nagios Core på en CentOS 7-server.