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

Sistemas cliente DHCP y servicios de nombres

Los sistemas Oracle Solaris admiten los siguientes servicios de nombres: DNS, NIS, NIS+ y un almacén en un archivo local (/etc/inet/hosts). Cada servicio de nombres requiere configurar algunos aspectos antes de poder utilizarse. El archivo de configuración de cambios del servicio de nombres (ver nsswitch.conf(4)) debe también configurarse de forma adecuada para indicar los servicios de nombres que se deben utilizar.

Antes de que un cliente DHCP puede utilizar un servicio de nombrse, se debe configurar el sistema como cliente del servicio. De forma predeterminada y a manos que se indique lo contrario durante la instalación del sistema, solo se utilizan archivos locales.

En la tabla siguiente se resumen las cuestiones relacionadas con cada servicio de nombres y DHCP. La tabla contiene también vínculos a documentación que pueden ayudarle a configurar clientes para cada servicio de nombres.

Tabla 16–1 Información de cliente de servicio de nombres para sistemas cliente DHCP

Servicio de nombres  

Información de configuración de cliente 

NIS 

Si utiliza DHCP de Oracle Solaris para enviar información de la instalación de red de Oracle Solaris a un sistema cliente, puede utilizar una macro de configuración que contiene las opciones NISservs y NISdmain. Estas opciones pasan las direcciones IP de los servidores NIS y el nombre de dominio NIS al cliente. El cliente se convierte automáticamente en cliente NIS.

Si un sistema cliente DHCP ya está ejecutando Oracle Solaris, el cliente NIS no se configura automáticamente en ese sistema cuando el servidor DHCP envía información NIS al cliente. 

Si el servidor DHCP se configura para enviar información NIS al sistema cliente DHCP, puede ver los valores proporcionados al cliente utilizando el comando dhcpinfo en el cliente, de la siguiente forma:

# /sbin/dhcpinfo NISdmain

# /sbin/dhcpinfo NISservs


Nota –

Para DHCPv6, incluya -v6 y palabras clave de protocolo distintas en el comando.

# /sbin/dhcpinfo -v6 NISDomain

# /sbin/dhcpinfo -v6 NISServers


Utilice los valores devueltos para el nombre del dominio NIS y los servidores NIS al configurar el sistema como cliente NIS. 

Para configurar un cliente NIS para un sistema cliente DHCP de Oracle Solaris utilice el método estándar documentado en el Capítulo 5, Setting Up and Configuring NIS Service de System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).


Consejo –

Puede escribir una secuencia de comandos que utilice dhcpinfo e ypinit para automatizar la configuración de clientes NIS en sistemas cliente DHCP.


NIS+ 

Si el cliente NIS+ para un sistema cliente DHCP se configura de la forma convencional, es posible que el servidor DHCP proporcione de vez en cuando al cliente direcciones distintas. Esto provoca problemas de seguridad, ya que la seguridad de NIS+ incluye la dirección IP como parte de la configuración. Para garantizar que el cliente tenga la misma dirección cada vez, configure el cliente NIS+ para un sistema cliente DHCP de forma no estándar, según se documenta en Configuración de clientes DHCP como clientes NIS+.

Si se ha asignado manualmente una dirección IP al sistema cliente DHCP, la dirección del cliente será siempre la misma. El cliente NIS+ se puede configurar de la forma estándar, descrita en Setting Up NIS+ Client Machines de System Administration Guide: Naming and Directory Services (NIS+).

/etc/inet/hosts

Deberá configurar el archivo /etc/inet/hosts para un sistema cliente DHCP que vaya a utilizar /etc/inet/hosts para su servicio de nombres.

El nombre de host del sistema cliente DHCP se agrega a su propio archivo /etc/inet/hosts mediante las herramientas de DHCP. Sin embargo, se debe agregar manualmente el nombre de host al archivo /etc/inet/hosts de otros sistemas de la red. Si el sistema servidor DHCP utiliza /etc/inet/hosts para la resolución de nombres, deberá agregar también manualmente el nombre de host del cliente al sistema.

DNS 

Si el sistema cliente DHCP recibe el nombre de dominio DNS a través de DHCP, el archivo /etc/resolv.conf del sistema cliente se configura automáticamente. El archivo /etc/nsswitch.conf se actualiza también automáticamente para agregar dns a la línea hosts a continuación de otros servicios de nombres en el orden de búsqueda. Para obtener más información acerca de DNS, consulte la System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).

Configuración de clientes DHCP como clientes NIS+

