주요 콘텐츠로 건너뛰기

STCP가 그 이름이 무엇인지 어떻게 알고 있는지 궁금해한 적이 있습니까? >system>stcp 디렉토리에서 호스트라는 파일입니다. 파일에는 모듈의 이름인 한 줄이 포함되어 있습니다. 파일을 직접 편집하거나 표시할 수 있지만 호스트이름 명령을 사용하는 것이 좋습니다. 인수없이 호스트 파일의 내용을 표시합니다.

호스트
아테나비스
준비 13:46:51
그림 1 – 호스트 이름 명령으로 호스트 이름을 표시

인수를 제공하면 호스트 파일의 내용을 해당 인수 값으로 설정하고 STCP 호스트 이름이 됩니다.

이 -is-a-test
이 -이 -이 테스트
준비 13:47:00

호스트
이 -이 -이 테스트
준비 13:47:03
그림 2 - 호스트 이름 명령으로 호스트 이름 변경

명령 외에도 호스트 이름을 반환하는 프로그래밍 기능이 있습니다.

#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);
그림 3 – gethostname 기능을 사용하는 프로그램

다수의 하위 시스템은 모듈을 식별할 수 있도록 호스트 이름에 의존합니다. 이름을 검색하고 이름을 문자 문자열로 사용하거나 이름을 IP 주소로 확인합니다. 이름이 없는 경우 잘못된 IP 주소로 확인되거나 응용 프로그램이 실패하거나 잘못 작동할 수 있습니다.

예를 들어 Radius 서버를 통해 외부 인증을 수행하는 경우 호스트 이름에서 해결된 모듈의 IP 주소가 NAS-IP-ADDRESS 필드의 Radius 요청 패킷에서 전송됩니다. IP 주소가 예상되는 주소가 없거나 제공된 사용자 ID가 해당 IP 주소와 연결되지 않은 경우 Radius 서버가 요청을 거부할 수 있습니다.

호스트 이름 명령은 module_start_up 명령 매크로의 일부입니다. 이름이 부츠 에 걸쳐 지속되기 때문에 시스템이 부팅 할 때마다 이름을 설정할 필요는 없지만 다치지는 않습니다. 중요한 것은 이름이 올바른 IP 주소로 해결되는 것으로 설정되어 있는지 확인하는 것입니다. 잘못된 이름이나 잘못된 IP 주소 해상도를 갖는 것은 반경, SSH 또는 삼바와 같은 하위 시스템을 사용할 수 없게 만들 수 있습니다.