350 likes | 597 Vues
DEUST AMMILoR. Les Réseaux Informatiques. Serveurs réseau principaux NIS - NFS. Laurent JEANPIERRE 2002 - 2003. Les bases : RPC. Remote Procedure Call RFC 1050, 1057 Le serveur fait toutes les opérations Le client envoie un ordre (ex. : copie de fichier)
E N D
DEUST AMMILoR Les Réseaux Informatiques Serveurs réseau principaux NIS - NFS Laurent JEANPIERRE 2002 - 2003
Les bases : RPC • Remote Procedure Call • RFC 1050, 1057 • Le serveur fait toutes les opérations • Le client envoie un ordre (ex. : copie de fichier) • Le serveur identifie le client (autorisation ?) • Le serveur exécute l’ordre entièrement • Le serveur envoie le résultat • Se base sur XDR • eXternal Data Representation • RFC 1014
Well-known ports • Les ports 0-1023 sont réservés • Combien de services potentiels ? • Bien trop ! • Impossible d’assigner 1 (ou +) port à chacun • Utilisation de ports éphémères • 64512 ports disponibles • A chaque fois différents ! • Comment faire ?
Le Port-Mapper • « Annuaire » de services disponibles • Service hébergé par le serveur • Port TCP 111 / UDP 111 • Reçoit des requêtes • N° de service demandé • N° de version demandée • N° de sous-version demandée • Fournit en réponse : • N° de port du service demandé • Protocole utilisé (UDP / TCP)
Lancement d’un service • Le serveur portmapdDOITtourner • Le Port-Mapper de RPC • Ouverture passive des ports TCP 111 & UDP 111 • Le serveur se lance • Ouverture passive d’un port éphémère • Enregistrement dans le port-mapper • Vers port 111 • Envoie ID du service, numéro de Version, … • Envoie N° de port en attente de client • Attente des clients sur son port
Requête Service Identification Version Sous-Version Protocole N° de port Principe des RPC Port-Mapper Serveur
Les Serveurs NIS • Base de données • Inventé par Sun Microsystems en 1985 • Commune à un réseau • Dépendant d’un domaine NIS ( ≠ domaine DNS ) • Organisée en « cartes » ( maps ) • Ensembles thématiques • 1 ligne 1 entrée 1 clé • Accès au service : • Utilise les RPC • Principalement sous Unix
Configuration du NIS • Les démons nécessaires : • ypbind • yptools • Le fichier /etc/yp.conf • # Valid entries are • # • #domain NISDOMAIN server HOSTNAME • # Use server HOSTNAME for the domain NISDOMAIN. • #domain NISDOMAIN broadcast • # Use broadcast on the local net for domain NISDOMAIN • #ypserver HOSTNAME • # Use server HOSTNAME for the local domain. The • # IP-address of server must be listed in /etc/hosts. • # • domain loria broadcast
Configuration du serveur • Les démons nécessaires : • ypserv : le serveur NIS • ypxfrd : transfère les infos à un serveur miroir (ypxfr) • yppush : transfère les infos à tous les serveurs miroirs • Lecture de fichiers du serveur • Au format DBM • Dans un répertoire spécial • /var/yp/nom_de_domaine/ • /etc/yp/nom_de_domaine/ • … • 1 carte Plusieurs fichiers créés par makedbm • Carte.dbm : l’index de la carte (binaire) • Carte.dir : les clés contenues dans la carte • Carte.pag : les endroits où sont stockés les données
Cartes disponibles • En général • hosts : Liste de machines • IP nom_long nom_court • aliases : Liste de publipostage • Format dépend du logiciel de courrier • passwd : Liste d’informations utilisateurs • login:mot_de_passe:UID:GID:nom_complet:home_directory:shell • login : identifiant UNIX • mot_de_passe : sous forme criptée • UID,GID : Numéros d’utilisateur et de groupe • nom_complet : ex « Laurent Jeanpierre » • home_directory : chemin UNIX du répertoire personnel • shell : chemin UNIX du shell utilisé par défaut
Les commandes NIS • ypwhich • Affiche le nom du domaine NIS • ypcat • -x : Affiche la liste des cartes disponibles • <nom> : Affiche le contenu de la carte <nom> • ypmatch • -x : Affiche la liste des cartes disponibles • <clé> <carte> : Affiche l’entrée <clé> de la carte <carte>
Exemple : au LORIA • ypcat –x • Use "ethers" for map "ethers.byname" • Use "aliases" for map "mail.aliases" • Use "services" for map "services.byname" • Use "protocols" for map "protocols.bynumber" • Use "hosts" for map "hosts.byname" • Use "networks" for map "networks.byaddr" • Use "group" for map "group.byname" • Use "passwd" for map "passwd.byname"
Exemple 2 : au LORIA • ypcat protocols • udp 17 UDP • pup 12 PUP • igp 9 IGP • egp 8 EFG • tcp 6 TCP • ipinip 4 IPinIP • ggp 3 GGP • igmp 2 IGMP • icmp 1 ICMP • ip 0 IP • ypcat services • rqlaser 15000/tcp • compost 6604/tcp • minitel 4147/tcp • sbatchd 3882/tcp • pop3s 995/udp pop3 • imaps 993/tcp • DAServer 987/tcp • remotefs 556/tcp rfs_server • new-rwho 550/udp new-who • talk 517/udp • netbios-ns 137/udp • nntp 119/tcp usenet • pop3 110/tcp postoffice • hostnames 101/tcp hostname • http 80/tcp • ftp 21/tcp • …
Exemple 3 : Au loria • ypcat ethers • 08:00:20:21:a2:02 silvestre.loria.fr • 00:02:a5:fc:cf:e7 sarralbe.loria.fr • 00:b0:d0:15:26:2d gremecey.loria.fr • 00:02:a5:a9:8f:95 skinner.loria.fr • 00:80:c8:4c:90:f1 regnier.loria.fr • … • ypcat passwd | grep jeanpier • jeanpier:ErkrA6BpYm1OU:32817:129:Laurent Jeanpierre:/users/maia/jeanpier:/bin/tcsh
Les autres serveurs de données • Contrôleurs de domaine NT • Identifie les utilisateurs • +/- équivalent à la carte NIS « passwd » • Serveurs WINS • Windows Internet Naming Service • +/- équivalent à : • carte NIS « services » • DNS ( résolution de noms ) • NBNS ( résolution de noms pour NETBios ) • Peu utilisés
Serveurs NFS • Network File System • Système de fichiers partagé • Le serveur héberge les fichiers • Les clients : • « Montent » un répertoire partagé • L’utilise de façon transparente • Lecture • Ecriture • Modification • Selon les droits de l’utilisateur ( utilisation du NIS )
Les bases du NFS • Inventé par Sun Microsystems en 1989 • RFCs : 1094, 1813 (V3), 3010 (V4) • Utilise les RPC • Un client NFS • Envoie des commandes • Reçoit des réponses
Configuration du serveur • Fichier /etc/exports • 1 ligne 1 répertoire partagé • Répertoire machine(droits) machine(droits) … • Exemple : • /usr/doc pcs[1-3] (rw) • /users/maia/jeanpier pcs1 (ro) pcs2 (rw)
Configuration du client • Le client NFS est dans le Noyau • Le démon « nfsd » doit tourner • Rien à configurer ! • Montage du système de fichiers : • mount –t nfs serveur:dossier dossier2 • monte le répertoire « dossier » de la machine « serveur » sous le nom « dossier2 » • Accès transparent • Le noyau gère les appels réseau
Exemple de montage Client Serveur mount –t nfs Serveur:/users/equipes/A /users/A
Exemple de montage Client Serveur mount –t nfs Serveur:/users/equipes/D /users/DD
Exemple de montage Client Serveur mv /users/DD/archive /users/DD/archives
Exemple de montage Client Serveur mv /users/DD/archive /users/DD/archives
Exemple de montage Client Serveur mv /users/DD/archive /users/DD/archives
Connaître les montages • Comment savoir si un dossier est local ? mount • Affiche l’ensemble des dossiers montés • Exemple : • none on /mnt/cdrom type supermount (ro,dev=/dev/hdc,fs=auto,--,iocharset=iso8859-15,codepage=850,umask=0) • /dev/hda7 on /mnt/windows type vfat (rw,iocharset=iso8859-15,codepage=850,umask=0) • ebling:/u3/maia on /users/maia type nfs (rw,vers=3,rsize=32768,wsize=32768,proto=tcp,noquota,addr=152.81.1.15)