[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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




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 à :




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             <basile@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


Reply to: