CentOS 7 NFS: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „ == NFS Server einrichten == Als erstes müssen die NFS Tools installiert werden <pre>yum install nfs-utils nfs-utils-lib</pre> Nun müssen die NFS Services g…“) |
|||
| (10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | == NFS Server einrichten == | + | == NFS-Server einrichten == |
| − | Als erstes müssen die NFS Tools installiert werden | + | Als erstes müssen die NFS-Tools installiert werden |
<pre>yum install nfs-utils nfs-utils-lib</pre> | <pre>yum install nfs-utils nfs-utils-lib</pre> | ||
| − | Nun müssen die NFS Services gestartet werden | + | Nun müssen die NFS-Services gestartet werden |
<pre> | <pre> | ||
systemctl enable rpcbind | systemctl enable rpcbind | ||
| Zeile 25: | Zeile 25: | ||
/share/ 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash) | /share/ 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash) | ||
</pre> | </pre> | ||
| − | {| | + | {|style="border-style: solid; border-width: 1px" |
|<code>/share</code> | |<code>/share</code> | ||
| − | | | + | |Das gemeinsame Verzeichnis |
|- | |- | ||
|<code>192.168.1.0/24</code> | |<code>192.168.1.0/24</code> | ||
| − | |IP | + | |IP Adressraum des Clients |
|- | |- | ||
|<code>rw</code> | |<code>rw</code> | ||
| − | | | + | |Schreibrechte auf das gemeinsame Verzeichnis |
|- | |- | ||
|<code>sync</code> | |<code>sync</code> | ||
| − | | | + | |Gemeinsames Verzeichnis synchronisieren |
|- | |- | ||
|<code>no_root_squash</code> | |<code>no_root_squash</code> | ||
| − | | | + | |Root Privileg einschalten |
|- | |- | ||
|<code>no_all_squash</code> | |<code>no_all_squash</code> | ||
| − | | | + | |Userbefugnisse einschalten |
|} | |} | ||
| − | Anschliessend starten wir den NFS Server neu | + | Anschliessend starten wir den NFS-Server neu |
<pre> | <pre> | ||
systemctl restart nfs-server | systemctl restart nfs-server | ||
| Zeile 51: | Zeile 51: | ||
== Clientseitige Konfiguration == | == Clientseitige Konfiguration == | ||
| − | Als erstes müssen die NFS Tools installiert werden | + | Als erstes müssen die NFS-Tools installiert werden |
<pre>yum install nfs-utils nfs-utils-lib</pre> | <pre>yum install nfs-utils nfs-utils-lib</pre> | ||
| − | Nun müssen die NFS Services gestartet werden | + | Nun müssen die NFS-Services gestartet werden |
<pre> | <pre> | ||
systemctl enable rpcbind | systemctl enable rpcbind | ||
| Zeile 74: | Zeile 74: | ||
<pre>mount.nfs: access denied by server while mounting 192.168.1.24:/share</pre> | <pre>mount.nfs: access denied by server while mounting 192.168.1.24:/share</pre> | ||
Eventuell kommt auch ein <code>connection timed out error</code>. Auf jeden Fall blockiert die Firewall des NFS-Servers die Verbindung. | Eventuell kommt auch ein <code>connection timed out error</code>. Auf jeden Fall blockiert die Firewall des NFS-Servers die Verbindung. | ||
| − | Wie findet man jetzt die Ports heraus, welche geöffnet werden müssen? | + | Wie findet man jetzt die Ports heraus, welche auf dem NFS-Server geöffnet werden müssen? |
| − | Folgendes Kommando gibt die Ports aus | + | Folgendes Kommando auf dem Client gibt die Ports aus |
<pre>rpcinfo -p</pre> | <pre>rpcinfo -p</pre> | ||
mit ähnlicher Ausgabe wie folgender | mit ähnlicher Ausgabe wie folgender | ||
| Zeile 105: | Zeile 105: | ||
100021 1 tcp 40313 nlockmgr | 100021 1 tcp 40313 nlockmgr | ||
100021 3 tcp 40313 nlockmgr | 100021 3 tcp 40313 nlockmgr | ||
| − | 100021 4 tcp 40313 nlockmgr</pre> | + | 100021 4 tcp 40313 nlockmgr |
| + | </pre> | ||
| + | Jetzt folgendes auf dem NFS-Server ausführen um die Firewall für den Client zu öffnen | ||
| + | (Warum eigentlich nur die TCP-Ports?) | ||
| + | <pre> | ||
| + | firewall-cmd --permanent --zone=internal --add-port=111/tcp | ||
| + | firewall-cmd --permanent --zone=internal --add-port=49130/tcp | ||
| + | firewall-cmd --permanent --zone=internal --add-port=20048/tcp | ||
| + | firewall-cmd --permanent --zone=internal --add-port=2049/tcp | ||
| + | firewall-cmd --permanent --zone=internal --add-port=40313/tcp | ||
| + | </pre> | ||
| + | <code>--zone=internal</code> ist hier angegeben, da nur das interne Netz auf den NFS-Server zugreifen soll. Man kann die Zone auch weglassen, es ist alles eine Sache der Sicherheit ;) . | ||
| + | Danach die Firewall neu starten | ||
| + | <pre> | ||
| + | firewall-cmd --reload | ||
| + | </pre> | ||
| + | Ein weiteres Mal können wir nun das NFS-Share mounten | ||
| + | <pre>mount -t nfs 192.168.1.24:/share/ /mnt/nfs/share/</pre> | ||
| + | Jetzt sollte das NFS-Verzeichnis erreichbar sein ;) | ||
| + | |||
| + | == NFS-Share auf Client prüfen == | ||
| + | Um zu sehen ob das Verzeichnis gemountet ist kann der Befehl | ||
| + | <pre>mount</pre> | ||
| + | eingegeben werden. Es folgt ein ähnliche Ausgabe: | ||
| + | <pre> | ||
| + | sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) | ||
| + | proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) | ||
| + | devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=16461924k,nr_inodes=4115481,mode=755) | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | systemd-1 on /mnt/nfs/data type autofs (rw,relatime,fd=34,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=22662) | ||
| + | nfsd on /proc/fs/nfsd type nfsd (rw,relatime) | ||
| + | /dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota) | ||
| + | sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) | ||
| + | 192.168.1.24:/share on /mnt/nfs/share type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.10,local_lock=none,addr=192.168.1.24) | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | </pre> | ||
| + | In der letzten Zeile steht unser NFS-Share. | ||
| + | |||
| + | == Auto mount des NFS-Share (Bootfest) == | ||
| + | |||
| + | Um unser NFS-Verzeichnis beim Boot des Servers zu mounten müssen wir folgendes in der Datei <code>/etc/fstab</code> hinzufügen | ||
| + | <pre>192.168.1.24:/share/ /mnt/nfs/share/ nfs rw,sync,hard,intr 0 0</pre> | ||
| + | Damit sollte die Datei <code>/etc/fstab</code> ähnlich folgender Ausgabe aussehen | ||
| + | <pre> | ||
| + | # | ||
| + | # /etc/fstab | ||
| + | # Created by anaconda on Thu Apr 4 16:43:37 2019 | ||
| + | # | ||
| + | # Accessible filesystems, by reference, are maintained under '/dev/disk' | ||
| + | # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info | ||
| + | # | ||
| + | UUID=9b2347ab-23c0-463e-9cb8-a4ddf9f4dfcb / xfs defaults 0 0 | ||
| + | UUID=a96af4ed-b427-453e-a222-7e4f4ddddf81 /boot xfs defaults 0 0 | ||
| + | UUID=d88cde23-912d-4548-8f49-08beefefef15 swap swap defaults 0 0 | ||
| + | 192.168.1.24:/share/ /mnt/nfs/share nfs defaults,nofail,x-systemd.automount 0 0 | ||
| + | </pre> | ||
| + | Jetzt das System rebooten und es sollte das Verzeichnis gemountet sein (prüfen, siehe oben) | ||
| + | |||
| + | Quelle: https://www.unixmen.com/setting-nfs-server-client-centos-7/ | ||
Aktuelle Version vom 28. Mai 2019, 11:25 Uhr
Inhaltsverzeichnis
NFS-Server einrichten
Als erstes müssen die NFS-Tools installiert werden
yum install nfs-utils nfs-utils-lib
Nun müssen die NFS-Services gestartet werden
systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap
Welches Verzeichnis soll freigegeben werden? Wir erstellen ein gemeinsames Verzeichnis, dieses muss von jedem gelesen, beschrieben und ausführbar sein.
mkdir /share chmod 777 /share
Jetzt muss das gemeinsame Verzeichnis exportiert werden, dazu die Datei /etc/exports editieren
/share/ 192.168.1.0/24(rw,sync,no_root_squash,no_all_squash)
/share
|
Das gemeinsame Verzeichnis |
192.168.1.0/24
|
IP Adressraum des Clients |
rw
|
Schreibrechte auf das gemeinsame Verzeichnis |
sync
|
Gemeinsames Verzeichnis synchronisieren |
no_root_squash
|
Root Privileg einschalten |
no_all_squash
|
Userbefugnisse einschalten |
Anschliessend starten wir den NFS-Server neu
systemctl restart nfs-server
Clientseitige Konfiguration
Als erstes müssen die NFS-Tools installiert werden
yum install nfs-utils nfs-utils-lib
Nun müssen die NFS-Services gestartet werden
systemctl enable rpcbind systemctl enable nfs-server systemctl enable nfs-lock systemctl enable nfs-idmap systemctl start rpcbind systemctl start nfs-server systemctl start nfs-lock systemctl start nfs-idmap
Einen Mountpoint auf dem Client erstellen
mkdir -p /mnt/nfs/share
Nun das Verzeichnis auf dem Client mounten
mount -t nfs 192.168.1.24:/share/ /mnt/nfs/share/
Da die Firewall auf dem Server unseren Client nicht kennte sollte jetzt eine Ausgabe dieser Art erscheinen
mount.nfs: access denied by server while mounting 192.168.1.24:/share
Eventuell kommt auch ein connection timed out error. Auf jeden Fall blockiert die Firewall des NFS-Servers die Verbindung.
Wie findet man jetzt die Ports heraus, welche auf dem NFS-Server geöffnet werden müssen?
Folgendes Kommando auf dem Client gibt die Ports aus
rpcinfo -p
mit ähnlicher Ausgabe wie folgender
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 43602 status
100005 1 udp 20048 mountd
100024 1 tcp 49130 status
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 41856 nlockmgr
100021 3 udp 41856 nlockmgr
100021 4 udp 41856 nlockmgr
100021 1 tcp 40313 nlockmgr
100021 3 tcp 40313 nlockmgr
100021 4 tcp 40313 nlockmgr
Jetzt folgendes auf dem NFS-Server ausführen um die Firewall für den Client zu öffnen (Warum eigentlich nur die TCP-Ports?)
firewall-cmd --permanent --zone=internal --add-port=111/tcp firewall-cmd --permanent --zone=internal --add-port=49130/tcp firewall-cmd --permanent --zone=internal --add-port=20048/tcp firewall-cmd --permanent --zone=internal --add-port=2049/tcp firewall-cmd --permanent --zone=internal --add-port=40313/tcp
--zone=internal ist hier angegeben, da nur das interne Netz auf den NFS-Server zugreifen soll. Man kann die Zone auch weglassen, es ist alles eine Sache der Sicherheit ;) .
Danach die Firewall neu starten
firewall-cmd --reload
Ein weiteres Mal können wir nun das NFS-Share mounten
mount -t nfs 192.168.1.24:/share/ /mnt/nfs/share/
Jetzt sollte das NFS-Verzeichnis erreichbar sein ;)
Um zu sehen ob das Verzeichnis gemountet ist kann der Befehl
mount
eingegeben werden. Es folgt ein ähnliche Ausgabe:
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=16461924k,nr_inodes=4115481,mode=755) . . . systemd-1 on /mnt/nfs/data type autofs (rw,relatime,fd=34,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=22662) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) /dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) 192.168.1.24:/share on /mnt/nfs/share type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.10,local_lock=none,addr=192.168.1.24) . . .
In der letzten Zeile steht unser NFS-Share.
Um unser NFS-Verzeichnis beim Boot des Servers zu mounten müssen wir folgendes in der Datei /etc/fstab hinzufügen
192.168.1.24:/share/ /mnt/nfs/share/ nfs rw,sync,hard,intr 0 0
Damit sollte die Datei /etc/fstab ähnlich folgender Ausgabe aussehen
# # /etc/fstab # Created by anaconda on Thu Apr 4 16:43:37 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=9b2347ab-23c0-463e-9cb8-a4ddf9f4dfcb / xfs defaults 0 0 UUID=a96af4ed-b427-453e-a222-7e4f4ddddf81 /boot xfs defaults 0 0 UUID=d88cde23-912d-4548-8f49-08beefefef15 swap swap defaults 0 0 192.168.1.24:/share/ /mnt/nfs/share nfs defaults,nofail,x-systemd.automount 0 0
Jetzt das System rebooten und es sollte das Verzeichnis gemountet sein (prüfen, siehe oben)
Quelle: https://www.unixmen.com/setting-nfs-server-client-centos-7/