Pular para o conteúdo principal

Já se perguntou como a STCP sabe qual é seu nome? No >system>stcp directory é um arquivo chamado host. O arquivo contém uma linha que é o nome do módulo. Você pode editar ou exibir o arquivo diretamente, mas eu recomendo que você use o comando hostname. Sem argumentos, ele exibirá o conteúdo do arquivo hospedeiro.

hostname
athenavs
pronto 13:46:51
Figura 1 - exibir o nome do host com o comando hostname

Se você fornecer um argumento, ele ajustará o conteúdo do arquivo hospedeiro ao valor desse argumento, e isso se tornará o nome do hospedeiro STCP.

hostname este-é um teste
este-é um teste
pronto 13:47:00

hostname
este-é um teste
pronto 13:47:03
Figura 2 - Alterar o nome do host com o comando hostname

Além do comando, há uma função de programação para retornar o nome do 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 usando a função gethostname

Vários subsistemas dependem do nome do host para poder identificar o módulo. Eles recuperam o nome e ou usam o nome como uma cadeia de caracteres ou resolvem o nome para um endereço IP. Se o nome não estiver lá, errado, resolve para o endereço IP errado ou não pode ser resolvido, a aplicação pode falhar ou funcionar incorretamente.

Por exemplo, se você estiver fazendo autenticação externa através de um servidor Radius, o endereço IP do módulo, resolvido a partir do nome do host, é enviado no pacote de solicitação Radius no campo NAS-IP-ADDRESS. Seu servidor Radius pode rejeitar a solicitação se o endereço IP não for o esperado ou se o ID do usuário fornecido não estiver associado a esse endereço IP.

O comando hostname faz parte da macro de comando de módulo_start_up. Não é necessário definir o nome toda vez que o sistema inicia, uma vez que o nome é persistente através dos boots, mas não dói. O importante é garantir que o nome seja definido para algo que resolva para o endereço IP correto. Ter o nome errado ou a resolução de endereço IP errada pode tornar subsistemas como Radius, SSH ou Samba inutilizáveis.

© 2020 Stratus Technologies.