Guide d'administration système : services IP

Systèmes clients DHCP et services de noms

Les systèmes Oracle Solaris prennent en charge les services de noms suivants : DNS, NIS, NIS+ et un magasin de fichiers local (/etc/inet/hosts). Pour être exploitable, chaque service de noms exige un certain niveau de configuration. Le fichier de configuration du commutateur du service de noms (voir nsswitch.conf(4)) doit également être configuré correctement pour indiquer les services de noms à utiliser.

Pour qu'un système client DHCP utilise un service de noms, il est indispensable de configurer le système en tant que client du service de noms. Par défaut, sauf si vous en avez décidé autrement lors de l'installation du système, seuls les fichiers locaux sont pris en compte.

Le tableau suivant récapitule les problèmes ayant trait à chaque service de noms et à DHCP. Il propose des liens vers de la documentation de référence contenant des informations utiles sur la configuration des clients pour chaque service de noms.

Tableau 16–1 Informations sur la configuration des services de noms pour les systèmes clients DHCP

Service de noms  

Informations relatives à la configuration du client 

NIS 

Si vous utilisez un service DHCP Oracle Solaris pour envoyer des informations concernant l'installation d'un réseau Oracle Solaris à un système client, vous pouvez utiliser une macro de configuration contenant les options NISservs et NISdmain. Ces options ont pour effet de transmettre les adresses IP des serveurs NIS et du nom de domaine NIS au client. Le client devient ensuite automatiquement un client NIS.

Si un système client DHCP exécute déjà Oracle Solaris, le client NIS n'est pas automatiquement configuré sur ce système lorsque le serveur DHCP envoie les informations NIS au client. 

Si le serveur DHCP est configuré pour communiquer des informations NIS au système client DHCP, vous pouvez connaître les valeurs transmises au client si vous utilisez la commande dhcpinfo sur le client de la façon suivante :

# /sbin/dhcpinfo NISdmain

# /sbin/dhcpinfo NISservs


Remarque –

Pour DHCPv6, veillez à inclure -v6 ainsi que divers mots-clés de protocole dans la commande.

# /sbin/dhcpinfo -v6 NISDomain

# /sbin/dhcpinfo -v6 NISServers


Utilisez les valeurs renvoyées pour le nom de domaine NIS et les serveurs NIS lorsque vous configurez le système en tant que client NIS. 

Pour configurer un client NIS pour un système client DHCP Oracle Solaris, procédez de manière habituelle comme indiqué au Chapitre 5, Setting Up and Configuring NIS Service du System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).


Astuce –

Vous pouvez créer un script en y faisant figurer les commandes dhcpinfo et ypinit afin d'automatiser la configuration du client NIS sur des systèmes clients DHCP.


NIS+ 

Si le client NIS+ d'un système client DHCP est configuré de façon conventionnelle, le serveur DHCP risque parfois de communiquer au client des adresses différentes. Cela pose un problème en terme de sécurité dans la mesure où la fonction de sécurité NIS+ intègre l'adresse IP dans la configuration. Pour s'assurer que votre client possède toujours la même adresse, configurez le client NIS+ pour un système client DHCP de façon non standard, comme cela est décrit dans la section Configuration des clients DHCP en tant que clients NIS+.

Si une adresse IP a été assignée de façon manuelle au système client DHCP, l'adresse du client est systématiquement la même. Vous pouvez configurer le client NIS+ de façon conventionnelle, comme indiqué à la section Setting Up NIS+ Client Machines du System Administration Guide: Naming and Directory Services (NIS+).

/etc/inet/hosts

Vous devez configurer le fichier /etc/inet/hosts d'un système client DHCP devant utiliser /etc/inet/hosts pour son service de noms.

Le nom d'hôte du système client DHCP est ajouté à son propre fichier /etc/inet/hosts par les outils DHCP. Il convient, cependant, d'ajouter manuellement le nom d'hôte aux fichiers /etc/inet/hosts des autres systèmes dans le réseau. Si le système serveur DHCP utilise /etc/inet/hosts pour la résolution de nom, vous devez également insérer manuellement le nom d'hôte du client sur le système.

