« Nfs » : différence entre les versions
Ligne 70 : | Ligne 70 : | ||
Et copiez la clé ssh publique de votre client dans /home/sleeper/.ssh/authorized_keys : | Et copiez la clé ssh publique de votre client dans /home/sleeper/.ssh/authorized_keys : | ||
<pre>from="ip",command="/bin/sleep 600d" ssh-rsa .......</pre> | <pre>from="ip",command="/bin/sleep 600d" ssh-rsa .......</pre> | ||
Créez enfin le partage nfs dans <code>/etc/exports</code>. En admettant que vous souhaitez partager le dossier /srv (remplacez IPNFS par l'ip de votre serveur) : | |||
<pre>/srv IPNFS(rw,no_root_squash,sync,insecure)</pre> |
Version du 24 décembre 2012 à 16:05
Installation classique
Sur le serveur
Installer le serveur nfs :
aptitude install nfs-kernel-server
Pour créer un partage, éditez le fichier /etc/exports
:
/home/pfoo/data/ 192.168.10.0/255.255.255.0(ro,all_squash,anonuid=1000,anongid=1000,sync)
Pour permettre la lecture et l'écriture, remplacez ro
par rw
192.168.10.0/255.255.255.0
signifie que le partage sera accessible pour les ips 192.168.10.X
Rechargez nfs :
/etc/init.d/nfs-kernel-server reload
Attention, si vous souhaitez partager un volume ntfs en nfs, utilisez de préférence ntfs-3g pour monter le volume ntfs sur le serveur.
Limiter l'accès
Ajoutez les lignes suivantes dans /etc/hosts.deny
:
portmap: ALL lockd: ALL mountd: ALL rquotad: ALL statd: ALL
Ajoutez les lignes suivantes dans /etc/hosts.allow
:
portmap: 192.168.10. lockd: 192.168.10. mountd: 192.168.10. rquotad: 192.168.10. statd: 192.168.10.
Sur le client
Installer le client nfs :
aptitude install nfs-common
Ajoutez la ligne suivante dans /etc/fstab
:
192.168.10.13:/home/pfoo/data/ /home/pfoo/mnt/ nfs defaults,user,auto,noatime,intr 0 0
192.168.10.13
est l'ip de votre serveur nfs.
il ne reste plus qu'a monter :
mount /home/pfoo/mnt/
NFS et tunnel ssh
Sur le serveur
Pour simplifier les choses, il va falloir forcer NFS à n'utiliser que des ports précis.
Modifiez la ligne suivante dans /etc/default/nfs-common
:
STATDOPTS="--port 2231"
Modifiez la ligne suivante dans <code</etc/default/nfs-kernel-server :
RPCMOUNTDOPTS="--port 2233"
Enfin, créez le fichier /etc/modprobe.d/local.conf
contenant :
options lockd nlm_udpport=2232 nlm_tcpport=2232 options nfs callback_tcpport=2234
Créez un utilisateur "sleeper" qui servira a établir le tunnel ssh:
adduser --disabled-password sleeper
Et copiez la clé ssh publique de votre client dans /home/sleeper/.ssh/authorized_keys :
from="ip",command="/bin/sleep 600d" ssh-rsa .......
Créez enfin le partage nfs dans /etc/exports
. En admettant que vous souhaitez partager le dossier /srv (remplacez IPNFS par l'ip de votre serveur) :
/srv IPNFS(rw,no_root_squash,sync,insecure)