NFS Server und NFS Mount

ghostadmin

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
25.213
Renomée
191
Standort
Dahoam Studios
Ich habe einen NFS Server 192.168.2.2 und einen weiteren Linux Rechner der was vom Server mounten soll

exports am nfsserver
/ 192.168.2.20(rw,no_root_squash,sync)
/home/trechber 192.168.2.20(rw,no_root_squash,sync)
/srv 192.168.2.20(rw,no_root_squash,sync)

eine /etc/sysconfig/nfs habe ich noch gefunden, da steht aber nur drin

REEXPORT_NFS="no"

fstab sieht so aus
192.168.2.2:/home/trechber /mnt/server_trechber nfs rw,suid,soft,intr,rsize=8192,wsize=8192 0 0
192.168.2.2:/ /mnt/server_root nfs rw,suid,soft,intr,rsize=8192,wsize=8192 0 0
192.168.2.2:/srv /mnt/server_srv nfs rw,suid,soft,intr,rsize=8192,wsize=8192 0 0

mein Problem ist das wenn ich mich am Client als trechber anmelde habe ich nur Readonly Access, genauso als Root kann ich keine Datei unter /mnt/server_root/etc schreiben

das einzige was ging ist das ich als Root unter /mnt/server_srv was schreiben kann

wie kann man da vollen Zugriff bekommen?
warum kann man in der exports den Host nicht so angeben: 192.168.2.0/24
nosuid und suid habe ich auch probiert, suid heisst ja glaube ich das die IDs from Remotesystem verwendet werden?
Muss ich irgendwie darauf achten das die UserIDs beider Systeme gleich sind oder wie funktioniert das mit dem mappen?
 
fang ich mal hinten an: 192.168.2.0 reicht, dann darf das ganze netzwerk darauf zugreifen.

dann zu den schreibrechten: prinzipiell, glaub ich, geht das nach der uid bzw. gid. wenn die auf server und client nicht übereinstimmen, gibbet keine schreibrechte.
lösung: auf client oder server anpassen, oder ein programm, mir fällt nur grad der name nicht ein, nutzen, dass uids für genau diesen zweck übersetzt.
wenn es daran nicht liegen sollte, kannst du noch z.B. mit mount mal überprüfen, ob die wirklich rw gemountet sind, notfalls nochmal mit -o remount,rw nachhelfen.

ansonsten würd ich dir aber auch noch empfehlen, in der fstab, soweit das vom server unterstützt wird, die option tcp dazuzunehmen, beschleunigt das schon ganz nett.


achja: ich hab grad mal in die "man exports" reingeschaut, solltest du auch unbedingt machen, dort ist nämlich eine mögliche ursache für das problem der fehlenden schreibrechte des users root genannt.
 
Also ich habe gerade eine funktionierende /etc/exports. Da steht drinnen:

PHP:
/share 192.168.10.22(rw,sync,all_squash,anonuid=0,anongid=0)

Wie man sieht, werden Lese- und Schreibrechte lokal für root gesetzt. Bzüglich User und Gruppen id hat Pilli recht. Wenn das auf Server und Client nicht übereinstimmt, dann wird das ohne all_squash und anonuid sowie anongid nie 100%ig funktionieren. Ich glaube sogar das die User- und Gruppen Namen sowie die dazugehörigen Nummern stimmen müssen.

Zum Abschluß noch eine Info: Es gubt mehrere Nfs-Versionen. Die Protokolle können also auch verschieden sein.......

Gruß Wuschl
 
@Wuschl
das
all_squash bedeutet doch laut meinem Kenntnisstand das alle User und Gruppen IDs auf Anonymous auf dem Zielserver gemappt werden

bei no_root_squash würde Root 1:1 gemappt werden

und da Root die ID 0 hat mappst du alles von Anonymous auf Root und damit hätte wirklich jeder schreibzugriffe bei deinem Beispiel ???