DNS 

Si le système client DHCP reçoit le nom de domaine DNS via DHCP, le fichier /etc/resolv.conf du système client est configuré automatiquement. Le fichier /etc/nsswitch.conf est également mis à jour automatiquement afin d'ajouter dns à la ligne hosts après tout autre service de noms dans l'ordre de recherche. Pour plus d'informations au sujet de DNS, reportez-vous au manuel System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Configuration des clients DHCP en tant que clients NIS+

Vous pouvez utiliser le service de noms NIS+ sur des systèmes Oracle Solaris faisant office de clients DHCP. Toutefois, si votre serveur DHCP est capable de fournir des adresses différentes à différents moments, cela permet de contourner l'une des fonctions de sécurité de NIS+, à savoir la création d'informations d'identification DES (Data Encryption Standard). Pour travailler dans des conditions de sécurité optimales, configurez le serveur DHCP de façon à ce qu'il propose systématiquement la même adresse. Lorsque vous configurez un client NIS+ qui n'a pas recours à DHCP, vous ajoutez au serveur NIS+ des informations d'identification DES uniques pour le client. Il y a différentes façons de créer des informations d'identification. Vous pouvez, par exemple, utiliser le script nisclient ou la commande nisaddcred.

Pour pouvoir générer des informations d'identification NIS+, le client doit avoir un nom d'hôte statique qui permette de créer et de stocker ce type d'information. Si vous avez l'intention d'utiliser NIS+ et DHCP, il est impératif de définir des informations d'identification réservées à tous les noms d'hôtes des clients DHCP. Quels que soit l'adresse IP et le nom d'hôte associé reçus par un client DHCP, le client peut utiliser les mêmes informations d'identification DES.

La procédure suivante montre comment générer des informations d'identification pour l'ensemble des noms d'hôtes DHCP. Elle n'a d'intérêt que si vous connaissez les noms d'hôtes utilisés par les clients DHCP. Lorsque le serveur DHCP génère les noms d'hôtes, par exemple, vous avez une idée précise des noms d'hôtes susceptibles d'être reçus par un client.

ProcedureConfiguration des clients DHCP Oracle Solaris en tant que clients NIS+

Un système client DHCP censé devenir un client NIS+ doit exploiter les informations d'identification appartenant à un autre système client NIS+ dans le domaine NIS+. Cette procédure permet de produire uniquement des informations d'identification pour le système, lesquelles s'appliquent exclusivement au superutilisateur connecté au système. Tout autre utilisateur se connectant au système client DHCP doit posséder ses propres informations d'identification au niveau du serveur NIS+. Ces informations d'identification sont définies conformément à la procédure décrite dans le manuel System Administration Guide: Naming and Directory Services (NIS+).

  1. Créez les informations d'identification pour un client en entrant la commande suivante sur le serveur NIS+ :


    # nisgrep nisplus-client-name cred.org_dir > /tmp/file
    

    Cette commande inscrit l'entrée de table cred.org_dir pour le client NIS+ dans un fichier temporaire.

  2. Servez-vous de la commande cat pour afficher le contenu du fichier temporaire.

    Vous pouvez également utiliser un éditeur de texte.

  3. Copiez les informations d'identification réservées aux clients DHCP.

    Vous devez copier la clé publique et la clé privée (longues chaînes de chiffres et de lettres séparés par le signe deux-points). Les informations d'identification sont destinées à être collées dans la commande exécutée à l'étape suivante.

  4. Ajoutez les informations d'identification pour un client DHCP en tapant la commande suivante :


    # nistbladm -a cname=" dhcp-client-name@nisplus-domain" auth_type=DES \
    auth_name="unix.dhcp-client-name@nisplus-domain" \
    public_data=copied-public-key \ 
    private_data=copied-private-key
    

    Pour la clé-publique-copiée, collez les informations relatives à la clé publique à partir du fichier temporaire. Pour la clé-privée-copiée, collez les informations relatives à la clé privée à partir du fichier temporaire.

  5. Copiez à distance les fichiers à partir du système client NIS+ vers le système client DHCP en tapant les commandes suivantes sur le système client DHCP :


    # rcp nisplus-client-name:/var/nis/NIS_COLD_START /var/nis
    # rcp nisplus-client-name:/etc/.rootkey /etc
    # rcp nisplus-client-name:/etc/defaultdomain /etc
    

    Si vous obtenez un message signalant un problème de permission, il est possible que les systèmes ne soient pas configurés pour autoriser la copie à distance. Dans ce cas, il suffit de copier les fichiers en tant qu'utilisateur normal vers un emplacement intermédiaire. En tant que superutilisateur, copiez les fichiers depuis l'emplacement intermédiaire vers l'emplacement approprié sur le système client DHCP.

  6. Copiez le fichier du commutateur du service de noms qui convient pour NIS+ en entrant la commande suivante sur le système client DHCP :


    # cp /etc/nsswitch.nisplus /etc/nsswitch.conf
    
  7. Redémarrez le système client DHCP.

    Le système client DHCP doit désormais être en mesure d'utiliser les services NIS+.


