SafeChildren Banner

Havoc Oracle Solaris Experts

jueves, 30 de noviembre de 2006

Eliminar "Unknown Hostname" en Solaris cuando configuramos por DHCP el interface principal

Introducción
Updated: Esta entrada la escribí hace mucho tiempo y estaba pensada para Solaris 9, si quieres ver cómo se realiza el mismo proceso, pero en Solaris 10, tienes la actualización de Eliminar Unknow Hostname en Solaris 10


Si tenemos configurada nuestra salida a internet (external) en un interface que está sobre DHCP, entonces, Solaris intentará configurar el nombre de host a traves de este mismo. Esto supone que mi máquina Solaris quede con "unknown" como nombre de host.

Para solucionarlo, podemos hacer los siguientes pasos.

Asumimos que nuestro Sun tiene dos tarjetas de red, ce0 y ce1. La tarjeta ce0 está conectada a nuestro switch lan mediante una dirección estática y la tarjeta ce1 a nuestro modem ADSL mediante DHCP, según la siguiente imagen




Para ello vamos a empezar configurando los interfaces, y el nombre de nuestro host, topito

# echo "192.168.1.254 topito topito.example.com" >> /etc/hosts
# echo "topito" > /etc/nodename
# echo "topito" > /etc/hostname.ce0

Debemos crear una entrada de hostname.ce0 vacía para hacer que el DHCP carge una dirección IP válida, además de la entrada /etc/dhcp.ce1, que si está vacía contendrá los valores por defecto y si contiene datos serán las modificaciones de los mismos aplicados a este interface, en nuestro caso ce1

# touch /etc/hostname.ce1
# touch /etc/dhcp.ce1

Si no queremos que se nos asignen los parámetros por defecto, podemos utilizar estos modificadores:

  • wait TIEMPO_EN_SEGUNDOS por defecto son 30
  • primary si queremos que sea o no el interface primario

La configuración DHCP de Solaris está hecha, ahora sólo nos queda hacer que cada vez que nuestro sistema se inicie no intente resolver el nombre de host por DHCP y nos ponga "Unknown", para ello, utilizaremos este pequeño script que colocándolo en /etc/rc2.d hará que se nos asigne nuestro nombre

# cat <<! >/etc/init.d/set_hostname

#!/sbin/sh
#*********************************************
#
# Name: set_hostname
# SCCS Id: @(#)set_hostname 1.2 07/26/04
#
# Description:
# This file is a script for re-setting your hostname to the

# right value if you use DHCP (which has a habit of setting
# your hostname to "unknown" if you use a cable modem).
#
#
# Copyright © 2000-2004 by Rich Teer.
# All rights reserved.

#
#*********************************************

HOSTNAME=`cat /etc/nodename`
uname -S $HOSTNAME

!

# ln /etc/init.d/set_hostname /etc/rc2.d/set_hostname
# chown root:sys /etc/init.d/set_hostname
# chmod 750 /etc/init.d/set_hostname

En Solaris 10 las cosas cambian un poquito, este último paso podemos ignorarlo ya que basta con modificar un archivo de configuración para que sea el propio sistema quien se encarge de cargar el valor de /etc/nodename, para ello modificaremos el parámetro PARAM_REQUEST_LIST del archivo de configuración /etc/default/dhcpagent y eliminaremos el valor 12 de la lista, ya que este valor corresponde a hostname. (podemos obtener toda la información sobre los valores en el archivo)

  • PARAM_REQUEST_LIST=1,3,6,12,15,28,43
por
  • PARAM_REQUEST_LIST=1,3,6,15,28,43


Con esto tenemos ya configurado nuestra máquina Solaris para eliminar el molesto "Unknown", reiniciamos la máquina y listo!

Más información http://www.rite-group.com/rich/solaris_dhcp.html


Referencias


1 comentario:

  1. Hola Urko
    en la linea: cat </etc/init.d/set_hostname
    me manda error pero si la coloco
    cat /etc/init.d/set_hostname
    me funciona correctamente me gustaria saber porque o si es que tiene algun error

    ResponderEliminar