Skip to main content

Vous êtes-vous déjà demandé comment le STCP sait quel est son nom ? Dans le répertoire >system>stcp se trouve un fichier appelé host. Le fichier contient une ligne qui est le nom du module. Vous pouvez modifier ou afficher le fichier directement, mais je vous recommande d'utiliser la commande hostname. Sans arguments, elle affichera le contenu du fichier hôte.

nom d'hôte
athenavs
prêt 13:46:51
Figure 1 - Affichage du nom d'hôte avec la commande hostname

Si vous fournissez un argument, le contenu du fichier hôte sera fixé à la valeur de cet argument, et cela devient le nom d'hôte STCP.

nom d'hôte this-is-a-test
this-is-a-test
prêt 13:47:00

nom d'hôte
this-is-a-test
prêt 13:47:03
Figure 2 - Changer le nom d'hôte avec la commande hostname

Outre la commande, il existe une fonction de programmation permettant de retourner le nom de l'hôte

#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);
Figure 3 - Programme utilisant la fonction gethostname

Un certain nombre de sous-systèmes s'appuient sur le nom d'hôte pour pouvoir identifier le module. Ils récupèrent le nom et l'utilisent soit comme chaîne de caractères, soit le résolvent en une adresse IP. Si le nom n'est pas là, s'il est erroné, s'il est résolu en une mauvaise adresse IP ou s'il ne peut être résolu, l'application peut échouer ou fonctionner incorrectement.

Par exemple, si vous effectuez une authentification externe via un serveur Radius, l'adresse IP du module, résolue à partir du nom d'hôte, est envoyée dans le paquet de requête Radius dans le champ NAS-IP-ADDRESS. Votre serveur Radius peut rejeter la demande si l'adresse IP n'est pas celle qu'il attend ou si l'ID utilisateur fourni n'est pas associé à cette adresse IP.

La commande hostname fait partie de la macro de commande module_start_up. Il n'est pas nécessaire de définir le nom à chaque démarrage du système puisque le nom est persistant d'un démarrage à l'autre, mais cela ne fait pas de mal. L'important est de s'assurer que le nom est défini sur quelque chose qui se résout à l'adresse IP correcte. Avoir un mauvais nom ou une mauvaise résolution d'adresse IP peut rendre des sous-systèmes comme Radius, SSH ou Samba inutilisables.

2020 Stratus Technologies.