Guía de administración del sistema: servicios IP

Capítulo 12 Acerca de DHCP de Oracle Solaris (información general)

En este capítulo se introduce el Protocolo de configuración dinámica de host (DHCP), y se describen los conceptos relativos a dicho protocolo. Además, se relatan las ventajas del uso de DHCP en una red.

Este capítulo contiene la información siguiente:

Acerca del protocolo DHCP

El protocolo DHCP permite configurar automáticamente los sistemas host de una red TCP/IP durante el inicio de los sistemas. DHCP utiliza un mecanismo de cliente-servidor. Los servidores almacenan y gestionan la información de configuración de los clientes y la suministran cuando éstos la solicitan. Esta información incluye la dirección IP del cliente y los servicios de red de los que el cliente puede disponer.

DHCP ha evolucionado de un protocolo anterior, BOOTP, que se diseñó para el inicio en una red TCP/IP. DHCP utiliza el mismo formato que BOOTP para los mensajes entre el cliente y el servidor. No obstante, a diferencia de los mensajes BOOTP, los mensajes DHCP pueden incluir datos de configuración de red para el cliente.

Una de las ventajas de DHCP es la posibilidad de gestionar la asignación de direcciones IP mediante permisos. Los permisos permiten reclamar las direcciones IP cuando no están en uso. Las direcciones IP reclamadas se pueden reasignar a otros clientes. Un sitio que utilice DHCP puede utilizar una agrupación de direcciones IP menor que la que se necesitaría si todos los clientes tuvieran asignada una dirección IP permanente.

Ventajas del uso de DHCP de Oracle Solaris

Gracias a DHCP no tendrá que dedicar gran parte de su tiempo a configurar una red TCP/IP ni a la administración diaria de dicha red. DHCP de Oracle Solaris sólo funciona con IPv4.

DHCP de Oracle Solaris ofrece las ventajas siguientes:

Funcionamiento de DHCP

En primer lugar, debe instalar y configurar el servidor DHCP. Durante la configuración, se especifica la información sobre la red en la que deben funcionar los clientes. Una vez especificada esta información, los clientes pueden solicitar y recibir información de red.

La secuencia de eventos del servicio DHCP se muestra en el diagrama siguiente. Los números de los círculos corresponden a los elementos que se enumeran en la descripción que sigue al diagrama.

Figura 12–1 Secuencia de eventos para el servicio DHCP

El diagrama muestra la secuencia de comunicación entre un cliente DHCP y el servidor. La descripción que se incluye a continuación del diagrama describe la secuencia.

El diagrama anterior muestra los siguientes pasos:

  1. El cliente descubre un servidor DHCP emitiendo un mensaje de descubrimiento a la dirección de emisión limitada (255.255.255.255) de la subred local. Si hay un enrutador y está configurado para hacer de agente de reenvío de BOOTP, la solicitud se transfiere a otros servidores DHCP de diferentes subredes. La emisión incluye su ID exclusivo que, en la implementación de DHCP de Oracle Solaris, se obtiene de la dirección de control de acceso de soportes (MAC) del cliente. En una red Ethernet, la dirección MAC es la misma que la dirección Ethernet.

    Los servidores DHCP que reciben el mensaje de descubrimiento pueden determinar la red del cliente con la información siguiente:

    • ¿En qué interfaz de red se sitúa la solicitud? El servidor determina si el cliente se encuentra en la red a la que está conectada la interfaz o si está utilizando un agente de reenvío de BOOTP conectado a dicha red.

    • ¿Incluye la solicitud la dirección IP de un agente de reenvío de BOOTP? Cuando una solicitud pasa por un agente de reenvío, éste inserta su dirección en el encabezado de la solicitud. Cuando el servidor detecta una dirección de agente de reenvío, el servidor sabe que la parte de red de la dirección indica la dirección de red del cliente porque el agente de reenvío debe estar conectado a la red del cliente.

    • ¿La red del cliente cuenta con subredes? El servidor consulta la tabla netmasks para encontrar la máscara de subred que se utiliza en la red que indica la dirección del agente de reenvío o la dirección de la interfaz de red que recibió la solicitud. Cuando el servidor conoce la máscara de subred que se utiliza, puede determinar qué parte de la dirección de red es la parte del host, y a continuación seleccionar una dirección IP adecuada para el cliente. Consulte la página del comando man netmasks(4) para obtener información sobre netmasks.

  2. Cuando los servidores DHCP determinan la red del cliente, seleccionan una dirección IP adecuada y verifican que no esté en uso. A continuación, los servidores DHCP responden al cliente emitiendo un mensaje de oferta. El mensaje de oferta incluye la dirección IP seleccionada e información sobre los servicios que se pueden configurar para el cliente. Cada servidor reserva temporalmente la dirección IP ofrecida hasta que el cliente determina si utilizará la dirección IP.

  3. El cliente selecciona la mejor oferta basándose en el número y el tipo de servicios ofrecidos. El cliente emite una solicitud que especifica la dirección IP del servidor que realizó la mejor oferta. La emisión garantiza que todos los servidores DHCP de respuesta sepan que el cliente ha seleccionado un servidor. Los servidores que no se eligen pueden cancelar las reservas de las direcciones IP que habían ofrecido.

  4. El servidor seleccionado asigna la dirección IP para el cliente y almacena la información en el almacén de datos DHCP. El servidor también envía un mensaje de reconocimiento (ACK) al cliente. El mensaje de reconocimiento contiene los parámetros de configuración de red para el cliente. La utilidad ping permite al cliente probar la dirección IP para asegurarse de que no la esté utilizando otro sistema. A continuación, el cliente sigue iniciándose para unirse a la red.

  5. El cliente supervisa el tiempo de permiso. Una vez transcurrido un periodo determinado, el cliente envía un nuevo mensaje al servidor seleccionado para aumentar el tiempo de permiso.

  6. El servidor DHCP que recibe la solicitud amplía el tiempo de permiso si el permiso sigue cumpliendo la directiva de permiso local que ha fijado el administrador. Si el servidor no responde en 20 segundos, el cliente emite una solicitud para que uno de los demás servidores DHCP pueda ampliar el permiso.

  7. Cuando el cliente ya no necesita la dirección IP, notifica al servidor que la dirección IP está libre. Esta notificación puede tener lugar durante un cierre ordenado y también se puede realizar manualmente.

