Le serveur DHCP Oracle Solaris s'exécute comme un démon de Oracle Solaris sur un système hôte. Il remplit deux fonctions de base :
Gérer les adresses IP – Le serveur DHCP gère une plage d'adresses IP et les alloue aux clients de façon permanente ou temporaire. Il utilise le mécanisme de bail pour déterminer la durée d'utilisation permise d'une adresse non permanente. Lorsque l'adresse n'est plus utilisée, elle reprend sa place dans le pool d'adresses sous le contrôle du serveur et peut être réallouée à un autre client. Le serveur tient à jour les informations relatives à l'allocation des adresses IP aux clients dans ses tables de réseau DHCP, afin d'éviter tout conflit d'utilisation des adresses.
Fournir des données de configuration du réseau aux clients – Le serveur ne se contente pas d'attribuer des adresses IP. Il fournit également diverses informations relatives à la configuration du réseau (nom d'hôte, adresse de diffusion, masque de sous-réseau, passerelle par défaut, service de noms et bien plus encore). Ces informations proviennent directement de la base de données dhcptab du serveur.
Vous pouvez également configurer le serveur DHCP Oracle Solaris pour exécuter les fonctions suivantes :
Répondre aux requêtes de clients BOOTP – Le serveur écoute les diffusions des clients BOOTP lorsqu'ils découvrent un serveur BOOTP et leur fournit une adresse IP ainsi que des paramètres d'initialisation. Ces informations doivent être configurées de façon statique par un administrateur. Le serveur DHCP peut faire office à la fois de serveur BOOTP et de serveur DHCP.
Relayer des requêtes – Le serveur renvoie les requêtes BOOTP et DHCP vers les serveurs appropriés sur d'autres sous-réseaux. Il lui est impossible d'assurer un service DHCP ou BOOTP lorsqu'il est configuré comme agent de relais BOOTP.
Permettre l'initialisation des clients DHCP sur le réseau – Le serveur est en mesure de donner aux clients DHCP les informations dont ils besoin pour démarrer sur le réseau : adresse IP, paramètres d'initialisation et données de configuration du réseau. Il peut également leur fournir les renseignements nécessaires en vue de leur initialisation et de leur installation sur un réseau de grande taille (WAN).
Mettre à jour les tables DNS pour les clients fournissant un nom d'hôte – Si la demande de service DHCP des clients comporte une option et une valeur Hostname , le serveur peut essayer de mettre à jour le service DNS à leur place.
En tant que superutilisateur, vous avez la possibilité de démarrer, arrêter et configurer le serveur DHCP à l'aide du gestionnaire DHCP ou des utilitaires de ligne de commande décrits à la section Utilitaires de ligne de commande DHCP. En règle générale, le serveur DHCP est configuré pour démarrer automatiquement lors de l'initialisation du système et pour s'interrompre lors de l'arrêt du système. Il n'est pas utile de démarrer et d'arrêter le serveur de façon manuelle dans des conditions normales d'utilisation.
Toutes les données utilisées par le serveur DHCP Oracle Solaris sont conservées dans un magasin de données. Le magasin de données peut être constitué indifféremment de fichiers de texte brut, de tables NIS+ ou de fichiers au format binaire. Lors de la configuration du service DHCP, vous êtes invité à choisir le type de magasin de données à utiliser. La section Sélection du magasin de données DHCP décrit les différences entre chaque type de magasin de données. Il est possible de convertir un magasin de données et de passer ainsi d'un format à un autre au moyen du gestionnaire DHCP ou de la commande dhcpconfig.
Vous pouvez également transférer le contenu du magasin de données d'un serveur DHCP vers un autre magasin de données. Il existe des utilitaires d'importation et d'exportation qui fonctionnent parfaitement avec les magasins de données, même lorsque les serveurs utilisent des formats différents. Le gestionnaire DHCP ou la commande dhcpconfig permettent d'exporter et d'importer l'intégralité d'un magasin de données ou uniquement les données qui vous intéressent.
Vous êtes libre de stocker les données DHCP dans la base de données ou le format de fichier de votre choix à condition de développer votre propre module de code pour fournir une interface entre le service DHCP Oracle Solaris (serveur et outils de gestion) et la base de données. Pour plus d'informations, reportez-vous au guide Solaris DHCP Service Developer’s Guide (en anglais).
Un magasin de données DHCP Oracle Solaris contient deux types de table. Vous pouvez consulter et gérer le contenu de ces tables à l'aide du gestionnaire DHCP ou des utilitaires de ligne de commande. Il s'agit des types suivants :
Table dhcptab – Table contenant les données de configuration susceptibles d'être transmises aux clients.
Tables de réseau DHCP – Tables contenant des informations au sujet des clients DHCP et BOOTP résidant sur le réseau indiqué dans le nom de la table. Le nom de la table correspondant au réseau 192.168.32.0 se compose, par exemple, de 192_168_32_0.
La table dhcptab contient toutes les informations que les clients peuvent recueillir à partir du serveur DHCP. Le serveur DHCP analyse le contenu de la table dhcptab à chaque démarrage. Le nom de fichier de la table dhcptab varie en fonction du magasin de données utilisé. La table dhcptab créée par le magasin de données NIS+ SUNWnisplus est appelée, par exemple, SUNWnisplus1_dhcptab.
Le protocole DHCP définit les informations standard qu'il est possible de communiquer aux clients. Il s'agit en l'occurrence des paramètres, des symboles ou des options. Les options sont représentées dans le protocole DHCP par des codes numériques et des libellés de texte, mais sans valeurs. Le tableau suivant présente les options standard les plus fréquemment employées.
Tableau 12–1 Exemples d'options standard DHCP
Code |
Libellé |
Description |
---|---|---|
1 |
Subnet |
Adresse IP du masque de sous-réseau |
3 |
Router |
Adresse IP du routeur |
6 |
DNSserv |
Adresse IP du serveur DNS |
12 |
Hostname |
Chaîne de texte correspondant au nom d'hôte client |
15 |
DNSdmain |
Nom du domaine DNS |
Des valeurs sont automatiquement attribuées à certaines options lorsque vous fournissez les informations demandées lors de la configuration du serveur. Rien ne vous empêche par la suite d'assigner, de façon explicite, les valeurs voulues à d'autres options. Les options et leurs valeurs sont transmises au client à titre de données de configuration. Par exemple, le couple option/valeur DNSdmain=Georgia.Peach.COM définit le nom de domaine DNS du client comme suit : Georgia.Peach.COM.
Les options peuvent être regroupées avec d'autres options au sein de conteneurs appelés macros de manière à communiquer plus facilement les informations au client. Certaines macros sont générées automatiquement lors de la phase de configuration du serveur et contiennent des options associées à des valeurs. Il est possible, en outre, d'imbriquer des macros dans d'autres macros.
Le format de la table dhcptab est décrit dans la page de manuel dhcptab(4) Dans le gestionnaire DHCP, toutes les informations présentées dans les onglets Options et Macros proviennent de la table dhcptab. Pour plus d'informations à propos des options, reportez-vous à la section À propos des options DHCP Pour plus d'informations au sujet des macros, reportez-vous à la section À propos des macros DHCP.
N'oubliez pas que la table dhcptab ne peut, en aucun cas, être éditée manuellement. Vous devez vous servir de la commande dhtadm ou du gestionnaire DHCP pour créer, supprimer ou modifier des options et des macros.
Une table de réseau DHCP permet de faire la correspondance entre les identificateurs de clients, les adresses IP et les paramètres de configuration associés à chaque adresse. Le format des tables de réseau est décrit dans la page de manuel dhcp_network(4) Dans le gestionnaire DHCP, toutes les informations présentées dans l'onglet relatif aux adresses proviennent des tables de réseau.
Le gestionnaire DHCP est un outil basé sur une interface graphique (IG) prévu pour réaliser toutes les tâches administratives relatives au service DHCP. Il sert aussi bien à gérer le serveur que les données exploitées par le serveur. Vous devez être superutilisateur pour exécuter le gestionnaire DHCP.
Le gestionnaire DHCP offre les possibilités suivantes :
Configurer et annuler la configuration du serveur DHCP
Démarrer, arrêter et redémarrer le serveur DHCP
Activer et désactiver le service DHCP
Personnaliser les paramètres du serveur DHCP
Le gestionnaire DHCP permet de gérer les adresses IP, les macros de configuration du réseau et les options de configuration du réseau des façons suivantes :
En ajoutant et supprimant des réseaux placés sous le contrôle DHCP
En affichant, ajoutant, modifiant, effaçant et libérant des adresses IP placées sous le contrôle DHCP
En affichant, ajoutant, modifiant et supprimant des macros de configuration du réseau
En affichant, ajoutant, modifiant et supprimant des options de configuration du réseau non standard
Le gestionnaire DHCP permet de gérer les magasins de données DHCP des façons suivantes :
En convertissant les données sous un nouveau format de magasin de données
En déplaçant les données DHCP d'un serveur DHCP à un autre (il convient pour ce faire d'exporter les données du premier serveur et de les importer sur le deuxième serveur)
Le gestionnaire DHCP propose une aide en ligne complète pour toutes les procédures réalisables avec cet outil. Pour plus d'informations, reportez-vous à la section À propos du gestionnaire DHCP.
Toutes les opérations de gestion DHCP peuvent être effectuées à l'aide des utilitaires de ligne de commande. Pour exécuter ces utilitaires, vous devez vous connecter en tant que superutilisateur ou en tant qu'utilisateur doté du profil de gestion DHCP. Voir la section Configuration de l'accès utilisateur aux commandes DHCP.
Le tableau suivant présente les différents utilitaires disponibles et l'intérêt de chacun d'entre-eux.
Tableau 12–2 Utilitaires de ligne de commande DHCP
Le niveau de sécurité des commandes dhcpconfig, dhtadm et pntadm est défini par les paramètres de contrôle d'accès basé sur les rôles (paramètres RBAC). Par défaut, seul un superutilisateur est habilité à exécuter les commandes. Si vous avez l'intention d'exécuter les commandes sous un autre nom d'utilisateur, vous devez allouer le nom d'utilisateur au profil de gestion DHCP comme indiqué à la section Configuration de l'accès utilisateur aux commandes DHCP.
Vous devez configurer le serveur DHCP Oracle Solaris la première fois que vous lancez le gestionnaire DHCP sur le système destiné au serveur DHCP.
Les boîtes de dialogue de configuration du serveur du gestionnaire DHCP vous invitent à spécifier toutes les informations nécessaires pour activer et exécuter le serveur DHCP sur un réseau. Certaines valeurs par défaut sont obtenues à partir des fichiers système existants. Si vous n'avez pas configuré le système pour le réseau, aucune valeur par défaut n'est définie. Le gestionnaire DHCP vous demande de préciser les informations suivantes :
Rôle du serveur (fait-il office de serveur DHCP ou d'agent de relais BOOTP ?)
Type de magasin de données (fichiers texte, fichiers binaires, NIS+ ou autres bases de données ou fichiers spécifiques à votre site)
Paramètres de configuration du type de magasin de données sélectionné
Service de noms à utiliser pour mettre à jour les enregistrements de l'hôte, le cas échéant (/etc/hosts , NIS+ ou DNS)
Durée du bail et possibilité ou non pour les clients de renouveler un bail
Nom du domaine DNS et adresses IP des serveurs DNS
Adresse réseau et masque de sous-réseau pour le premier réseau à configurer pour le service DHCP
Type de réseau (local ou point à point)
Activation ou non de la détection de l'adresse IP d'un routeur
Nom du domaine NIS et adresses IP des serveurs NIS
Nom du domaine NIS+ et adresses IP des serveurs NIS+
Vous pouvez également configurer le serveur DHCP à l'aide de la commande dhcpconfig. Cet utilitaire rassemble automatiquement les informations nécessaires à partir des fichiers système existants en guise de configuration initiale. Il faut donc s'assurer que les fichiers en question sont à jour avant d'exécuter la commande dhcpconfig. Pour plus d'informations au sujet des fichiers utilisés par dhcpconfig pour obtenir les données de configuration, reportez-vous à la page de manuel dhcpconfig(1M).
Le serveur DHCP Oracle Solaris prend en charge les modes d'allocation d'adresses IP suivants :
Allocation manuelle – Le serveur propose une adresse IP spécifique que vous pouvez attribuer à un client DHCP. Il est impossible de récupérer l'adresse ou de l'assigner à un autre client.
Allocation automatique ou permanente – Le serveur propose une adresse IP spécifique non limitée dans le temps. Cette adresse est ainsi associée de façon permanente au client jusqu'à ce que vous changiez l'affectation ou que le client libère l'adresse.
Allocation dynamique – Le serveur propose une adresse IP au client demandeur pendant une durée précise. À l'expiration du bail prévu pour l'adresse, celle-ci est récupérée par le serveur qui se réserve le droit de l'allouer à un autre client. La période limite d'utilisation de l'adresse dépend de la durée du bail configurée pour le serveur.
C'est vous qui déterminez la nature des informations communiquées aux clients DHCP. Lors de la configuration du serveur DHCP, vous fournissez des renseignements essentiels au sujet du réseau. Rien ne vous empêche par la suite d'ajouter toute autre information que vous jugez utile de transmettre aux clients.
Le serveur DHCP stocke les données de configuration du réseau dans la table dhcptab , par couple option/valeur et sous forme de macros. Les options constituent des mots-clés pour les informations de réseau que vous désirez fournir aux clients. Les valeurs attribuées aux options sont transmises aux clients dans des messages DHCP. L'adresse du serveur NIS est communiquée, par exemple, au moyen d'une option appelée NISservs. L'option NISservs possède une valeur équivalente à une liste d'adresses IP, allouée par le serveur DHCP. Les macros sont un moyen pratique de regrouper toutes les options que vous avez l'intention de fournir aux clients en une seule opération. Vous pouvez faire appel au gestionnaire DHCP pour créer des macros et assigner des valeurs aux options. Si vous préférez effectuer ces opérations à partir de la ligne de commande, exécutez l'utilitaire de gestion des tables de configuration DHCP (dhtadm).
Dans un service DHCP &ProductBase, une option désigne un élément d'informations du réseau à transmettre à un client. Dans le jargon DHCP, les symboles ou les balises sont également appelés des options. Une option est définie par un code numérique et un libellé de texte. Elle reçoit une valeur en cas d'utilisation dans le service DHCP.
Le protocole DHCP définit un grand nombre d'options standard pour les données de réseau fréquemment utilisées : Subnet, Router, Broadcst, NIS+dom, Hostname et LeaseTim pour n'en citer que quelques-unes. Vous trouverez la liste complète des options standard sur la page de manuel dhcp_inittab(4). Vous ne pouvez, en aucun cas, modifier les mots-clés des options standard. Il est possible, en revanche, d'attribuer des valeurs aux options se rapportant à votre réseau lorsque vous décidez de les inclure dans des macros.
Vous avez le droit, en outre, de définir de nouvelles options pour les données non représentées par les options standard. Les options que vous créez doivent être classées dans l'une des trois catégories suivantes :
Extended – Catégorie réservée aux options devenues des options DHCP standard, mais pas encore prises en compte dans l'implémentation du serveur DHCP. Optez pour cette catégorie si vous connaissez l'option standard qui vous intéresse, mais ne souhaitez pas mettre à niveau votre serveur DHCP.
Site – Catégorie réservée aux options spécifiques à votre site. C'est à vous qu'il appartient de créer ces options.
Vendor – Catégorie réservée aux options devant s'appliquer uniquement aux clients d'une classe particulière, une plate-forme matérielle ou fournisseur, par exemple. L'implémentation d'un service DHCP Oracle Solaris comprend un certain nombre d'options de fournisseur pour les clients Oracle Solaris. Ainsi, l'option SrootIP4 sert à spécifier l'adresse IP d'un serveur qu'un client s'initialisant à partir du réseau est censé utiliser pour son système de fichiers root (/).
Le Chapitre 15Administration de DHCP (tâches) fournit les procédures de création, de modification et de suppression d'options DHCP.
Dans un service DHCP &ProductBase, une macro représente un ensemble d'options de configuration du réseau auxquelles vous avez assigné des valeurs. L'intérêt des macros est de regrouper les options à transmettre à des clients spécifiques ou à certains types de client. Une macro destinée à tous les clients d'un sous-réseau donné pourrait contenir, par exemple, les couples option/valeur correspondant au masque de sous-réseau, à l'adresse IP du routeur, à l'adresse de diffusion, au domaine NIS+ et à la durée du bail.
Lorsque le serveur DHCP traite une macro, il place les options et les valeurs de réseau définies dans la macro à l'intérieur d'un message DHCP adressé au client. Le serveur exécute automatiquement certaines macros pour les clients d'un certain type.
Pour pouvoir être traitée automatiquement, la macro doit respecter les conventions de dénomination propres aux catégories présentées dans le tableau suivant.
Tableau 12–3 Catégories de macros DHCP autorisant un traitement automatique
Une macro portant un nom n'appartenant à aucune des catégories indiquées dans le Tableau 12–3 peut être traitée uniquement si l'une des conditions suivantes est vérifiée :
La macro est mappée à une adresse IP.
La macro est imbriquée dans une autre macro traitée automatiquement.
La macro est imbriquée dans une autre macro mappée à une adresse IP.
Lorsque vous configurez un serveur, une macro dont le nom correspond au nom du serveur est créée par défaut. Cette macro de serveur ne s'exécute pas automatiquement, quel que soit le client auquel elle s'applique, dans la mesure où elle ne possède aucun des types de nom autorisant un traitement automatique. Lorsque vous définissez par la suite de nouvelles adresses IP sur le serveur, celles-ci sont mappées dans le but d'utiliser la macro de serveur par défaut.
Lorsqu'un client DHCP demande des services DHCP, le serveur DHCP identifie les macros répondant à la requête du client. Il traite les macros, en se servant des catégories de macros pour déterminer leur ordre d'exécution. Il s'occupe d'abord de la catégorie la plus générale et traite la catégorie la plus spécifique en dernier. Les macros sont traitées dans l'ordre suivant :
Macros de la classe de client – Catégorie la plus générale
Macros d'adresse réseau – Plus spécifiques que les macros de la classe de client
Macros mappées aux adresses IP – Plus spécifiques que les macros d'adresse réseau
Macros d'ID de client – Catégorie la plus spécifique, se rapportant à un seul client
Une macro imbriquée dans une autre macro est traitée pendant l'exécution de cette dernière.
Si la même option figure dans plusieurs macros, la valeur de cette option dans la macro correspondant à la catégorie la plus spécifique est prise en compte, car c'est elle qui est traitée en dernier. Si une macro d'adresse réseau contient, par exemple, la valeur 24 heures pour l'option de durée de bail et qu'une macro d'ID de client indique une durée de bail équivalente à 8 heures, le client reçoit la valeur 8 heures.
La somme totale des valeurs attribuées à l'ensemble des options dans une macro ne doit pas dépasser 255 octets, y compris les codes d'option et les informations de longueur. Cette limite est dictée par le protocole DHCP.
Les macros qui sont les plus concernées par cette limite sont celles utilisées pour transmettre des chemins aux fichiers des serveurs d'installation Oracle Solaris. En règle générale, vous devez fournir le minimum d'informations nécessaires concernant le fournisseur. Pour les options nécessitant des chemins d'accès, vous devez utiliser des noms courts. Si vous créez des liens symboliques vers des chemins d'accès longs, vous pouvez communiquer les noms de liens les plus courts.