Exemple 16–1 Configuration d'un système client DHCP Oracle Solaris en tant que client NIS+

L'exemple suivant suppose que vous disposez d'un système nisei, considéré comme un client NIS+ dans le domaine NIS+ dev.example.net . Vous disposez également d'un système client DHCP (dhow) et souhaitez que dhow devienne un client NIS+.


(First log in as superuser on the NIS+ server)
# nisgrep nisei cred.org_dir > /tmp/nisei-cred
# cat /tmp/nisei-cred
nisei.dev.example.net.:DES:unix.nisei@dev.example.net:46199279911a84045b8e0
c76822179138173a20edbd8eab4:90f2e2bb6ffe7e3547346dda624ec4c7f0fe1d5f37e21cff63830
c05bc1c724b
# nistbladm -a cname="dhow@dev.example.net." \
auth_type=DES auth_name="unix.dhow@dev.example.net" \
public_data=46199279911a84045b8e0c76822179138173a20edbd8eab4 \
private_data=90f2e2bb6ffe7e3547346dda624ec4c7f0fe1d5f37e21cff63830\
c05bc1c724b
# rlogin dhow
(Log in as superuser on dhow)
# rcp nisei:/var/nis/NIS_COLD_START /var/nis
# rcp nisei:/etc/.rootkey /etc
# rcp nisei:/etc/defaultdomain /etc
# cp /etc/nsswitch.nisplus /etc/nsswitch.conf
# reboot

Le système client DHCP dhow doit désormais être capable d'exploiter les services NIS+.



Exemple 16–2 Ajout d'informations d'identification à l'aide d'un script

Si vous souhaitez configurer un grand nombre de systèmes clients DHCP en tant que clients NIS+, le mieux est d'écrire un script. Un script est très pratique pour ajouter les entrées dans la table NIS+ cred.org_dir. Voici un exemple de script caractéristique.


#! /usr/bin/ksh  
# 
# Copyright (c) by Sun Microsystems, Inc. All rights reserved. 
# 
# Sample script for cloning a credential. Hosts file is already populated  
# with entries of the form dhcp-[0-9][0-9][0-9]. The entry we're cloning 
# is dhcp-001. 
#  
#  
PUBLIC_DATA=6e72878d8dc095a8b5aea951733d6ea91b4ec59e136bd3b3 
PRIVATE_DATA=3a86729b685e2b2320cd7e26d4f1519ee070a60620a93e48a8682c5031058df4
HOST="dhcp-" 
DOMAIN="mydomain.example.com"  
 
for 
i in 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019
do         
     print - ${HOST}${i}         
     #nistbladm -r [cname="${HOST}${i}.${DOMAIN}."]cred.org_dir         
     nistbladm -a cname="${HOST}${i}.${DOMAIN}." \
         auth_type=DES auth_name="unix.${HOST}${i}@${DOMAIN}" \
         public_data=${PUBLIC_DATA} private_data=${PRIVATE_DTA} cred.org_Dir
done  
 
exit 0