Servidor DHCP de Oracle Solaris

El servidor DHCP de Oracle Solaris se ejecuta como daemon en Oracle Solaris en un sistema host. El servidor desempeña dos funciones básicas:

El servidor DHCP de Oracle Solaris también se puede configurar para llevar a cabo las siguientes funciones adicionales:

Administración del servidor DHCP

Como superusuario, puede iniciar, detener y configurar el servidor DHCP con el Administrador de DHCP o con las utilidades de línea de comandos que se describen en Utilidades de la línea de comandos de DHCP. Por norma general, el servidor DHCP está configurado para iniciarse automáticamente cuando se inicia el sistema, y para detenerse cuando se cierra el sistema. En condiciones normales, no es necesario iniciar y detener manualmente el servidor.

Almacén de datos de DHCP

Todos los datos que utiliza el servidor DHCP de Oracle Solaris se guardan en el almacén de datos. El almacén de datos puede contener archivos de texto sin formato, tablas NIS+ o archivos de formato binario. Al configurar el servicio DHCP, debe seleccionar el tipo de almacén de datos que utilizará. En la sección Selección del almacén de datos DHCP se describen las diferencias entre los distintos tipos de almacenes de datos. Puede cambiar el formato de un almacén de datos utilizando el Administrador de DHCP o el comando dhcpconfig.

También puede transferir los datos de un almacén de datos de un servidor DHCP a otro almacén de datos de otro servidor. Puede utilizar las funciones de importación y exportación de los almacenes de datos, aunque los servidores utilicen distintos formatos de almacenes de datos. Es posible importar y exportar todo el contenido de un almacén de datos, o sólo algunos de los datos que contiene, utilizando el Administrador de DHCP o el comando dhcpconfig.


Nota –

Puede utilizar cualquier formato de archivo o base de datos para el almacenamiento de datos de DHCP si desarrolla su propio módulo de código para proporcionar una interfaz entre DHCP de Oracle Solaris (herramientas de administración y servidor) y la base de datos. Para obtener más información, consulte Solaris DHCP Service Developer’s Guide.


El almacén de datos de DHCP de Oracle Solaris incluye dos tipos de tablas. Puede ver y administrar el contenido de estas tablas utilizando el Administrador de DHCP o las utilidades de la línea de comandos. Las tablas de datos son:

La tabla dhcptab

La tabla dhcptab contiene toda la información que pueden obtener los clientes del servidor DHCP. El servidor DHCP explora la tabla dhcptab cada vez que se inicia. El nombre de archivo de la tabla dhcptab varía en función del almacén de datos que se utiliza. Por ejemplo, la tabla dhcptab creada por el almacén de datos NIS+ SUNWnisplus es SUNWnisplus1_dhcptab.

