Ir al contenido principal

¿Te has preguntado alguna vez cómo sabe STCP cuál es su nombre? En el directorio >system>stcp hay un archivo llamado host. El archivo contiene una sola línea, que es el nombre del módulo. Puedes editar o visualizar el archivo directamente, pero te recomiendo que utilices el comando hostname. Si no se le pasan argumentos, mostrará el contenido del archivo host.

nombre de host:
athenavs:
listo  13:46:51
Figura 1: mostrar el nombre del host con el comando hostname

Si se proporciona un argumento, el contenido del archivo host se establecerá en el valor de dicho argumento, y ese valor se convertirá en el nombre de host STCP.

nombre de host esto-es-una-prueba
esto-es-una-prueba
listo  13:47:00

nombre de host
esto-es-una-prueba
listo  13:47:03
Figura 2: Cambiar el nombre del host con el comando hostname

Además del comando, hay una función de programación para obtener el nombre del host

#include <stdio.h>
#include <errno.h>
#include <netdb.h>

int errno;
void exit (int);

main ()
{
char name [32];

if (gethostname (name, 32) < 0)
{
perror ("ex_gethostname: Error getting hostname");
exit (errno);
}
else
printf ("hostname is %sn", name);
Figura 3 – Programa que utiliza la función gethostname

Varios subsistemas dependen del nombre de host para poder identificar el módulo. Obtienen el nombre y lo utilizan como cadena de caracteres o lo resuelven en una dirección IP. Si el nombre no existe, es incorrecto, se resuelve en una dirección IP errónea o no se puede resolver, la aplicación podría fallar o funcionar de forma incorrecta.

Por ejemplo, si se realiza una autenticación externa a través de un servidor RADIUS, la dirección IP del módulo, obtenida a partir del nombre de host, se envía en el paquete de solicitud RADIUS en el campo NAS-IP-ADDRESS. Es posible que el servidor RADIUS rechace la solicitud si la dirección IP no es la esperada o si el ID de usuario proporcionado no está asociado a esa dirección IP.

El comando «hostname» forma parte de la macro de comando «module_start_up». No es necesario configurar el nombre cada vez que se inicia el sistema, ya que este se mantiene entre arranques, pero tampoco pasa nada si se hace. Lo importante es asegurarse de que el nombre se configure con un valor que se resuelva en la dirección IP correcta. Un nombre incorrecto o una resolución de dirección IP errónea pueden hacer que subsistemas como Radius, SSH o Samba dejen de funcionar.