Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

utilisation de nis et nfs pour un réseau de 32 postes

0 views
Skip to first unread message

olivier

unread,
Feb 20, 2024, 3:00:05 AMFeb 20
to
Bonjour,

J'ai un réseau totalement avec débian 11 (que je compte mettre à jour
avec la version 12), constitué d'un serveur avec deux cartes réseau,
l'une reliée à l’extérieur par la fibre (DHCP) et l'autre carte (Adresse
IP fixe 192.168.200.0) reliée à un switch. Ce switch est relié à 32
postes (avec IP fixe de 192.168.200.10 à 192.168.200.50, adresse de la
passerelle 192.168.200.0, masque de sous réseau 255.255.255.0).

Les 32 postes sont utilisés par une classe d'élèves. J'ai 200 élèves à
gérer, donc 200 profil différent.

Pour que chaque poste accède à internet, j'ai fais

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Est ce judicieux ?

J'ai essayé avec NIS avec debian 11, l'authentification à l'air de bien
fonctionner. Pour l'authentification, NIS est il bien adapté pour ce
genre de configuration ?

Par contre au niveau de l'export (NFS), cela rame un peu (je me rend
compte que j'exporte l'ensemble du home serveur sur tous les clients et
non celui uniquement de l'utilisateur). Comment faire pour exporter sur
la machine cliente uniquement le profil de l'utilisateur et non tous les
utilisateurs ?

Sur le serveur, j'ai mis à la fin dans le fichier /etc/exports

/home/NFS_Partage 192.168.200.1/24(rw,sync,no_subtree_check)
mais j'hésite avec

/home/NFS_Partage
192.168.0.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)

Sur le client, j'ai mis à la fin dans le fichier fstab

DomaineNFS:/home/NFS_Partage /home             nfs defaults        0 0

On m'a parlé de LDAP, mais je ne sais pas trop comment m'y prendre. Est
il préférable d'utiliser LDAP ou NIS pour l'authentification ? Existe il
un petit manuel simple pour créer 200 utilisateurs.

Mon réseau fonctionne, mais rame beaucoup au delà de 4 utilisateurs ? et
je n'arrive pas à trouver une solution.

Un grand merci pour votre aide.

Olivier

Basile Starynkevitch

unread,
Feb 20, 2024, 4:00:06 AMFeb 20
to


On 2/20/24 08:34, olivier wrote:
Bonjour,

J'ai un réseau totalement avec débian 11 (que je compte mettre à jour avec la version 12), constitué d'un serveur avec deux cartes réseau, l'une reliée à l’extérieur par la fibre (DHCP) et l'autre carte (Adresse IP fixe 192.168.200.0) reliée à un switch. Ce switch est relié à 32 postes (avec IP fixe de 192.168.200.10 à 192.168.200.50, adresse de la passerelle 192.168.200.0, masque de sous réseau 255.255.255.0).

Les 32 postes sont utilisés par une classe d'élèves. J'ai 200 élèves à gérer, donc 200 profil différent.

Pour que chaque poste accède à internet, j'ai fais

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Est ce judicieux ?

J'ai essayé avec NIS avec debian 11, l'authentification à l'air de bien fonctionner. Pour l'authentification, NIS est il bien adapté pour ce genre de configuration ?


A l'époque déjà lointaine où j'étais sysadmin occasionnel (au CEA) NIS fonctionnait bien. C'était avant 2000, sur des stations Sun.


Par contre (et pour avoir enseigné plus récemment Linux à l'IUT d'Orsay) je m'interroge sur la pertinence de mettre (en 2024) le /home sur NFS. Ça a un inconvenient colossal en 2024: NFS est plus lent que l'accès au disque local de chaque poste. Si on compile des sources sur un serveur NFS avec le fichier objet sur un serveur NFS (le même), si on lance un exécutable ELF sur un serveur NFS, c'est nettement plus lent.

