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.