[Gelöst]NFS: access denied by server while mounting; Proxmox

Probleme mit Samba, NFS, FTP und Co.
Antworten
TorstenB
Beiträge: 7
Registriert: 07.04.2011 23:24:51

[Gelöst]NFS: access denied by server while mounting; Proxmox

Beitrag von TorstenB » 02.12.2015 12:13:05

Hallo,

Ich habe verschiedene Debian Jessie Instanzen in einem eigenen Netzwerk (10.0.2.0/24) laufen lassen.
Ich habe mich dabei weitestgehend an folgendes Tutorial gehalten: Tutorial

Mein NFS-Server (10.0.2.20) hat einen Share für andere Instanzen

/etc/exports

Code: Alles auswählen

/var/atlassian 10.0.2.0/24(rw,no_subtree_check,root_squash,all_squash)
Wärend das mounten lokal (Server auf Server) geht:

Code: Alles auswählen

root@atlassian-share:/var/atlassian# mount.nfs4 10.0.2.20:/var/atlassian /var/mount_test
root@atlassian-share:/var/atlassian# mount
/images/220/vm-220-disk-1.raw on / type ext4 (rw,relatime,data=ordered)
none on /dev type tmpfs (rw,relatime,size=100k,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
proc on /proc/sys/net type proc (rw,nosuid,nodev,noexec,relatime)
proc on /proc/sys type proc (ro,nosuid,nodev,noexec,relatime)
proc on /proc/sysrq-trigger type proc (ro,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime)
sysfs on /sys/devices/virtual/net type sysfs (ro,relatime)
sysfs on /sys/devices/virtual/net type sysfs (ro,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,size=12k,mode=755)
tmpfs on /sys/fs/cgroup/cgmanager type tmpfs (rw,mode=755)
lxcfs on /proc/cpuinfo type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /proc/diskstats type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /proc/meminfo type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /proc/stat type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /proc/uptime type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/blkio type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/cpu,cpuacct type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/cpuset type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/devices type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/freezer type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/hugetlb type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/memory type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/systemd type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/net_cls,net_prio type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
lxcfs on /sys/fs/cgroup/perf_event type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
devpts on /dev/console type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666)
devpts on /dev/tty1 type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666)
devpts on /dev/tty2 type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=2469012k,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
pstore on /sys/fs/pstore type pstore (rw,relatime)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5033160k)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
10.0.2.20:/var/atlassian on /var/mount_test type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.0.2.20,local_lock=none,addr=10.0.2.20)

ist das Mounten von den anderen Instanzen nicht möglich.

Code: Alles auswählen

root@atlassian-crowd:~# mount.nfs4 10.0.2.20:/var/atlassian /var/atlassian
mount.nfs4: access denied by server while mounting 10.0.2.20:/var/atlassian

Code: Alles auswählen

