Uso de DHCP en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Secuencias de comandos de eventos de cliente DHCP

El cliente DHCP se puede configurar para que ejecute un programa o una secuencia de comandos que lleve a cabo cualquier acción adecuada para el sistema cliente. El programa o la secuencia de comandos, que se denomina, secuencia de eventos, se ejecuta automáticamente cuando tienen lugar determinados eventos de permiso de DHCP. La secuencia de eventos se puede utilizar para ejecutar otros comandos, programas o secuencias en respuesta a eventos de permiso específicos. Para utilizar esta función deberá proporcionar su propia secuencia de comandos.

dhcpagent utiliza las siguientes palabras clave para referirse a eventos de permisos de DHCP:

Palabra clave de evento

Descripción

BOUND y BOUND6

La interfaz está configurada para DHCP. El cliente recibe el mensaje de confirmación (DHCPv4 ACK) o (DHCPv6 Reply) del servidor DHCP en el que se concede la solicitud de permiso para una dirección IP. Se llama a la secuencia de comandos de eventos inmediatamente después de la configuración satisfactoria de la interfaz.

EXTEND y EXTEND6

El cliente ha realizado correctamente una concesión. Se llama a la secuencia de comandos de eventos inmediatamente después de que el cliente recibe el mensaje de confirmación del servidor DHCP por la solicitud de renovación.

EXPIRE y EXPIRE6

El permiso caduca cuando se agota su tiempo. Para DHCPv4, la secuencia de eventos se llama inmediatamente después de que la dirección permitida se elimina de la interfaz y se marca esta como desconectada. Para DHCPv6, la secuencia de eventos se llama justo antes de que las últimas direcciones permitidas se eliminen de la interfaz.

DROP y DROP6

El cliente usa la concesión para eliminar la interfaz desde el control DHCP. Se llama a la secuencia de eventos inmediatamente antes de la interfaz se retire del control de DHCP.

RELEASE y RELEASE6

El cliente deja de usar la dirección IP. Se llama a la secuencia de eventos inmediatamente antes de que el cliente libere la dirección en la interfaz y envíe el paquete DHCPv4 RELEASE o DHCPv6 Release al servidor DHCP.

INFORM e INFORM6

Una interfaz obtiene información de configuración nueva o actualizada de un servidor DHCP a través del mensaje DHCPv4 INFORM o DHCPv6 Information-Request. Estos eventos tienen lugar cuando el cliente DHCP sólo obtiene parámetros de configuración del servidor, pero no obtiene un permiso de dirección IP.

LOSS6

Durante la caducidad del permiso, cuando aún quedan uno o más permisos válidos, se llama a la secuencia de comandos de eventos justo antes de eliminar las direcciones caducadas. Las direcciones que se van a eliminar se marcan con el indicador IFF_DEPRECATED.

Con cada uno de estos eventos, dhcpagent llama al comando siguiente:

/etc/dhcp/eventhook interface event

Donde interfaz es la interfaz que utiliza DHCP y evento es una de las palabras clave de evento descritas anteriormente. Por ejemplo, cuando la interfaz se configura por primera vez para DHCP, dhcpagent invoca a la secuencia de comandos de eventos de la siguiente forma:

/etc/dhcp/eventhook net0 BOUND

    Para utilizar la función de secuencia de comandos de eventos, haga lo siguiente:

  • Asigne al archivo ejecutable el nombre /etc/dhcp/eventhook.

  • Establezca el propietario del archivo en root.

  • Establezca los permisos en 755 (rwxr-xr-x ).

  • Escriba la secuencia de comandos o programa que debe llevar a cabo una serie de acciones en respuesta a alguno de los eventos documentados. Sun puede agregar nuevos eventos, de modo que el programa debe hacer caso omiso de los eventos no reconocidos o que no requieren acción. Por ejemplo, el programa o la secuencia puede escribir un archivo log cuando el evento es RELEASE e ignorar los demás eventos.

  • El programa o secuencia de comandos no debe ser interactivo. Antes de invocar la secuencia de comandos de eventos, stdin, stdout y stderr se conectan a /dev/null. Para ver la salida de errores, deberá redirigirla a un archivo.

La secuencia de eventos hereda su entorno de programa de dhcpagent, y se ejecuta con privilegios de root. Si es necesario, la secuencia de comandos puede utilizar la utilidad dhcpinfo para obtener más información acerca de la interfaz. Consulte la página del comando man dhcpinfo(1) para obtener más información.

El daemon dhcpagent espera la salida de la secuencia de comandos de eventos para todos los eventos. Si la secuencia de comandos de eventos no sale una vez transcurridos 55 s, dhcpagent envía una señal SIGTERM al proceso de la secuencia de comandos. Si el proceso sigue sin salir pasados otros tres segundos, el daemon envía una señal SIGKILL para cerrar el proceso.

En la página del comando man dhcpagent(1M), se muestra un ejemplo de una secuencia de comandos de un evento.