NFS of Network File System is een gedistribueerd bestandsprotocol waarmee u een bestand of zelfs een hele map met anderen via een netwerk kunt delen. Het brengt een server-clientomgeving tot stand, waar een clientcomputer toegang heeft tot gegevens die door de NFS-server worden gedeeld alsof ze lokaal zijn gemount.
In deze zelfstudie bespreken we gedetailleerde installatie-instructies voor het instellen van NFS Server op CentOS. In de stapsgewijze handleiding wordt beschreven hoe u de NFS-server zowel aan de serverzijde als aan de clientzijde instelt. Laten we beginnen.
NFS-server instellen op CentOS
Onze testomgeving
NFS-server IP-adres: 10.0.2.15 NFS-client IP-adres: 10.0.2.16
Om te beginnen, hier is een stapsgewijze handleiding voor het instellen van de NFS-server op uw CentOS 8-systeem.
Stap 1: Installeer de NFS-server
Eerst moeten we nfs-utils op ons systeem installeren. Het is het NFS-serverpakket dat functioneert als de NFS-daemon. Om het te installeren, moet u de volgende opdracht in de terminal invoeren:
$ sudo dnf installeer nfs-utils -y
We voeren een schone installatie uit van CentOS 8 en nfs-utils is al op ons systeem geïnstalleerd. Het kan ook hetzelfde zijn op uw machine. Zo niet, dan wordt het pakket geïnstalleerd, waarna we verder gaan met de volgende stap.
Nu je nfs-utils op je systeem hebt geïnstalleerd, moet je de nfs-server-service starten, deze configureren om automatisch te starten bij het opstarten van het systeem en ten slotte de status ervan verifiëren om te controleren of alles werkt zoals bedoeld.
Om dit te doen, moet u de volgende opdrachten in uw terminal invoeren:
$ sudo systemctl start nfs-server.service $ sudo systemctl nfs-server inschakelen.service $ sudo systemctl status nfs-server.onderhoud
De uitvoer moet vergelijkbaar zijn met, zoals weergegeven in de onderstaande afbeelding:
De actief teken betekent dat de NFS-server perfect werkt. Houd er rekening mee dat alle bijbehorende services die nodig zijn om een NFS-server uit te voeren of NFS-shares te mounten ook worden geactiveerd via de bovenstaande opdracht. Deze diensten omvatten nfsd, nfs-idmapd, rpcbind, rpc.gemonteerd, vergrendeld, rpc.statd, rpc.rquotad en rpc.idmapd.
Ook, voor het geval je geïnteresseerd bent, hier is het adres voor de NFS-serverconfiguratiebestanden:
- /etc/nfs.conf - Dit is het hoofdconfiguratiebestand voor de NFS-daemon en tools.
- /etc/nfsmount.conf - Dit is het NFS-mount configuratiebestand.
Stap 2: Een NFS-bestandssysteem maken en exporteren
Nu u uw NFS-server hebt ingesteld, is het tijd om een gedeeld bestandssysteem op de server te maken dat toegankelijk zal zijn vanaf het clientsysteem. Voor deze tutorial zullen we de directory /mnt/nfs_share/docs maken met behulp van de volgende opdracht:
$ sudo mkdir -p /mnt/nfs_share/docs
Om bestandsbeperkingen op de gedeelde NFS-map te vermijden, zullen we vervolgens het eigendom van de map configureren met behulp van de volgende opdracht:
$ sudo chown -R niemand: /mnt/nfs_share/docs
Hierdoor kan het clientsysteem alle bestanden in de gedeelde map maken zonder problemen met machtigingen. Als u alle machtigingen wilt inschakelen - lezen, schrijven en uitvoeren naar de gedeelde NFS-map, dan kunt u dit doen met de volgende opdracht:
$ sudo chmod -R 777 /mnt/nfs_share/docs
Om de wijzigingen door te voeren, moet u de NFS-daemon opnieuw starten met deze opdracht:
$ sudo systemctl herstart nfs-utils.onderhoud
Het is tijd om het te exporteren, zodat het clientsysteem er toegang toe heeft. Om dit te doen, moeten we het bestand /etc/exports bewerken. Tijdens het bewerken van het bestand kunt u alleen toegang verlenen tot een enkele client, of meerdere clients, evenals het gehele subnet.
Als u toegang wilt verlenen tot het gehele subnet, moet u de volgende syntaxis gebruiken:
/mnt/nfs_share/docs subnet (rw,synchronisatie,geen_alle_squash,root_squash)
hier “subnet"moet worden vervangen door het subnet van het systeem. Anders kunt u meerdere clients één voor één specificeren, op een aparte regel met behulp van deze syntaxis:
/mnt/nfs_share/docs client_IP_1 (rw,sync,no_all_squash,root_squash)
/mnt/nfs_share/docs client_IP_1 (rw,sync,no_all_squash,root_squash)
Hier is een blik op de andere parameters die in de opdracht worden gebruikt en wat ze betekenen:
- rw - Deze parameter geeft lees- en schrijfrechten aan het NFS gedeelde bestand/map.
- sync - Deze parameter vereist dat de wijzigingen op de schijf eerst worden aangebracht voordat ze worden toegepast.
- no_all_squash - Met deze parameter worden alle UID's en GID's van de clientverzoeken toegewezen die identiek zijn aan de UIDS en GID's op de NFS-server.
- root_squash - De parameter zal verzoeken van de rootgebruiker aan de clientzijde toewijzen aan een anonieme UID / GID.
Met behulp van onze setup zullen we toegang verlenen tot onze client-machine met de IP 10.0.2.16. Om dit te doen, moet je eerst het bestand /etc/exports openen met dit commando.
$ sudo vi /etc/exports
Vervolgens moet u de volgende regel in het bestand toevoegen:
/mnt/nfs_share/docs 10.0.2.16(rw,sync,no_all_squash,root_squash)
Als u klaar bent, slaat u het bestand op en sluit u het af. Bevestig nu met het cat-commando dat de invoer is geregistreerd. Voer hiervoor de volgende opdracht in uw terminal in:
cat /etc/export
U zou iets moeten zien dat lijkt op de volgende afbeelding:
Nu is het tijd dat we de hierboven gemaakte map exporteren, zodat deze beschikbaar wordt voor clientsystemen. Om dit te doen, moeten we de volgende opdracht gebruiken:
$ sudo exportfs -arv
Hier betekent de -a optie dat alle mappen zal worden geëxporteerd. De -r optie zal wederuitvoer alle mappen. En tot slot zal de -v optie een uitgebreide uitvoer weergeven.
Om er echter zeker van te zijn dat de exportlijst in orde is, zullen we deze opdracht ook uitvoeren:
$ sudo exportfs -s
En dat is het! We hebben met succes onze gedeelde NFS-bestanden gemaakt en geëxporteerd. Nu is het tijd om door te gaan naar de volgende stap.
Stap 3: Stel firewallregels in voor de NFS-server
Onze NFS-serverconfiguratie is voltooid. Het enige dat u nog hoeft te doen, is de firewallregels zo configureren dat de NFS-services worden toegestaan.
Dit omvat de volgende drie services - nfs, rpc-bind en mountd. En om deze services door de firewall te laten gaan, moeten we de volgende opdrachten in de terminal invoeren:
$ sudo firewall-cmd --permanent --add-service=nfs $ sudo firewall-cmd --permanent --add-service=rpc-bind $ sudo firewall-cmd --permanent --add-service=mountd
Als u klaar bent, moet u de firewall opnieuw laden om de wijzigingen door te voeren. Gebruik deze opdracht om de firewall opnieuw te laden:
$ sudo firewall-cmd --reload
Met de firewall geconfigureerd, is het tijd om het NFS-clientsysteem in te stellen.
Hoe het NFS-clientsysteem op CentOS 8 in te stellen
Hier is een stapsgewijze procedure voor het instellen van het NFS-clientsysteem op CentOS 8.
Stap 1: Installeer de NFS-clientpakketten
Eerst moeten we de benodigde pakketten installeren om toegang te krijgen tot de NFS-sharemap die zich op de NFS-server bevindt. Voer hiervoor de volgende opdracht in de terminal in:
$ sudo dnf installeer nfs-utils nfs4-acl-tools -y
Vervolgens zullen we de gekoppelde NFS gedeelde map op de server weergeven met behulp van deze opdracht:
$ showmount -e 10.0.2.15
Stap 2: Koppel de externe NFS-share op de server
We zullen een map moeten maken die we zullen gebruiken om de NFS-share te mounten. Gebruik hiervoor de volgende opdracht:
$ sudo mkdir p /mnt/client_share
Om de externe NFS gedeelde map die zich op het lokale clientsysteem bevindt aan te koppelen, moeten we de volgende opdracht gebruiken:.
$ sudo mount -t nfs 10.0.2.15 :/mnt/nfs_shares/docs /mnt/client_share
waar 10.0.2.15 is het IP-adres van de NFS-server. Om te controleren of de externe NFS-share is aangekoppeld, kunt u de volgende opdracht gebruiken:
$ sudo mount | grep -i nfs
Ten slotte, om de mount-share stabiel te maken, zelfs na een herstart, moeten we het /etc/fstab-bestand bewerken en dan het volgende item toevoegen:
192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share nfs standaard 0 0
Als u klaar bent, slaat u het bestand op en sluit u het, en u bent klaar om te gaan.
Stap 3: Test de NFS Server & Client Setup
Nadat we alle bovenstaande stappen hebben doorlopen, hebben we met succes een client-serververbinding geconfigureerd met NFS. We moeten echter controleren of de installatie werkt voordat we het een dag kunnen noemen.
Om dit te doen, moeten we eerst een testbestand maken in de NFS-serversharedirectory en vervolgens controleren of het aanwezig is in de client NFS-mounted directory. Laten we dus eerst het testbestand in de NFS-servermap maken met behulp van de volgende opdracht:
$ sudo touch /mnt/nfs_shares/docs/server_nfs_file.tekst
Ga naar de clientzijde en voer deze opdracht in de terminal in om te controleren of het testbestand beschikbaar is.
$ ls -l /mnt/client_share/
Als u het bestand ziet, betekent dit dat de NFS-verbinding correct werkt.
Conclusie
Dat was onze uitgebreide gids over het instellen van de NFS-server op CentOS 8. We hopen dat je deze tutorial nuttig vond en dat het je heeft geholpen bij het delen van bestanden en mappen met je clientsystemen. Mogelijk bent u geïnteresseerd in het opzetten van een FTP-server op uw CentOS-machine.