Ca dépend de quels genres d'enseignements il s'agit. S'il s'agit d'enseigner à des débutants complets la programmation avec un langage compilé (C, C++, Ada, Fortran, Ocaml) j'aurais tendance à :

  • décider avec les autres enseignants si les étudiants peuvent avoir accès (ou non) aux fichiers de leurs camarades. A mon avis c'est très utile (pour l'entraide, la détection du plagiat, ...).
  • expliquer aux étudiants ce qu'est NFS et un serveur de fichiers.
  • Ne pas monter NFS le /home mais un autre répertoire, par exemple /UnivMontp3et annoncer aux étudiants que le /home n'est pas sauvegardé!
  • expliquer aux étudiants ce qu'est un versionneur de fichiers; leur recommander (voir imposer) l'utilisation de git: https://git-scm.com/
  • installer un service git sur le serveur.
  • expliquer à tous les étudiants leurs droits et devoirs (comme étudiants). Par exemple, ceux (et ils sont nombreux) qui ont un ordinateur portable personnel (à eux, pas payé par l'université), ont-ils le droit de l'utiliser en TP? de le connecter au réseau? d'y installer Linux? d'accéder le serveur de l'université depuis la salle de cours ou de leur chambre d'étudiant? d'imprimer sur l'imprimante de la classe leurs fichiers source (ou d'autres)?




Par contre au niveau de l'export (NFS), cela rame un peu (je me rend compte que j'exporte l'ensemble du home serveur sur tous les clients et non celui uniquement de l'utilisateur). Comment faire pour exporter sur la machine cliente uniquement le profil de l'utilisateur et non tous les utilisateurs ?


Ca doit être possible par une configuration de PAM. https://fr.wikipedia.org/wiki/Pluggable_Authentication_Modules mais j'ignore les détails! Il y a probablement des universités qui peut-être utilisent rsync à la connection de l'étudiant pour recopier sur le disque local des fichiers depuis le serveur.


Sur le serveur, j'ai mis à la fin dans le fichier /etc/exports

/home/NFS_Partage 192.168.200.1/24(rw,sync,no_subtree_check)
mais j'hésite avec

/home/NFS_Partage 192.168.0.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)

Sur le client, j'ai mis à la fin dans le fichier fstab

DomaineNFS:/home/NFS_Partage /home             nfs defaults        0 0

On m'a parlé de LDAP, mais je ne sais pas trop comment m'y prendre. Est il préférable d'utiliser LDAP ou NIS pour l'authentification ? Existe il un petit manuel simple pour créer 200 utilisateurs.


La création de 200 utilisateurs est probablement faisable en GNU bash ou Python ou Ocaml ou C++ en quelques dizaines de lignes.


Mon réseau fonctionne, mais rame beaucoup au delà de 4 utilisateurs ? et je n'arrive pas à trouver une solution.

A mon avis, NIS pour chaque accès aux fichiers de l'étudiant va ramer énormément! Pourquoi pas un /home local à la machine pour l'étudiant, qui serait par exemple recopié depuis le serveur NFS au login, et recopié (par rsync) vers le serveur NFS puis effacé (localement) au logout?


Variante: l'étudiant liste sur son $HOME/.mes-depots-git (ou dans une carte NIS maison?) tous les répertoires git à cloner au login.


A l'IUT d'Orsay il y avait même un applicatif sur le PC de l'enseignant qui permettait d'éteindre simultanément tous les PCs (de l'université) dans la salle de TP utilisés par les étudiants.


Un grand merci pour votre aide.


Espérant avoir un peu aidé!


Librement



-- 
Basile Starynkevitch             <bas...@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/
See/voir:   https://github.com/RefPerSys/RefPerSys

Pierre Malard

unread,
Feb 20, 2024, 6:40:04 AMFeb 20
to
Ou ahh ! NIS, ça ne me rajeuni pas ça ;-)
Et pourquoi pas un LDAP pour l’authentification ?

Pour ce qui du montage direct du répertoire partagé sur la home dir ce n’est pas judicieux car ça va ramer dur si on fait une utilisation gourmande en entrée sortie.
Si je me souviens de ce qu’on avait fait ici c’est d’utiliser PAM et autofs pour gérer les accès sur les postes avec :
  • Création de la home dir à la volée si besoin depuis un squelette qui contient un point de montage pour NFS
  • Montage du répertoire partagé de l’utilisateur dans $HOME/NFS

Comme ça l’utilisateur n’est pas ralenti dans ses compilations par exemple et peut accéder à ses données dans le répertoire ~/NFS
-- 
Pierre Malard

  « La façon de donner vaut mieux que ce que l'on donne »
                       Pierre Corneille (1606-1684) - Le menteur
   |\      _,,,---,,_
   /,`.-'`'    -.  ;-;;,_
  |,4-  ) )-,_. ,\ (  `'-'
 '---''(_/--'  `-'\_)   πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--

signature.asc
0 new messages