El protocolo DHCP define una serie de elementos de información estándar que se pueden transferir a los clientes. Estos elementos se denominan parámetros, símbolos u opciones. Las opciones se definen en el protocolo DHCP mediante códigos numéricos y etiquetas de texto, pero sin valores. En la tabla siguiente se incluyen algunas de las opciones estándar que se utilizan normalmente.

Tabla 12–1 Ejemplo de opciones estándar de DHCP

Código 

Etiqueta 

Descripción 

Subnet

Dirección IP de máscara de subred 

Router

Dirección IP para el enrutador 

DNSserv

Dirección IP para el servidor DNS 

12 

Hostname

Cadena de texto para el nombre de host del cliente 

15 

DNSdmain

Nombre de dominio DNS 

Al proporcionar información durante la configuración del servidor, se asignan valores automáticamente a algunas opciones. Puede asignar valores a otras opciones de forma explícita posteriormente. Las opciones y sus valores se transfieren al cliente para proporcionar información de configuración. Por ejemplo, el par de opción/valor, DNSdmain=Georgia.Peach.COM, configura el nombre de dominio DNS del cliente como Georgia.Peach.COM.

Las opciones se pueden agrupar con otras opciones en contenedores conocidos como macros, lo cual facilita la transferencia de información a un cliente. Algunas macros se crean automáticamente durante la configuración del servidor y contienen las opciones a las que se asignó valores durante la configuración. Las macros pueden contener a su vez otras macros.

El formato de la tabla dhcptab se describe en la página del comando man dhcptab(4) En el Administrador de DHCP, toda la información que se muestra en las fichas Opciones y Macros proviene de la tabla dhcptab. Consulte Opciones DHCP para obtener más información acerca de las opciones. Consulte Macros DHCP si desea más información sobre las macros.

La tabla dhcptab no debe editarse manualmente. Debe utilizar el comando dhtadm o el Administrador de DHCP para crear, eliminar o modificar las opciones y macros.

Tablas de red DHCP

Una tabla de red DHCP asigna identificadores de cliente a las direcciones IP y el parámetro de configuración asociado con cada dirección. El formato de las tablas de red se describe en la página del comando man dhcp_network(4) En el Administrador DHCP, toda la información de la ficha Direcciones proviene de las tablas de red.

Administrador de DHCP

El Administrador de DHCP es una herramienta de interfaz gráfica de usuario (GUI) que puede utilizar para llevar a cabo todas las tareas de administración asociadas al servicio DHCP. Puede utilizarlo para administrar el servidor y los datos que utiliza. Debe ser superusuario para ejecutar el Administrador de DHCP.

Puede utilizar el Administrador de DHCP para:

El Administrador de DHCP permite administrar las direcciones IP, las macros de configuración de red y las opciones de configuración de red de los modos siguientes:

El Administrador de DHCP permite administrar los almacenes de datos DHCP de los modos siguientes:

El Administrador de DHCP incluye una amplia ayuda en línea sobre los procedimientos que permite realizar la herramienta. Para más información, consulte Acerca del Administrador de DHCP.

Utilidades de la línea de comandos de DHCP

Todas las funciones de administración de DHCP se pueden llevar a cabo con las utilidades de la línea de comandos. Puede ejecutar las utilidades si ha iniciado sesión como superusuario o como usuario asignado al perfil de administración de DHCP. Consulte Configuración del acceso de usuario a los comandos de DHCP.

En la tabla siguiente se enumeran las utilidades y se describe la finalidad de cada una de ellas.

Tabla 12–2 Utilidades de la línea de comandos de DHCP

Orden 

Descripción y finalidad 

Vínculos de página del comando man 

in.dhcpd

El daemon del servicio DHCP. Los argumentos de la línea de comandos permiten configurar varias opciones del tiempo de ejecución.

in.dhcpd(1M)

dhcpconfig

Se utiliza para configurar y anular la configuración de un servidor DHCP. Esta utilidad permite realizar muchas de las funciones del Administrador de DHCP desde la línea de comandos. Esta utilidad está diseñada principalmente para utilizarse en secuencias de comandos para sitios que deseen automatizar algunas funciones de configuración. dhcpconfig recopila información de los archivos de topología de red del sistema de servidor para crear información útil para la configuración inicial.

dhcpconfig(1M)

dhtadm

Se utiliza para agregar, eliminar y modificar las opciones de configuración y las macros para los clientes DHCP. Esta utilidad permite editar la tabla dhcptab de forma indirecta, con lo cual se garantiza que la tabla dhcptab tenga el formato correcto. No debe editar directamente la tabla dhcptab.

dhtadm(1M)

pntadm