NFS Versionen ist überall 3, hab trotzdem mal nfsvers=3 gesetzt, schadet ja nicht

wie funktioniert das eigentlich mit den Ports? Der Portmapper ist doch unbedingt erforderlich oder? Wenn NFS nicht am Portmapper registriert ist wird der Port 2049 verwendet, steht in der manpage

@Pilli

was geht wäre z.B. das
192.168.2.20 - 192.168.2.30

bei den anderen Sachen bekomme ich nur die Meldung das der Zugriff nicht erlaubt ist
 
@Wuschl
das
all_squash bedeutet doch laut meinem Kenntnisstand das alle User und Gruppen IDs auf Anonymous auf dem Zielserver gemappt werden

bei no_root_squash würde Root 1:1 gemappt werden

und da Root die ID 0 hat mappst du alles von Anonymous auf Root und damit hätte wirklich jeder schreibzugriffe bei deinem Beispiel ???

Ups, da hab ich wohl was falsch verstanden *noahnung* Dachte das soll unkompliziert rw-Zugriff ermöglichen :)

Gruß Wuschl
 
ich habe schon wieder Probleme

a)

es macht auch nen Unterschied ob man am Server nfsserver oder nfsutils benutzt! nfsserver ist im userspace und macht gehörige Probleme z.B. wenn man in fstab die Version nicht angibt wird nur Version2 (was noch funktioniert) verwendet, gibt man 3 an kommt:
mount: RPC: Program/version mismatch; low version = 1, high version = 2

mit nfsutils gehts einwandfrei

genauso geht dann 192.168.2.0/24 in exports!

b)

wenn man am Server NFS4 aktiviert und dann vom Client mappen will kommt die Meldung:
mount: can't get address for dhcppc0
(dhcppc0 so heisst der Hostname vom Client)

was ist das denn?

c)

dann bin ich darauf gestoßen weil trotz freigegener Ports 111 und 2049 es geblockt wurde:
http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=977086
Nur mit NFS4 kann man alle Ports fest konfigurieren

habe NFS4 am Server konfiguriert /etc/sysconfig/nfs:

REEXPORT_NFS="no"
USE_KERNEL_NFSD_NUMBER="4"
NFS_SECURITY_GSS="no"
MOUNTD_PORT="12003"
NFS4_SUPPORT="yes"

RPC Ports:

server:/etc/init.d # rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100024 1 udp 32839 status
100021 1 udp 32839 nlockmgr
100021 3 udp 32839 nlockmgr
100021 4 udp 32839 nlockmgr
100024 1 tcp 32807 status
100021 1 tcp 32807 nlockmgr
100021 3 tcp 32807 nlockmgr
100021 4 tcp 32807 nlockmgr
100005 1 udp 12003 mountd
100005 1 tcp 12003 mountd
100005 2 udp 12003 mountd
100005 2 tcp 12003 mountd
100005 3 udp 12003 mountd
100005 3 tcp 12003 mountd

iptables habe ich dann noch die TCP Ports 111,2049 und 12003 geöffnet, mit NFSV3 kann ich mich connecten aber nicht mit NFSV4, da kommt die obenstehende Fehlermeldung!


hier die Config vom Client/fstab:

192.168.2.2:/home/trechber /mnt/server_trechber nfs rw,suid,soft,intr,nfsvers=3,tcp,port=2049,rsize=32768,wsize=32768 0 0

für nfs4 wäre das dann:

192.168.2.2:/home/trechber /mnt/server_trechber nfs4 rw,suid,soft,intr,proto=tcp,port=2049,rsize=32768,wsize=32768 0 0


Am Server exports (nfsutils hat andere Optionen wie nfsserver):

/ 192.168.2.0/24(rw,no_root_squash,sync)
/home/trechber 192.168.2.0/24(rw,no_root_squash,sync)
/srv 192.168.2.0/24(rw,no_root_squash,sync)



Wie bekomme ich NFS4 zum laufen?
 
Zurück
Oben Unten