Ir al contenido principal

¿Alguna vez te has preguntado cómo sabe STCP cómo se llama? En el directorio >sistema>stcp hay un archivo llamado host. El archivo contiene una línea que es el nombre del módulo. Puedes editar o mostrar el archivo directamente pero te recomiendo que uses el comando hostname. Sin 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 de nombre de host

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

nombre del host this-is-a-test
this-is-a-test
listo a las 13:47:00

nombre de host
this-is-a-test
listo 13:47:03
Figura 2 - Cambiar el nombre del host con el comando de nombre de host

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

#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 usando la función de nombre de pila

Varios subsistemas se basan en el nombre del anfitrión para poder identificar el módulo. Recuperan el nombre y lo utilizan como una cadena de caracteres o resuelven el nombre en una dirección IP. Si el nombre no está ahí, es incorrecto, se resuelve en una dirección IP incorrecta o no puede ser resuelto, la aplicación puede fallar o funcionar incorrectamente.

Por ejemplo, si está haciendo una autenticación externa a través de un servidor Radius, la dirección IP del módulo, resuelta a partir del nombre del host, se envía en el paquete de solicitud Radius en el campo NAS-IP-ADDRESS. Su servidor Radius puede rechazar la solicitud si la dirección IP no es la que espera o si el ID de usuario proporcionado no está asociado con esa dirección IP.

El comando de nombre de host es parte de la macro de comando module_start_up. No es necesario establecer el nombre cada vez que el sistema arranca, ya que el nombre es persistente a través de las botas, pero no hace daño. Lo importante es asegurarse de que el nombre se establezca en algo que resuelva la dirección IP correcta. Tener el nombre equivocado o la resolución de la dirección IP incorrecta puede hacer que subsistemas como Radius, SSH o Samba sean inutilizables.