Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. <jumbotron> ====== Partager des fichier avec NFS ====== Network File System est un mécanisme de partage de fichiers, ou plutôt de points de montage, entre un serveur et un client. Il repose sur le mécanisme //rpc//. </jumbotron> ===== Services ===== Activez les services suivant dans votre [[https://www.freebsd.org/cgi/man.cgi?query=rc.conf&sektion=5|configuration]]: <file bash rc.conf> rpcbind_enable="YES" nfs_server_enable="YES" mountd_enable="YES" mountd_flags="-p 797" rpc_lockd_enable="YES" rpc_lockd_flags="-p 16001" rpc_statd_enable="YES" rpc_statd_flags="-p 719" </file> Le service principal est le premier: rpcbind(8). C'est le mécanisme qui va permettre à un client d'identifier les services utiles: - nfsd(8) - rpc.statd(8) - rpc.lockd(8) Ces derniers s'attribuent par défaut un port dynamiquement, ce qui va poser problème si vous êtes derrière un pare-feu. C'est pourquoi les ports sont fixés dans la configuration. Vérifiez la liste des services avec rpcinfo(8) depuis un client et les ports en écoute avec sockstat(8) sur le serveur. ==== Exports ==== Il faut définir la liste des répertoires à exporter, dans ''/etc/exports'': <file /etc/exports> /data -maproot=david -alldirs -ro -network 192.168.1.1/24 </file> Consultez le manuel de exports(5) pour le détail des options. Si vous utilisez des dataset ZFS, vous pouvez définir directement l'export grâce à la propriété //sharenfs//. <code bash> zfs get sharenfs zroot/DATA/master NAME PROPERTY VALUE SOURCE zroot/DATA/master sharenfs network 192.168.1.1/24,-alldirs local </code> Vérifier que les exports sont pris en compte: <code bash> showmount -e 192.168.1.14 Exports list on 192.168.1.14: /data Everyone </code> ===== Parefeu ===== Autoriser les ports identifiés par les services du chapitre précédent, en UDP comme en TCP. <file bash pf.conf> udp_nfs="{ sunrpc, 797, 719, 16001 }" tcp_nfs="{ sunrpc, nfsd,719, 16001 }" # ... pass log proto udp from { amis } to { serveur } port $udp_nfs pass log proto tcp from { amis } to { serveur } port $tcp_nfs </file> Les ports nommés sont issus de ''/etc/services''. ===== client ===== Depuis un client, ici //debian//, demander un //montage NFS//: <code bash> mount -t nfs -o vers=3 serveur:/montage /montage_local </code> ===== En savoir plus ===== <alert type="info"> * [[ https://docs.freebsd.org/en/books/handbook/network-servers/#network-nfs | le manuel ]] </alert> net/partage_nfs.txt Dernière modification : 2023/11/01 22:31de david