Les Réseaux InformatiquesLes Réseaux InformatiquesServeurs réseau principauxServeurs réseau principaux
NIS - NFSNIS - NFS
Laurent JEANPIERRE2002 - 2003
DEUST AMMILoR
Les bases : RPCLes bases : RPC
Remote Procedure CallRemote Procedure Call RFC 1050, 1057RFC 1050, 1057 Le serveur fait Le serveur fait toutestoutes les opérations les opérations
Le client envoie un ordre (ex. : copie de fichier)Le client envoie un ordre (ex. : copie de fichier) Le serveur identifie le client (autorisation ?)Le serveur identifie le client (autorisation ?) Le serveur exécute l’ordre entièrementLe serveur exécute l’ordre entièrement Le serveur envoie le résultatLe serveur envoie le résultat
Se base sur XDRSe base sur XDR eXternal Data RepresentationeXternal Data Representation RFC 1014RFC 1014
Well-known portsWell-known ports
Les ports 0-1023 sont réservésLes ports 0-1023 sont réservés Combien de services potentiels ?Combien de services potentiels ?
Bien trop !Bien trop ! Impossible d’assigner 1 (ou +) port à chacunImpossible d’assigner 1 (ou +) port à chacun
Utilisation de ports éphémèresUtilisation de ports éphémères 64512 ports disponibles64512 ports disponibles A chaque fois différents ! A chaque fois différents ! Comment faire ?Comment faire ?
Le Port-MapperLe Port-Mapper
« Annuaire » de services disponibles« Annuaire » de services disponibles Service hébergé par le serveurService hébergé par le serveur
Port TCP 111 / UDP 111Port TCP 111 / UDP 111 Reçoit des requêtesReçoit des requêtes
N° de service demandéN° de service demandé N° de version demandéeN° de version demandée N° de sous-version demandéeN° de sous-version demandée
Fournit en réponse :Fournit en réponse : N° de port du service demandéN° de port du service demandé Protocole utilisé (UDP / TCP)Protocole utilisé (UDP / TCP)
Lancement d’un serviceLancement d’un service
Le serveur Le serveur portmapdportmapd DOITDOIT tournertourner Le Port-Mapper de RPCLe Port-Mapper de RPC Ouverture passive des ports TCP 111 & UDP 111Ouverture passive des ports TCP 111 & UDP 111
Le serveur se lanceLe serveur se lance Ouverture passive d’un port éphémèreOuverture passive d’un port éphémère Enregistrement dans le port-mapperEnregistrement dans le port-mapper
Vers port 111Vers port 111 Envoie ID du service, numéro de Version, …Envoie ID du service, numéro de Version, … Envoie N° de port en attente de clientEnvoie N° de port en attente de client
Attente des clients sur son portAttente des clients sur son port
Principe des RPCPrincipe des RPC
Port-M
apper Serveur
Requête ServiceIdentification
VersionSous-Version
ProtocoleN° de port
Les Serveurs NISLes Serveurs NIS
Base de donnéesBase de données Inventé par Sun Microsystems en 1985 Inventé par Sun Microsystems en 1985 Commune à un réseauCommune à un réseau Dépendant d’un domaine NIS ( Dépendant d’un domaine NIS ( ≠ domaine DNS≠ domaine DNS ) ) Organisée en « cartes » ( Organisée en « cartes » ( mapsmaps ) )
Ensembles thématiquesEnsembles thématiques 1 ligne 1 ligne 1 entrée 1 entrée 1 clé 1 clé
Accès au service :Accès au service : Utilise les RPCUtilise les RPC Principalement sous UnixPrincipalement sous Unix
Configuration du NISConfiguration du NIS Les démons nécessaires :Les démons nécessaires :
ypbindypbind yptoolsyptools
Le fichier /etc/yp.confLe fichier /etc/yp.conf # Valid entries are# Valid entries are ## #domain NISDOMAIN server HOSTNAME#domain NISDOMAIN server HOSTNAME # Use server HOSTNAME for the domain NISDOMAIN.# Use server HOSTNAME for the domain NISDOMAIN. #domain NISDOMAIN broadcast#domain NISDOMAIN broadcast # Use broadcast on the local net for domain NISDOMAIN# Use broadcast on the local net for domain NISDOMAIN #ypserver HOSTNAME#ypserver HOSTNAME # Use server HOSTNAME for the local domain. The# Use server HOSTNAME for the local domain. The # IP-address of server must be listed in /etc/hosts.# IP-address of server must be listed in /etc/hosts. ## domain loria broadcastdomain loria broadcast
Configuration du serveurConfiguration du serveur Les démons nécessaires :Les démons nécessaires :
ypservypserv : le serveur NIS : le serveur NIS ypxfrdypxfrd : transfère les infos à un serveur miroir ( : transfère les infos à un serveur miroir (ypxfrypxfr)) yppushyppush : transfère les infos à tous les serveurs miroirs : transfère les infos à tous les serveurs miroirs
Lecture de fichiers du serveurLecture de fichiers du serveur Au format DBMAu format DBM Dans un répertoire spécialDans un répertoire spécial
/var/yp/nom_de_domaine//var/yp/nom_de_domaine/ /etc/yp/nom_de_domaine//etc/yp/nom_de_domaine/ ……
1 carte 1 carte Plusieurs fichiers créés par Plusieurs fichiers créés par makedbmmakedbm Carte.dbm : l’index de la carte (binaire)Carte.dbm : l’index de la carte (binaire)
Carte.dir : les clés contenues dans la carteCarte.dir : les clés contenues dans la carte Carte.pag : les endroits où sont stockés les donnéesCarte.pag : les endroits où sont stockés les données
Cartes disponiblesCartes disponibles
En généralEn général hosts : Liste de machineshosts : Liste de machines
IPIP nom_longnom_long nom_courtnom_court aliases : Liste de publipostagealiases : Liste de publipostage
Format dépend du logiciel de courrierFormat dépend du logiciel de courrier passwd : Liste d’informations utilisateurspasswd : Liste d’informations utilisateurs
login:mot_de_passe:UID:GID:nom_complet:home_directory:shelllogin:mot_de_passe:UID:GID:nom_complet:home_directory:shell login : identifiant UNIXlogin : identifiant UNIX mot_de_passe : sous forme mot_de_passe : sous forme criptéecriptée UID,GID : Numéros d’utilisateur et de groupeUID,GID : Numéros d’utilisateur et de groupe nom_complet : ex « Laurent Jeanpierre »nom_complet : ex « Laurent Jeanpierre » home_directory : chemin UNIX du répertoire personnelhome_directory : chemin UNIX du répertoire personnel shell : chemin UNIX du shell utilisé par défautshell : chemin UNIX du shell utilisé par défaut
Les commandes NISLes commandes NIS
ypwhichypwhich Affiche le nom du domaine NISAffiche le nom du domaine NIS
ypcatypcat -x : Affiche la liste des cartes disponibles-x : Affiche la liste des cartes disponibles <nom> : Affiche le contenu de la carte <nom><nom> : Affiche le contenu de la carte <nom>
ypmatchypmatch -x : Affiche la liste des cartes disponibles-x : Affiche la liste des cartes disponibles <clé> <carte> : Affiche l’entrée <clé> de la <clé> <carte> : Affiche l’entrée <clé> de la
carte <carte>carte <carte>
Exemple : au LORIAExemple : au LORIA
ypcat –xypcat –x Use "ethers" for map "ethers.byname"Use "ethers" for map "ethers.byname" Use "aliases" for map "mail.aliases"Use "aliases" for map "mail.aliases" Use "services" for map "services.byname"Use "services" for map "services.byname" Use "protocols" for map "protocols.bynumber"Use "protocols" for map "protocols.bynumber" Use "hosts" for map "hosts.byname"Use "hosts" for map "hosts.byname" Use "networks" for map "networks.byaddr"Use "networks" for map "networks.byaddr" Use "group" for map "group.byname"Use "group" for map "group.byname" Use "passwd" for map "passwd.byname" Use "passwd" for map "passwd.byname"
Exemple 2 : au LORIAExemple 2 : au LORIA
ypcat protocolsypcat protocols udpudp 17 17 UDPUDP puppup 12 12 PUPPUP igp igp 9 9 IGPIGP egp egp 8 8 EFGEFG tcp tcp 6 6 TCPTCP ipinip ipinip 4 4 IPinIPIPinIP ggp ggp 3 3 GGPGGP igmp igmp 2 2 IGMPIGMP icmp icmp 1 1 ICMPICMP ip ip 0 0 IP IP
ypcat servicesypcat services rqlaser rqlaser 15000/tcp15000/tcp compost compost 6604/tcp6604/tcp minitel minitel 4147/tcp4147/tcp sbatchd sbatchd 3882/tcp3882/tcp pop3s pop3s 995/udp995/udp pop3pop3 imaps imaps 993/tcp993/tcp DAServer DAServer 987/tcp987/tcp remotefs remotefs 556/tcp556/tcp
rfs_serverrfs_server new-rwho new-rwho 550/udp 550/udp new-whonew-who talk talk 517/udp517/udp netbios-ns netbios-ns 137/udp137/udp nntp nntp 119/tcp 119/tcp usenetusenet pop3 pop3 110/tcp 110/tcp postofficepostoffice hostnames hostnames 101/tcp 101/tcp hostnamehostname http http 80/tcp80/tcp ftp ftp 21/tcp21/tcp ……
Exemple 3 : Au loriaExemple 3 : Au loria
ypcat ethersypcat ethers 08:00:20:21:a2:0208:00:20:21:a2:02 silvestre.loria.frsilvestre.loria.fr 00:02:a5:fc:cf:e700:02:a5:fc:cf:e7 sarralbe.loria.frsarralbe.loria.fr 00:b0:d0:15:26:2d00:b0:d0:15:26:2d gremecey.loria.frgremecey.loria.fr 00:02:a5:a9:8f:9500:02:a5:a9:8f:95 skinner.loria.frskinner.loria.fr 00:80:c8:4c:90:f100:80:c8:4c:90:f1 regnier.loria.frregnier.loria.fr ……
ypcat passwd | grep jeanpierypcat passwd | grep jeanpier jeanpier:ErkrA6BpYm1OU:32817:129:Laurent Jeanpierre:/users/maia/jeanpier:/bin/tcshjeanpier:ErkrA6BpYm1OU:32817:129:Laurent Jeanpierre:/users/maia/jeanpier:/bin/tcsh
Les autres serveurs de donnéesLes autres serveurs de données
Contrôleurs de domaine NTContrôleurs de domaine NT Identifie les utilisateursIdentifie les utilisateurs +/- équivalent à la carte NIS « passwd »+/- équivalent à la carte NIS « passwd »
Serveurs WINSServeurs WINS Windows Internet Naming ServiceWindows Internet Naming Service +/- équivalent à :+/- équivalent à :
carte NIS « services »carte NIS « services » DNS ( résolution de noms )DNS ( résolution de noms ) NBNS ( résolution de noms pour NETBios )NBNS ( résolution de noms pour NETBios )
Peu utilisésPeu utilisés
Serveurs NFSServeurs NFS
Network File SystemNetwork File System Système de fichiers partagéSystème de fichiers partagé
Le serveur héberge les fichiersLe serveur héberge les fichiers Les clients :Les clients :
« Montent » un répertoire partagé« Montent » un répertoire partagé L’utilise de façon transparenteL’utilise de façon transparente
LectureLecture EcritureEcriture ModificationModification
Selon les droits de l’utilisateur ( utilisation du NIS )Selon les droits de l’utilisateur ( utilisation du NIS )
Les bases du NFSLes bases du NFS
Inventé par Sun Microsystems en 1989Inventé par Sun Microsystems en 1989 RFCs : 1094, 1813 (V3), 3010 (V4)RFCs : 1094, 1813 (V3), 3010 (V4) Utilise les RPC Utilise les RPC
Un client NFSUn client NFS Envoie des commandesEnvoie des commandes Reçoit des réponsesReçoit des réponses
Configuration du serveurConfiguration du serveur
Fichier /etc/exportsFichier /etc/exports 1 ligne 1 ligne 1 répertoire partagé 1 répertoire partagé RépertoireRépertoire machinemachine (droits) machine(droits) machine (droits) (droits) ……
Exemple :Exemple : /usr/doc/usr/doc pcs[1-3] (rw)pcs[1-3] (rw) /users/maia/jeanpier/users/maia/jeanpier pcs1 (ro) pcs2 (rw)pcs1 (ro) pcs2 (rw)
Configuration du clientConfiguration du client
Le client NFS est dans le NoyauLe client NFS est dans le Noyau Le démon « nfsd » doit tournerLe démon « nfsd » doit tourner Rien à configurer !Rien à configurer !
Montage du système de fichiers :Montage du système de fichiers : mount –t nfs serveur:dossier dossier2mount –t nfs serveur:dossier dossier2 monte le répertoire « dossier » de la monte le répertoire « dossier » de la
machine « serveur » sous le nom « dossier2 »machine « serveur » sous le nom « dossier2 » Accès transparentAccès transparent
Le noyau gère les appels réseauLe noyau gère les appels réseau
Exemple de montageExemple de montage
/
users bin local
root equipes old new test
A B C D optim compat
travail archive
Serveur
mount –t nfs Serveur:/users/equipes/A /users/A
/
users bin
root
Client
Exemple de montageExemple de montage
/
users bin local
root equipes old new test
A B C D optim compat
travail archive
Serveur
mount –t nfs Serveur:/users/equipes/D /users/DD
/
users bin
root A
Client
Exemple de montageExemple de montage
/
users bin local
root equipes old new test
A B C D optim compat
travail archive
Serveur
/
users bin
root A DD
travail archive
Client
mv /users/DD/archive /users/DD/archives
Exemple de montageExemple de montage
/
users bin local
root equipes old new test
A B C D optim compat
travail archives
Serveur
/
users bin
root A DD
travail archive
Client
mv /users/DD/archive /users/DD/archives
Exemple de montageExemple de montage
/
users bin local
root equipes old new test
A B C D optim compat
travail archives
Serveur
/
users bin
root A DD
travail archives
Client
mv /users/DD/archive /users/DD/archives
Connaître les montagesConnaître les montages
Comment savoir si un dossier est local ?Comment savoir si un dossier est local ? mountmount
Affiche l’ensemble des dossiers montésAffiche l’ensemble des dossiers montés Exemple :Exemple :
none on /mnt/cdrom type supermount none on /mnt/cdrom type supermount (ro,dev=/dev/hdc,fs=auto,--,(ro,dev=/dev/hdc,fs=auto,--,iocharset=iso8859-15,codepage=850,umask=0)iocharset=iso8859-15,codepage=850,umask=0)
/dev/hda7 on /mnt/windows type vfat (rw,/dev/hda7 on /mnt/windows type vfat (rw,iocharset=iso8859-15,codepage=850,umask=0)iocharset=iso8859-15,codepage=850,umask=0)
ebling:/u3/maia on /users/maia type nfs ebling:/u3/maia on /users/maia type nfs (rw,vers=3,rsize=32768,wsize=32768,proto=tcp,noquota,(rw,vers=3,rsize=32768,wsize=32768,proto=tcp,noquota,addr=152.81.1.15)addr=152.81.1.15)
Top Related