Administration des services réseau - NFS NFS N.ABGHOUR 2011-2012
N.ABGHOUR
Administration Réseau
Introduction
Objectifs de NFS ( N e t w o r k F i l e S y s t e m ) Avoir
un système de fichiers distants Accès transparent à ses données pour l'utilisateur
Tout se passe comme en local (ls, mv, etc.)!
Pourquoi faire ? Pouvoir accéder à ses données de plusieurs endroits Administration plusieurs machines, un seul compte
Protocole peu performant
exemple : /home de vos comptes
Bon pour des réseaux locaux, Très inconfortable pour les liaisons modem
Attention aux problèmes de sécurité
N.ABGHOUR
Mesures indispensables Administration Réseau
Principe de fonctionnement
N.ABGHOUR
Administration Réseau
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
Déroulement d’une RPC:
Serveur RPC :
Indique à portmap le port qu’il utilise et les n° de prog RPC qu’il gère
Envoi d’une requête RPC par un client : Il contacte portmap du serveur pour connaître le numéro de port du programme souhaité Il envoie les données au port correspondant
N.ABGHOUR
Administration Réseau
NFS en pratique NFS est composé de 4 protocoles utilisant les RPC
nfs = programme nfsd
Authentification + Création, recherche, lecture et écriture de fichiers
mountd
nsm (Network Status Monitor ) = programme statd
Montage des systèmes exportés (mount et umount)
Surveillance des nœuds du réseau (redémarrages…)
nlm (Network Lock Manager ) = programme lockd
N.ABGHOUR
Section critique (lock les fichiers utilisés) Administration Réseau
Installation
Installation des paquets
nfs-kernel-server,
nfs-common
Lancement des démons
Vérifier portmap : rpcinfo –p
Lancer mountd et nfs s’ils ne le sont pas
# rpcinfo -p
pr ogr am no_vers i on pr ot ocol e
N.ABGHOUR
no_por t
100000
2
t cp
111
por t mapper
100000 100005
2 2
udp udp
111 745
por t mapper mount d
100005
1
t cp
747
mount d
100003 100003
2 1
udp t cp
2049 2049
nf s nf s Administration Réseau
Configuration coté serveur Dans le fichier /etc/exports
Chaque ligne contient le répertoire à exporter et la li ste des machines autorisées à y accéder Par exemple :
Dans /etc/hosts.deny et /etc/hosts.allow
Décrivent les services autorisés/interdits et pour quelles machines Exemple
Les options :
N.ABGHOUR
rw et ro : le client peut lire et écrire ou lire uniquement man exports pour avoir la liste complète des options
Administration Réseau
Redémarrage 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/
N.ABGHOUR
rmtab, etab, xtab : utilisés par le noyau pour savoir si un client est autorisé à monter un répertoire NFS
Administration Réseau
Client
Pour monter un SF NFS 2 solutions : mount
nom_server:/nom_rep /nom_point_de_montage
Mont age aut omat i que : /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 l’exécution de programme sur le SF NFS
N.ABGHOUR
Administration Réseau
Exemple complet
nfs-serv veut partager le répertoire /nfs-save avec host01 pour un espace de sauvegarde.
Sur nfs-serv
Ajouter la ligne suivante à /etc/exports :
host01 (rw)
Relancer nfs :
/nfs/nfs -save
/etc/init.d/nfsd restart ou exportfs
Sur host01 :
N.ABGHOUR
Monter le répertoire /nfs-save dans /mnt/nfs_save mkdir
/mnt/nfs/mnt/nfs -save
mount
nfsnfs -serv:/nfsserv:/nfs-save
/mnt/nfs/mnt/nfs -save
Administration Réseau
Lenteur de NFS
NFS = protocole lent
Sur-coût en bande passante Plus lent que ftp, http, ssh…
Selon les options de montage, les problème de contact avec le serveur peuvent bloquer la machine un certain temps
NFS n’est utilisable que sur un réseau local à débit élevé
N.ABGHOUR
N’essayez pas avec un modem.
Administration Réseau
Optimisation de NFS
Options de montage rsize, wsize = écriture et lecture par blocs de 4096 ou 8192 octets par défaut
Ce chiffre n’est pas toujours optimal = expérimentation
Mesure le temps de création d’un 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 d’autres valeurs pour rsize et wsize (multiples de 1024 et < à 16384)
Puis on recommence pour trouver les valeurs optimales
N.ABGHOUR
Administration Réseau
Sécurité Principe d’authentification :
(uid, gid)local “mappé” sur (uid, gid)distant
équivalence entre les droits locaux et les droits distants
Problème pour root :
Quels droits possède le root d’une machine cliente sur les fichiers exportés par un serveur NFS?
par défaut root (coté client) correspond a l’utilisateur nobody (coté serveur) pour des raisons de sécurité (sinon il faut mettre l’option no_root_squash dans /etc/exports )
Règle de non transitivité :
N.ABGHOUR
Si A exporte /home à B; Si B monte A:/home dans /home2 et exporte /home2 à C alors C n’aura pas accès au /home de A Administration Réseau
Sécurité de NFS Sécurité côté client : ne pas faire confiance au root du serveur
Sécurité côté serveur
option nosuid de mount : pas de démarrage de programmes suid depuis le système nfs
option root_squash dans /etc/exports : transforme l’UID 0 en UID de l’utilisateur nobody (active par défaut : vérifier simplement que no_root_squash n’est pas présente)
Firewalls
N.ABGHOUR
Routeurs ou firewall : couper les ports 2049 (nfsd), 749(portmapper), 745 et 747 (mountd) Administration Réseau
Sécur ité 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 l’accès à quiconque) Puis /etc/hosts.allow pour rouvrir à quelques machines connues
Exemple : ajouter toutes les machines d’un réseau /etc/hosts.allow : portmap: 194.57.88.0/255.255.255.0 ATTENTION : mettre les IP non les noms de machines
N.ABGHOUR
Administration Réseau
Récapitulatif
Fichier /var/lib/nfs/etab
Cr éé par expor t f s à par t i r De / et c/ expor t s = Li st e des cl i ent s aut or i sés
mountd
nfsd
nfs
Fichiers host s.allow et hosts.deny
Fichier /etc/fstab
/ nf s- serv: / home / home nf s def aul t s 0 0 N.ABGHOUR
Administration Réseau
Erreurs fréquentes
Messages du type RPC connection refused
pas de portmap
ou problèmes 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 problème de résolutions
N.ABGHOUR
Ne pas monter un SF avant d’avoir relancer nfsd ou exportfs sur le serveur après une modification de /etc/exports Administration Réseau