Puede utilizar el servicio de nombres NIS+ en sistemas Oracle Solaris que sean clientes DHCP. Sin embargo, si su servidor DHCP puede proporcionar direcciones distintas en momentos distintos, este hecho burla parcialmente una de las opciones de mejora de seguridad de NIS+: la creación de credenciales de Estándar de cifrado de datos (DES). Por seguridad, configure el servidor DHCP para que proporcione siempre la misma dirección. Cuando se configura un cliente NIS+ que no utiliza DHCP, se agregan al servidor NIS+ credenciales DES únicas para el cliente. Hay varias formas de crear credenciales, como el uso de la secuencia nisclient o el comando nisaddcred.

La generación de credenciales NIS+ requiere que un cliente tenga un nombre de host estático para crear y almacenar las credenciales. Si quiere utilizar NIS+ y DHCP, deberá crear credenciales idénticas que se utilizarán para todos los nombres de host de los clientes DHCP. De este modo, no importa qué dirección IP y nombre de host asociado reciba un cliente DHCP, porque el cliente podrá utilizar las mismas credenciales DES.

El procedimiento siguiente muestra cómo se crean credenciales idénticas para todos los nombres de host DHCP. El procedimiento es válido únicamente si se conocen los nombres de host que utilizan los clientes DHCP. Por ejemplo, cuando el servidor DHCP genera los nombres de host, se saben los posibles nombres de host que puede recibir un cliente.

ProcedureCómo configurar clientes DHCP de Oracle Solaris como clientes NIS+

Un sistema cliente DHCP que vaya a ser cliente NIS+ deberá utilizar credenciales que pertenezcan a otro sistema cliente NIS+ del dominio NIS+. Este procedimiento genera únicamente credenciales para el sistema, que se aplican solo al superusuario que ha iniciado sesión en el sistema. Otros usuarios que inicien sesión en el sistema cliente DHCP deberán disponer de sus propias credenciales únicas en el servidor NIS+. Estas credenciales se crean mediante el procedimiento descrito en la System Administration Guide: Naming and Directory Services (NIS+).

  1. Para crear las credenciales para un cliente, escriba el siguiente comando en el servidor NIS+:


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

    Este comando escribe la entrada de la tabla cred.org_dir correspondiente al cliente NIS+ en un archivo temporal.

  2. Utilice el comando cat para ver el contenido de este archivo.

    También puede utilizar un editor de texto.

  3. Copie las credenciales para utilizar para los clientes DHCP.

    Deberá copiar la clave pública y la privada, que son largas secuencias de números y letras separadas por dos puntos (:). Las credenciales se deberán pegar en el comando que se emitirá en el siguiente paso.

  4. Agregue credenciales para un cliente DHCP mediante el siguiente comando:


    # 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
    

    En clave_pública_copiada, pegue la información de clave pública que ha copiado del archivo temporal. En clave_privada_copiada, pegue la información de clave privada que ha copiado del archivo temporal.

  5. Copie de forma remota los archivos desde el sistema cliente NIS+ al sistema cliente DHCP emitiendo los siguientes comandos en el sistema cliente 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 recibe un mensaje de “permission denied” (permiso denegado), es posible que los sistemas no estén conrfigurados para permitir la copia remota. En tal caso, puede copiar los archivos como usuario normal a una ubicación intermedia. Como superusuario, copie los archivos desde la ubicación intermedia a la ubicación aproìada en el sistema cliente DHCP.

  6. Copie el archivo de cambios del servicio de nombres correcto para NIS+ mediante el siguiente comando en el sistema cliente DHCP:


    # cp /etc/nsswitch.nisplus /etc/nsswitch.conf
    
  7. Reinicie el sistema cliente DHCP.

    Ahora, el sistema cliente DHCP ya podrá utilizar los servicios NIS+.


Ejemplo 16–1 Configuración de un sistema cliente DHCP de Oracle Solaris como cliente NIS+

En el ejemplo siguiente se supone que el sistema nisei, es un cliente NIS+ en el dominio NIS+ dev.example.net . También tiene un sistema cliente DHCP, dhow, y quiere que dhow sea un cliente 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

El sistema cliente DHCP dhow podrá ahora utilizar los servicios NIS+.



Ejemplo 16–2 Adición de credenciales mediante una secuencia de comandos

Si quiere configurar una gran cantidad de clientes DHCP como clientes NIS+, puede escribir una secuencia. Una secuencia puede agregar rápidamente las entradas a la tabla NIS+ cred.org_dir. A continuación se muestra un ejemplo de secuencia.


#! /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