Vous êtes sur la page 1sur 17

Administration des services rseau - NFS N.

ABGHOUR 2011-2012

N.ABGHOUR

Administration Rseau

Introduction
Objectifs de NFS ( Network File System )
Avoir un systme de fichiers distants Accs transparent ses donnes pour l'utilisateur Tout se passe comme en local (ls, mv, etc.)!

Pourquoi faire ?
Pouvoir accder ses donnes de plusieurs endroits Administration plusieurs machines, un seul compte exemple : /home de vos comptes

Protocole peu performant


Bon pour des rseaux locaux, Trs inconfortable pour les liaisons modem

Attention aux problmes de scurit


Mesures indispensables
N.ABGHOUR Administration Rseau

Principe de fonctionnement

N.ABGHOUR

Administration Rseau

NFS et les RPC


NFS repose sur les RPC (Remote Procedure Calls)
Utilisation du portmapper (programme portmap de Linux) Portmapper = conversion des n de prog RPC en n de ports

Droulement dune RPC:


Serveur RPC :
Indique portmap le port quil utilise et les n de prog RPC quil gre

Envoi dune requte RPC par un client :


Il contacte portmap du serveur pour connatre le numro de port du

programme souhait Il envoie les donnes au port correspondant

N.ABGHOUR

Administration Rseau

NFS en pratique
NFS est compos de 4 protocoles utilisant les RPC

nfs = programme nfsd


Authentification + Cration, recherche, lecture et criture de fichiers

mountd
Montage des systmes exports (mount et umount)

nsm (Network Status Monitor) = programme statd


Surveillance des nuds du rseau (redmarrages)

nlm (Network Lock Manager) = programme lockd


Section critique (lock les fichiers utiliss)
N.ABGHOUR Administration Rseau

Installation Installation des paquets


nfs-kernel-server, nfs-common

Lancement des dmons


Vrifier portmap : rpcinfo p Lancer mountd et nfs sils ne le sont pas
# rpcinfo -p program no_version protocole 100000 100000 100005 100005 100003 100003 2 2 2 1 2 1 tcp udp udp tcp udp tcp no_port 111 111 745 747 2049 2049 portmapper portmapper mountd mountd nfs nfs

N.ABGHOUR

Administration Rseau

Configuration cot serveur


Dans le fichier /etc/exports
Chaque ligne contient le rpertoire exporter et la liste des machines

autorises y accder Par exemple :

Dans /etc/hosts.deny et /etc/hosts.allow


Dcrivent les services autoriss/interdits et pour quelles machines Exemple

Les options :
rw et ro : le client peut lire et crire ou lire uniquement man exports pour avoir la liste complte des options

N.ABGHOUR

Administration Rseau

Redmarrage du serveur
Pour que les modifications soient prises en compte :
exportfs : transmet les modifications au serveur /etc/init.d/nfsd restart qui fait appel exportfs

Fichiers important dans /var/lib/nfs/


rmtab, etab, xtab : utiliss par le noyau pour savoir si un client

est autoris monter un rpertoire NFS

N.ABGHOUR

Administration Rseau

Client Pour monter un SF NFS 2 solutions :


mount nom_server:/nom_rep /nom_point_de_montage Montage automatique : /etc/fstab

Options de montage (man nfs(5)):


rsize, wsize : taille des blocs en lecture ou en criture Soft, hard, hard,intr : type de gestion des pannes du serveur noexec, nosuid : gestion de lexcution de programme sur le SF

NFS
N.ABGHOUR Administration Rseau

Exemple complet
nfs-serv veut partager le rpertoire /nfs-save avec host01 pour un espace de sauvegarde. Sur nfs-serv
Ajouter la ligne suivante /etc/exports : /nfs /nfs-save host01 (rw) Relancer nfs : /etc/init.d/nfsd restart ou exportfs

Sur host01 :
Monter le rpertoire /nfs-save dans /mnt/nfs_save mkdir /mnt/nfs /mnt/nfs-save mount nfs nfs-serv:/nfs serv:/nfs-save /mnt/nfs /mnt/nfs-save

N.ABGHOUR

Administration Rseau

Lenteur de NFS
NFS = protocole lent
Sur-cot en bande passante Plus lent que ftp, http, ssh

Selon les options de montage, les problme de contact avec le serveur peuvent bloquer la machine un certain temps NFS nest utilisable que sur un rseau local dbit lev
Nessayez pas avec un modem.

N.ABGHOUR

Administration Rseau

Optimisation de NFS
Options de montage rsize, wsize = criture et lecture par blocs de 4096 ou 8192 octets par dfaut Ce chiffre nest pas toujours optimal = exprimentation
Mesure le temps de cration dun fichier de 64 Mo

# time dd if=/dev/null of=/mnt/testfile bs=16k count=4096


Mesure le temps de lecture du fichier

# time dd if=/mnt/testfile of=/dev/null bs=16k

Puis umount et mount avec dautres valeurs pour rsize et wsize (multiples de 1024 et < 16384) Puis on recommence pour trouver les valeurs optimales

N.ABGHOUR

Administration Rseau

Scurit
Principe dauthentification :
(uid, gid)local mapp sur (uid, gid)distant quivalence entre les droits locaux et les droits distants Problme pour root : Quels droits possde le root dune machine cliente sur les fichiers exports par un serveur NFS?
par dfaut root (cot client) correspond a lutilisateur nobody (cot

serveur) pour des raisons de scurit (sinon il faut mettre loption no_root_squash dans /etc/exports)

Rgle de non transitivit :


Si A exporte /home B; Si B monte A:/home dans /home2 et

exporte /home2 C alors C naura pas accs au /home de A


N.ABGHOUR Administration Rseau

Scurit de NFS
Scurit ct client : ne pas faire confiance au root du serveur
option nosuid de mount : pas de dmarrage de programmes suid

depuis le systme nfs

Scurit ct serveur
option root_squash dans /etc/exports : transforme lUID 0 en UID de

lutilisateur nobody (active par dfaut : vrifier simplement que no_root_squash nest pas prsente)

Firewalls
Routeurs ou firewall : couper les ports 2049 (nfsd), 749(portmapper),

745 et 747 (mountd)


N.ABGHOUR Administration Rseau

Scurit de NFS : portmapper


Portmapper utilis par nfsd, mountd, ypbind/ypserv, pcnfsd, commandes r comme rusers Fichiers /etc/hosts.allows et /etc/hosts.deny
Editer /etc/hosts.deny : portmap: ALL (on refuse laccs

quiconque) Puis /etc/hosts.allow pour rouvrir quelques machines connues

Exemple : ajouter toutes les machines dun rseau


/etc/hosts.allow : portmap: 194.57.88.0/255.255.255.0 ATTENTION : mettre les IP non les noms de machines

N.ABGHOUR

Administration Rseau

Rcapitulatif
Fichier /var/lib/nfs/etab Cr par exportfs partir De /etc/exports = Liste des clients autoriss

mountd

nfsd

nfs

Fichiers hosts.allow et hosts.deny

Fichier /etc/fstab /nfs-serv:/home /home nfs defaults 0 0


N.ABGHOUR Administration Rseau

Erreurs frquentes Messages du type RPC connection refused


pas de portmap ou problmes avec hosts.allow et hosts.deny mountd et nfsd ne tournent pas sur le serveur Attention aux noms dans exports, mettre les @ IP pour

viter les problme de rsolutions


Ne pas monter un SF avant davoir relancer nfsd ou

exportfs sur le serveur aprs une modification de /etc/exports


N.ABGHOUR Administration Rseau