Grundlegende NFS-Konfiguration
In dieser Konfiguration werden Sie durch eine schnelle und grundlegende Konfiguration des NFS-Servers auf einem RHEL7-Linux-System geführt. Dabei berücksichtigen wir weder Sicherheitsbedenken, noch kümmern wir uns um Feintuning und Zugangskontrolle. In unserem Szenario definieren wir zwei Hosts:
- NFS-Server, IP 10.1.1.100
- NFS-Client, IP 10.1.1.18
Angenommen, Sie haben bereits ein laufendes Redhat 7 Linux-System, um den NFS-Server einzurichten, müssen Sie einige zusätzliche Pakete installieren:
NFS-Serverkonfiguration
Führen Sie die folgenden Befehle aus, um mit der Installation des NFS-Servers zu beginnen:
[nfs-server ]# yum install nfs-utils rpcbind
Als nächstes exportieren wir ein beliebiges Verzeichnis namens /opt/nfs
. Erstellen Sie /opt/nfs
Verzeichnis:
[nfs-server ]# mkdir -p /opt/nfs
und bearbeiten Sie /etc/exports
NFS-Exportdatei, um die folgende Zeile hinzuzufügen, während die IP-Adresse 10.1.1.18
ersetzt wird mit der IP-Adresse Ihres Clients:
/opt/nfs 10.1.1.18(no_root_squash,rw,sync)
Stellen Sie als Nächstes sicher, dass Sie 2049
aktivieren Port auf Ihrer Firewall, um Clientanfragen zuzulassen:
[nfs-server ]# firewall-cmd --zone=public --add-port=2049/tcp --permanent [nfs-server ]# firewall-cmd --reload
Starten Sie rpcbind
Daemon und NFS-Server in dieser Reihenfolge:
[nfs-server ]# service rpcbind start; service nfs start
Überprüfen Sie den NFS-Serverstatus:
[nfs-server ]# service nfs status nfs-server.service - NFS Server Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled) Active: active (exited) since Thu 2014-12-11 08:12:46 EST; 23s ago Process: 2780 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS $RPCNFSDCOUNT (code=exited, status=0/SUCCESS) Process: 2775 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Process: 2773 ExecStartPre=/usr/libexec/nfs-utils/scripts/nfs-server.preconfig (code=exited, status=0/SUCCESS) Main PID: 2780 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service
NFS-Client-Konfiguration
Um NFS-exportierte Verzeichnisse auf Ihrem Client mounten zu können, müssen die folgenden Pakete installiert werden. Abhängig von der Linux-Distribution Ihres Clients kann der Installationsvorgang unterschiedlich sein. Unter Redhat 7 Linux lauten die Installationsschritte wie folgt:
[nfs-client ]# yum install nfs-utils rpcbind [nfs-client ]# service rpcbind start
Was bleibt, ist ein Mount-Point-Verzeichnis zu erstellen, z. /mnt/nfs
und mounten Sie zuvor NFS exportierte /opt/nfs
Verzeichnis:
[nfs-client ]# mkdir -p /mnt/nfs [nfs-client ]# mount 10.1.1.110:/opt/nfs /mnt/nfs/
Testen Sie die Korrektheit unseres Setups zwischen NFS-Server und NFS-Client. Erstellen Sie eine beliebige Datei im NFS-gemounteten Verzeichnis auf der Client-Seite:
[nfs-client ]# cd /mnt/nfs/ [nfs-client ]# touch NFS.test [nfs-client ]# ls -l total 0 -rw-r--r--. 1 root root 0 Dec 11 08:13 NFS.test
Verschieben Sie die Serverseite und prüfen Sie, ob unser neu erstellter NFS.test
Datei existiert:
[nfs-server ]# cd /opt/nfs/ [nfs-server ]# ls -l total 0 -rw-r--r--. 1 root root 0 Dec 11 08:13 NFS.test
Permanenten NFS-Mount konfigurieren
Nachdem wir nun eine grundlegende NFS-Konfiguration auf dem RHEL7-Linux-System durchgeführt haben, können wir als Nächstes zusätzliche Einstellungen wie Serverpersistenz und permanentes Client-Mount mit /etc/fstab
hinzufügen . Damit unsere NFS-Exporte nach dem Neustart des NFS-Serversystems dauerhaft verfügbar sind, müssen wir sicherstellen, dass nfs
Dienst startet nach Neustart:
[nfs-server ]# systemctl enable nfs-server ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'
Damit der Client nach dem Neustart das exportierte NFS-Verzeichnis dauerhaft mounten kann, müssen wir eine Mount-Prozedur in /etc/fstab
definieren Konfigurationsdatei. Öffnen Sie /etc/fstab
Datei und fügen Sie die folgende Zeile hinzu:
10.1.1.110:/opt/nfs /mnt/nfs nfs defaults 0 0
Mount-Benutzer-Home-Verzeichnis
In den folgenden Schritten exportieren wir ein Benutzer-Home-Verzeichnis /home/rhel7
. Da NFS volle Zugriffsrechte benötigt, um auf /home/rhel7
zuzugreifen :
[nfs-server ]# ls -ld /home/rhel7/ drwx------. 2 rhel7 rhel7 59 Jul 17 14:22 /home/rhel7/
Wir werden es an ein neues Verzeichnis binden:
[nfs-server ]# mkdir -p /exports/rhel7 [nfs-server ]# mount --bind /home/rhel7/ /exports/rhel7/
Um das Obige dauerhaft zu machen, fügen Sie die folgende Zeile in Ihre /etc/fstab
ein Datei:
/home/rhel7 /exports/rhel7 none bind 0 0
Fügen Sie als Nächstes eine weitere Exportzeile in /etc/exports
hinzu Datei:
/exports/rhel7 10.1.1.18(no_root_squash,rw,sync)
Alle NFS-Verzeichnisse erneut exportieren:
[nfs-server ]# exportfs -ra
Was übrig bleibt, ist, das obige Benutzerverzeichnis mit unserem Client-Host zu mounten:
[nfs-client ]# mount 10.1.1.110:/exports/rhel7 /mnt/rhel7/ [nfs-client ]# cd /mnt/rhel7/ [nfs-client ]# ls [nfs-client ]# touch RHEL7-test-nfs [nfs-client ]# ls RHEL7-test-nfs
Bestätigen Sie, dass die Datei RHEL7-test-nfs
existiert auf dem NFS-Server:
# ls -l /home/rhel7/ total 0 -rw-r--r--. 1 root root 0 Dec 11 09:13 RHEL7-test-nfs