root@atlassian-crowd:~# nmap -O 10.0.2.20

Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-02 10:44 UTC
Nmap scan report for 10.0.2.20
Host is up (0.000069s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
2049/tcp open  nfs
...
c
c
Die dateien /etc/hosts.allow und /etc/hosts.deny sind leer. Es gibt keinen Eintrag im /var/log/syslog des Servers, wenn auf einem Client versucht zu mounten.

Hat jemand eine Idee?
Zuletzt geändert von TorstenB am 05.12.2015 09:43:54, insgesamt 1-mal geändert.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: NFS: access denied by server while mounting

Beitrag von mistersixt » 02.12.2015 15:14:48

Die Anfragen von den NFS-Clients kommen garantiert aus dem Netz 10.0.2.0/24 als Source-IP? Mal ansonsten versucht, per NFSv3 zu mounten (müsste sowas wie "mount.nfs -o mountvers=3 bla blubb" sein).

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
heisenberg
Beiträge: 3555
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: NFS: Wichtig Schreibweise der Netzmaske

Beitrag von heisenberg » 02.12.2015 15:43:00

/etc/exports

Code: Alles auswählen

10.0.2.0/24
Ich meine, in der exports darf keine CIDR-Notation stehen, sondern nur dotted-quad(Das hat meinen Kopf auch schon mal zum rauchen gebracht.), also probier das mal:

/etc/exports

Code: Alles auswählen

10.0.2.0/255.255.255.0
Jede Rohheit hat ihren Ursprung in einer Schwäche.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: NFS: access denied by server while mounting

Beitrag von rendegast » 02.12.2015 17:20:19

@heisenberg
man exports hat geschrieben: IP networks
You can also export directories to all hosts on an IP (sub-) network simultaneously. This is done by specifying an IP address and netmask pair as address/netmask where the netmask can be specified in dotted-decimal format, or as a contiguous mask length. For example, either '/255.255.252.0' or '/22' appended to the network base IPv4 address results in identical subnetworks with 10 bits of host.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
heisenberg
Beiträge: 3555
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: NFS: access denied by server while mounting

Beitrag von heisenberg » 02.12.2015 18:09:16

Schön dass es da steht. Ich habe die Manpage auch gelesen und empfehle trotzdem das zu testen.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: NFS: access denied by server while mounting

Beitrag von mistersixt » 03.12.2015 08:00:19

CIDR-Notation geht definitiv.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: NFS: access denied by server while mounting

Beitrag von rendegast » 03.12.2015 14:24:15

/var/atlassian
auf dem Server ist für nobody zumindest lesbar?

Code: Alles auswählen

ls -ls /var/atlassian
Obwohl das für das Mounten erstmal egal sein sollte(?)

Ala mistersixt
Sind die clients vielleicht VM,
deren IP eine 10.0.2.x in ihrem NAT-Netz ist, der Host aber eine andere IP hat,
welcher wiederum über Router an den Server kommt?

Falls sich in den Logs nichts über den Mountversuch findet
(nfsd-Optionen '--debug', '--syslog' in der Art

Code: Alles auswählen

RPCNFSDCOUNT="8 --debug --syslog"
RPCMOUNTDOPTS="--manage-gids --debug all [--forefround]"
obwohl '--forground' aus einem init-Skript vielleicht keine gute Wahl ist),
mal am Server eine LOG-Regel setzen, in der Art

Code: Alles auswählen

iptables -I INPUT -j LOG .......
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

TorstenB
Beiträge: 7
Registriert: 07.04.2011 23:24:51

Re: NFS: access denied by server while mounting

Beitrag von TorstenB » 04.12.2015 07:46:19

Hallo,

Sorry für die späte Meldung, ich habe wohl die Benachrichtigung ausgestellt und mich gewundert, weil keine Antwortet ;-)


@heisenberg, @rendegast, @mistersixt: Ja Die Notation habe ich auch versucht, da war kein Unterschied

@rendegast: So sind aktuell die Berechtigungen:

Code: Alles auswählen

root@atlassian-share:/var/atlassian# ls -lha /var/atlassian/
total 8.0K
drwxr-xr-x  2 root root 4.0K Nov 27 20:25 .
drwxr-xr-x 13 root root 4.0K Dec  2 10:19 ..
-rw-r--r--  1 root root    0 Nov 27 20:25 test.html
root@atlassian-share:/var/atlassian# ls -lha /var           
total 52K
drwxr-xr-x 13 root root  4.0K Dec  2 10:19 .
drwxr-xr-x 22 root root  4.0K Jun 30 10:37 ..
drwxr-xr-x  2 root root  4.0K Nov 27 20:25 atlassian
drwxr-xr-x  2 root root  4.0K Dec  4 06:21 backups
drwxr-xr-x  7 root root  4.0K Jun 30 10:37 cache
drwxr-xr-x 27 root root  4.0K Nov 26 20:19 lib
drwxrwsr-x  2 root staff 4.0K May  4  2015 local
lrwxrwxrwx  1 root root     9 Jun 30 10:35 lock -> /run/lock
drwxr-xr-x  4 root root  4.0K Dec  4 06:21 log
drwxrwsr-x  2 root mail  4.0K Jun 30 10:35 mail
drwxr-xr-x  2 root root  4.0K Dec  2 10:19 mount_test
drwxr-xr-x  2 root root  4.0K Jun 30 10:35 opt
lrwxrwxrwx  1 root root     4 Jun 30 10:35 run -> /run
drwxr-xr-x  5 root root  4.0K Jun 30 10:36 spool
drwxrwxrwt  2 root root  4.0K May  4  2015 tmp
root@atlassian-share:/var/atlassian# ls -ls /var/atlassian
total 0
0 -rw-r--r-- 1 root root 0 Nov 27 20:25 test.html
Die aktuelle Netzwerkkonfiguration sieht so aus:

Code: Alles auswählen

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 188.68.49.XX
netmask 255.255.252.0
gateway 188.68.48.1

auto vmbr1
iface vmbr1 inet static
address 10.0.0.1
netmask 255.255.255.252
bridge_ports none
bridge_stp off
bridge_fd 0

auto vmbr2
iface vmbr2 inet static
address 10.0.1.1
netmask 255.255.255.240
bridge_ports none
bridge_stp off
bridge_fd 0

auto vmbr3
iface vmbr3 inet manual
bridge_ports none
bridge_stp off
bridge_fd 0
Hier mal ein Schaubild, wie es genau aussieht:

Bild

Der Proxy ist zudem DNS für das 10.0.2.x Netzwerk.

Code: Alles auswählen

root@atlassian-crowd:~# ping 10.0.2.20
PING 10.0.2.20 (10.0.2.20) 56(84) bytes of data.
64 bytes from 10.0.2.20: icmp_seq=1 ttl=64 time=0.482 ms
64 bytes from 10.0.2.20: icmp_seq=2 ttl=64 time=0.140 ms
NMAP sagt dazu folgendes

Code: Alles auswählen

root@atlassian-crowd:~# nmap -O 10.0.2.20

Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-04 06:43 UTC
Nmap scan report for 10.0.2.20
Host is up (0.000094s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
2049/tcp open  nfs
MAC Address: A6:40:8A:AA:4C:76 (Unknown)
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.11 - 3.14
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.74 seconds
(failed reverse-i-search)`namp': ^Cno /var/log/auth.log 

Code: Alles auswählen

root@atlassian-crowd:~# nmap -n 10.0.2.20

Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-04 06:43 UTC
Nmap scan report for 10.0.2.20
Host is up (0.0000080s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
2049/tcp open  nfs
MAC Address: A6:40:8A:AA:4C:76 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 1.57 seconds
Ich glaube also nicht, dass es direkt ein Netzwerkproblem ist.

Logging und NFS3 mount probiere ich nachher einmal

TorstenB
Beiträge: 7
Registriert: 07.04.2011 23:24:51

Re: NFS: access denied by server while mounting

Beitrag von TorstenB » 04.12.2015 14:41:10

So, NFSv3 geht auch nicht, aber ich habe mal mit NFSv4 und mit NFSv4 versucht zu verbinden, das ist dabei im syslog aufgetaucht:

Code: Alles auswählen

Dec  4 13:38:50 atlassian-share rpc.mountd[6768]: from_local: updating local if addr list
Dec  4 13:38:50 atlassian-share rpc.mountd[6768]: from_local: checked 6 local if addrs; incoming address not found
Dec  4 13:38:50 atlassian-share rpc.mountd[6768]: check_default: access by 10.0.2.22 ALLOWED
Dec  4 13:38:50 atlassian-share rpc.mountd[6768]: Received NULL request from 10.0.2.22
Dec  4 13:39:31 atlassian-share rpc.mountd[6768]: check_default: access by 10.0.2.22 ALLOWED (cached)
Dec  4 13:39:31 atlassian-share rpc.mountd[6768]: Received NULL request from 10.0.2.22
Dec  4 13:39:31 atlassian-share kernel: [662786.645008] audit: type=1400 audit(1449236371.030:90): apparmor="DENIED" operation="mount" info="failed type match" error=-13 profile="lxc-container-default" name="/var/atlassian/" pid=11312 comm="mount.nfs" fstype="nfs" srcname="10.0.2.20:/var/atlassian" flags="rw"
Sieht irgendwie so aus, als ob appamor (von proxmox) die verbindung unterbindet....

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: NFS: access denied by server while mounting

Beitrag von habakug » 04.12.2015 16:33:53

Hallo!

Hier[1].

Gruss, habakug

[1] https://gist.github.com/gionn/7585324

edit:
Oder besser hier[2] (?)
[2] http://forum.proxmox.com/threads/23763-lxc-NFS
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

TorstenB
Beiträge: 7
Registriert: 07.04.2011 23:24:51

Re: NFS: access denied by server while mounting

Beitrag von TorstenB » 04.12.2015 18:30:50

@habakug

Danke! Der 2. Link hat geholfen und mich auf den richtigen Weg gebracht. Zudem müssen für NFSv4 noch weitere Werte gesetzt werden:

http://technuts.tru.my/2013/08/28/how-t ... container/


Ich habe also jetzt in den Dateien /etc/apparmor.d/lxc/lxc-default und /etc/apparmor.d/lxc/lxc-default-with-mounting um die Optionen:

Code: Alles auswählen

  mount fstype=nfs,
  mount fstype=nfs4,
  mount fstype=rpc_pipefs,
erweitert und den Service neu gestartet:

Code: Alles auswählen

service apparmor reload
Und dann kann ich erfolgreich mounten:

Code: Alles auswählen

mount.nfs4 10.0.2.20:/var/atlassian /var/atlassian
Bei den Optionen in der /etc/exports noch ein wenig überfragt...
Ich will mit jedem Benutzer in dieses Verzeichnis schreiben können, aber aktuell kann ich nicht mal als root Benutzer schreiben.

EDIT:

Was ich vergessen habe ist, dass in der Containerbeschreibung (/etc/pve/lxc/xyz.conf) des NFS Server-Containers noch folgende Zeile hinzugefügt werden muss:

Code: Alles auswählen

lxc.aa_profile: unconfined
Zudem habe ich nun meine /etc/exports folgendermaßen angepasst:

Code: Alles auswählen

/var/atlassian 10.0.2.0/24(rw,async,no_subtree_check,no_root_squash)

Vielen Dank nochmal für die Hilfe!

jedie
Beiträge: 36
Registriert: 18.10.2010 14:49:36

Re: NFS: access denied by server while mounting

Beitrag von jedie » 27.06.2016 14:38:33

TorstenB hat geschrieben:Was ich vergessen habe ist, dass in der Containerbeschreibung (/etc/pve/lxc/xyz.conf) des NFS Server-Containers noch folgende Zeile hinzugefügt werden muss:

Code: Alles auswählen

lxc.aa_profile: unconfined
Bedeutet das nicht, das AppArmor für den Container komplette ausgeschaltet wird?!?

Kann man nicht "einfach" per AppArmor ein Profil definieren, das NFS als Server erlaubt ist?!?

jedie
Beiträge: 36
Registriert: 18.10.2010 14:49:36

Re: NFS: access denied by server while mounting

Beitrag von jedie » 27.06.2016 14:42:17

TorstenB hat geschrieben: Ich habe also jetzt in den Dateien /etc/apparmor.d/lxc/lxc-default und /etc/apparmor.d/lxc/lxc-default-with-mounting um die Optionen:

Code: Alles auswählen

  mount fstype=nfs,
  mount fstype=nfs4,
  mount fstype=rpc_pipefs,
Bei einem NFS Server fehlt noch:

Code: Alles auswählen

  mount fstype=nfsd,

Antworten