Mise en place des Services d'Informations Réseau (NIS) dans un environnement LDAP

Introduction aux Services d'Informations Réseau

Dans les réseaux de grande envergure avec plusieurs machines Linux, la gestion centralisée des comptes utilisateur devient essentielle. NIS (Network Information Service) permet d'unifier la gestion des fichiers comme /etc/passwd sur un serveur central. Ainsi, les modifications apportées aux comptes sont propagées automatiquemnet à tous les clients du domaine, simplifiant l'administration.

Composants clés de NIS

Côté serveur

Le serveur NIS héberge les bases de données des informations système et gère les requêtes des clients. Les fichiers de configuration principaux incluent /etc/ypserv.conf et /etc/netgroup. Les services essentiels sont ypserv et yppasswdd.

Côté client

Les clients NIS interrogeront le serveur pour les données utilisateur. Les configurations se trouvent dans /etc/yp.conf et /etc/nsswitch.conf. L'outil ypbind gère la liaison au serveur NIS.

Environnement NIS

Packages logiciels requis

Pour le serveur, installez ypserv, yp-tools et rpcbind. Les clients nécessitent ypbind, yp-tools et rpcbind. Le service rpcbind (ou portmap sur les anciennes versions) est crucial pour les appels RPC.

Architecture Serveur NIS

NIS supporte une configuration maître-esclave. Le serveur maître génère les bases de données à partir des fichiers système, tandis que les serveurs esclaves synchronisent ces données pour assurer la disponibilité.

Comportement du Client NIS

Lors d'une tentative de connexion, le client consulte d'abord ses fichiers locaux. Si l'information n'est pas trouvée, il diffuse une requête dans le réseau NIS, et le serveur qui répond le premier fournit les données.

Installation et configuration du serveur NIS

Sur le serveur, procédez comme suit :


# Installation des paquets nécessaires
dnf -y install ypserv yp-tools rpcbind

# Définition du domaine NIS dans la configuration réseau
echo "NISDOMAIN=domaine-nis.local" >> /etc/sysconfig/network

# Application immédiate du domaine NIS
nisdomainname domaine-nis.local

# Pour rendre le domaine persistant au démarrage
echo "/usr/bin/nisdomainname domaine-nis.local" >> /etc/rc.d/rc.local

# Configuration des restrictions d'accès dans ypserv.conf
cat > /etc/ypserv.conf << EOF
127.0.0.0:*:*:none
192.168.10.0/255.255.255.0:*:*:none
*:*:*:deny
EOF

# Démarrage des services NIS
systemctl start rpcbind yppasswdd ypserv

# Initialisation de la base de données NIS
/usr/lib64/yp/ypinit -m

# Redémarrage des services après l'initialisation
systemctl restart rpcbind yppasswdd ypserv

# Activation des services au démarrage
systemctl enable rpcbind yppasswdd ypserv

Configuration du client NIS

Sur chaque client, effectuez ces étapes :


# Installation des paquets client
dnf -y install ypbind yp-tools rpcbind

# Ajout du domaine NIS à la configuration réseau
echo "NISDOMAIN=domaine-nis.local" >> /etc/sysconfig/network

# Application du domaine NIS
nisdomainname domaine-nis.local

# Ajout des entrées pour le serveur NIS dans /etc/hosts
echo "192.168.10.10 serveur-nis.domaine-nis.local" >> /etc/hosts

# Configuration du client pour utiliser le serveur NIS
echo "domain domaine-nis.local server serveur-nis.domaine-nis.local" > /etc/yp.conf

# Démarrage des services client
systemctl start rpcbind ypbind

Validation de l'installation

Pour tester, créez des utilisateurs sur le serveur NIS :


# Création d'utilisateurs de test sur le serveur
for num in $(seq 1 5); do useradd "utilisateur-test$num"; done
for num in $(seq 1 5); do echo "motdepasse123" | passwd --stdin "utilisateur-test$num"; done

# Mise à jour de la base de données NIS
/usr/lib64/yp/ypinit -m
systemctl restart rpcbind yppasswdd ypserv

Sur le client, vérifiez l'accès :


# Test avec yptest
yptest

# Vérification de l'existence d'un utilisateur NIS
getent passwd utilisateur-test1

# Tentative de connexion (peut nécessiter la configuration du répertoire home via NFS)
su - utilisateur-test1

Résolution des problèmes courants

Si la connexion échoue, suivez ce processus de dépannage :

  • Vérifiez la connectivité réseau entre le client et le serveur.
  • Assurez-vous que les domaines NIS correspondent sur toutes les machines (commande nisdomainname).
  • Contrôlez les fichiers de configuration : /etc/ypserv.securenets sur le serveur, /etc/yp.conf et /etc/nsswitch.conf sur le client.
  • Confirmez la résolution des noms d'hôtes dans /etc/hosts si les noms sont utilisés.
  • Redémarrez les services NIS et rpcbind.

Pour les répertoires home manquants lors de la connexion, configurez un partage NFS depuis le serveur NIS et utilisez autofs sur le client pour monter automatiquement les répertoires.

Étiquettes: NIS LDAP Linux administration système Services réseau

Publié le 17 juin à 16h41