
Ich habe einen Ubuntu 16.04-Host mit der IP-Adresse 192.168.1.35
, und zwei VM-Clients: Ddebian 8 Jessie und CentOS 7. Ich führe nfs server
auf meinem Host und nfs client
auf beiden auf meinen Gästen aus. Ab dem Debian-Gast wird es nfs-share
ohne Probleme vom Host gemountet. Das Problem liegt bei meinem CentOS-Gast
Wenn ich versuche, die NFS-Freigabe vom Gast aus zu mounten, wird der folgende Fehler ausgegeben:
[hedin@localhost ~]$ sudo mount -a
mount.nfs: access denied by server while mounting 192.168.1.35:/home/hedin/export/eudyptula
Dies ist die /etc/fstab meines Gastes:
#
# /etc/fstab
# Created by anaconda on Mon Apr 10 16:16:12 2017
#
# 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
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=46ddae58-4556-492c-8e23-8c56a4e067d9 /boot xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
192.168.1.35:/home/hedin/export/eudyptula /home/hedin/mnt/host nfs rw,hard,intr,bg 0 0
Firewall ist deaktiviert:
[hedin@localhost ~]$ systemctl is-enabled firewalld
disabled
SELinux ist deaktiviert:
[hedin@localhost ~]$ cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
SELINUX=disabled
SELINUXTYPE=targeted
Alle Hosts dürfen:
[hedin@localhost ~]$ cat /etc/hosts.allow
#
# hosts.allow This file contains access rules which are used to
ALL: ALL: ALLOW
Wir konnten den Host-NFS-Share vom Gast aus sehen:
[hedin@localhost ~]$ sudo showmount -e 192.168.1.35
Export list for 192.168.1.35:
/home/hedin/export/eudyptula 192.168.1.0/24
/home/hedin/export 192.168.1.0/24
Und das ist die Konfiguration meines Hosts /etc/export
:
hedin@home:~/projects/open-source/linux$ cat /etc/exports
/home/hedin/export 192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)
/home/hedin/export/eudyptula 192.168.1.0/24(rw,nohide,insecure,no_subtree_check,async)
Ich weiß also nicht, was ich in meiner Konfiguration übersehen habe. Irgendwelche Ideen?
Antwort1
Das Problem lag in der Datei /etc/exports auf dem Server. Die VM-IP des Clients stimmte nicht mit der IP-Maske des Servers überein. Ich habe den Zugriff auf jede IP zugelassen und kann nun die Freigaben auf dem Gast mounten. Dies ist die neue Konfiguration:
/home/hedin/export *(rw,fsid=0,insecure,no_subtree_check,async)
/home/hedin/export/eudyptula *(rw,nohide,insecure,no_subtree_check,async)
Antwort2
Entfernen Sie bitte die folgende Zeile in der Datei /etc/sysconfig/selinux und starten Sie die CentOS 7-Maschine neu.
SELINUXTYPE=zielgerichtet
Aktualisieren Sie bitte die folgende Zeile in der Datei /etc/fstab und mounten Sie den freigegebenen Ordner erneut auf der CentOS 7-Maschine.
192.168.1.35:/home/hedin/export/eudyptula /home/hedin/mnt/host NFS-Standardwerte 0 0