¿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.