Se utiliza para administrar las tablas de red de DHCP. Esta utilidad permite llevar a cabo las siguientes tareas:

  • Agregar y eliminar direcciones IP y redes en la administración de DHCP.

  • Modificar la configuración de red para las direcciones IP especificadas.

  • Mostrar información sobre las direcciones IP y redes en la administración de DHCP.

pntadm(1M)

Control de acceso basado en roles para los comandos DHCP

La seguridad de los comandos dhcpconfig, dhtadm y pntadm la determina la configuración del control de acceso basado en roles (RBAC). De modo predeterminado, sólo el superusuario puede ejecutar los comandos. Si desea utilizar los comandos con otro nombre de usuario, debe asignar el nombre de usuario al perfil de administración de DHCP tal como se describe en Configuración del acceso de usuario a los comandos de DHCP.

Configuración del servidor DHCP

Puede configurar el servidor DHCP de Oracle Solaris la primera vez que ejecute el Administrador de DHCP en un sistema en el que vaya a ejecutar el servidor DHCP.

Los cuadros de diálogo de configuración del servidor del Administrador de DHCP solicitan la información básica necesaria para permitir y ejecutar el servidor DHCP en una red. Algunos valores predeterminados se obtienen de los archivos del sistema. Si no ha configurado el sistema para la red, no habrá valores predeterminados. El Administrador de DHCP le solicita la siguiente información:

También puede configurar el servidor DHCP utilizando el comando dhcpconfig. Esta utilidad recopila información automáticamente de los archivos de sistema existentes para proporcionar una configuración inicial útil. Por tanto, debe asegurarse de que los archivos sean correctos antes de ejecutar dhcpconfig. Consulte la página del comando man dhcpconfig(1M) para obtener información sobre los archivos que utiliza dhcpconfig para obtener información.

Asignación de direcciones IP

El servidor DHCP de Oracle Solaris admite los siguientes tipos de asignación de direcciones IP:

Información de configuración de red

Determine qué información va a proporcionar a los clientes DHCP. Cuando configure el servidor DHCP, facilite la información básica sobre la red. Posteriormente, puede agregar a los clientes la información adicional que desee.

El servidor DHCP almacena la información de configuración de red en la tabla dhcptab, como pares de opción/valor y macros. Las opciones son palabras clave para los datos de red que desee proporcionar a los clientes. Se asignan valores a las opciones y se transfieren a los clientes de los mensajes DHCP. Por ejemplo, la dirección del servidor NIS se transfiere mediante una opción denominada NISservs. La opción NISservs tiene un valor que equivale a una lista de direcciones IP, que asigna el servidor DHCP. Las macros constituyen una forma cómoda de agrupar cualquier cantidad de opciones que desee proporcionar a los clientes. Puede utilizar el Administrador de DHCP para crear macros para agrupar opciones y asignar valores a las opciones. Si prefiere una herramienta de línea de comandos, puede utilizar dhtadm, la utilidad de administración de la tabla de configuración DHCP, para trabajar con las opciones y macros.

Opciones DHCP

En DHCP de Oracle Solaris, una opción es un dato de red que se puede transferir a un cliente. La documentación sobre DHCP también hace referencia a las opciones como símbolos o etiquetas. Una opción se define mediante un código numérico y una etiqueta de texto. Una opción recibe un valor cuando se utiliza en el servicio DHCP.

El protocolo DHCP define un número mayor de opciones estándar para los datos de red especificados de modo común: Subnet, Router, Broadcst, NIS+dom, Hostname y LeaseTim son algunos ejemplos. En la página del comando man dhcp_inittab(4) se muestra una lista completa de las opciones estándar. Las palabras clave de las opciones estándar no se pueden modificar de ningún modo. Sin embargo, puede asignar valores a las opciones relevantes para su red cuando incluya las opciones en las macros.

Puede crear nuevas opciones para los datos que no estén representados por las opciones estándar. Las opciones que cree deben clasificarse en una de estas tres categorías:

El Capítulo 15Administración de DHCP (tareas) incluye los procedimientos para crear, modificar y eliminar las opciones de DHCP.

Macros DHCP

En el servicio DHCP de Oracle Solaris, una macro es un conjunto de opciones de configuración de red y los valores que se les asignan. Las macros se crean para agrupar opciones para transferir a clientes o tipos de clientes específicos. Por ejemplo, una macro diseñada para todos los clientes de una subred concreta podrían contener pares de opción/valor para la máscara de subred, direcciones IP de enrutador, direcciones de emisión, dominio NIS+ y tiempo de permiso.

Procesamiento de macros con el servidor DHCP

Cuando el servidor DHCP procesa una macro, coloca las opciones de red y los valores definidos en la macro en un mensaje DHCP para un cliente. El servidor procesa algunas macros automáticamente para los clientes de un tipo específico.

Para que el servidor procese automáticamente una macro, el nombre de la macro debe formar parte de una de las categorías que se incluyen en la tabla siguiente.

Tabla 12–3 Categorías de macros DHCP para procesamiento automático

Categoría de macro 

Descripción 

Clase de cliente 

El nombre de la macro coincide con una clase de cliente, que se indica mediante el tipo de máquina del cliente, el sistema operativo, o ambos. Por ejemplo, si un servidor tiene una macro denominada SUNW.Sun-Blade-100, cualquier cliente cuya implementación de hardware sea SUNW,Sun-Blade-100 recibirá automáticamente los valores de la macro SUNW.Sun-Blade-100.

Dirección de red 

El nombre de la macro coincide con una dirección IP de la red administrada por DHCP. Por ejemplo, si un servidor tiene una macro denominada 10.53.224.0, cualquier cliente conectado a la red 10.53.224.0 recibirá de manera automática los valores de la macro 10.53.224.0.

ID de cliente 

El nombre de macro coincide con algunos identificadores exclusivos del cliente, que normalmente se obtienen de una dirección MAC o Ethernet. Por ejemplo, si un servidor tiene una macro denominada 08002011DF32, el cliente con el ID de cliente 08002011DF32 (derivado de la dirección Ethernet 8:0:20:11:DF:32 ), recibirá automáticamente los valores de la macro denominada 08002011DF32.

Una macro con un nombre que no utilice una de las categorías incluidas en la Tabla 12–3 sólo se puede procesar si se cumple una de estas condiciones:


Nota –

Al configurar un servidor, se crea de forma predeterminada una macro cuyo nombre coincide con el nombre del servidor. Esta macro de servidor no se procesa automáticamente para ningún cliente porque no tiene el nombre de uno de los tipos que desencadenan el procesamiento automático. Cuando crea direcciones IP en el servidor posteriormente, las direcciones IP se asignan para utilizar la macro del servidor de modo predeterminado.


Orden del procesamiento de macros

    Cuando un cliente DHCP solicita servicios DHCP, el servidor DHCP determina qué macros coinciden con el cliente. El servidor procesa las macros utilizando las categorías de macro para determinar el orden del procesamiento. La categoría más general se procesa en primer lugar, y la más específica en último lugar. Las macros se procesan en el siguiente orden:

  1. Macros de clase de cliente: la categoría más general.

  2. Macros de dirección de red: más específicas que las de clase de cliente.

  3. Macros asignadas a direcciones IP: más específicas que las de dirección de red.

  4. Macros de ID de cliente: la categoría más específica, que pertenece a un cliente.

Una macro que está incluida en otra macro se procesa como parte de la macro que la contiene.

Si la misma opción se incluye en más de una macro, se utiliza el valor de dicha opción en la macro cuya categoría sea más específica, ya que se procesa en último lugar. Por ejemplo, si una macro de dirección de red contiene la opción de tiempo de permiso con un valor de 24 horas, y una macro de ID de cliente contiene la opción de tiempo de permiso con un valor de 8 horas, el cliente recibe un tiempo de permiso de 8 horas.

Límite de tamaño para las macros DHCP

La suma total de los valores asignados a todas las opciones de una macro no debe superar los 255 bytes, incluidos los códigos de opción y la información sobre la longitud. Este límite lo dicta el protocolo DHCP.

Las macros con más probabilidad de verse afectadas por este límite son las que se utilizan para transferir rutas a los archivos de los servidores de instalación de Oracle Solaris. Por lo general debe pasar la mínima información necesaria sobre el distribuidor. Debe usar nombres cortos para las rutas en las opciones que necesiten nombres de rutas. Si crea vínculos simbólicos con rutas largas, podrá pasar los nombres de vínculos más breves.

Cliente DHCP de Oracle Solaris

El término "cliente" se utiliza a veces para hacer referencia a un equipo físico que está desempeñando un rol de cliente en la red. Sin embargo, el cliente DHCP descrito en este documento es una entidad de software. El cliente DHCP de Oracle Solaris es un daemon (dhcpagent) que se ejecuta en Oracle Solaris en un sistema configurado para recibir su configuración de red de un servidor DHCP. Los clientes DHCP de otros proveedores también pueden utilizar los servicios del servidor DHCP de Oracle Solaris. Pero este documento sólo describe el cliente DHCP de Oracle Solaris.

Consulte el Capítulo 16Configuración y administración del cliente DHCP para obtener información detallada sobre el cliente DHCP de Oracle Solaris.