linux - hosts文件一个主机名对应多个ip,为什么不成功??
高洛峰
高洛峰 2017-04-17 17:00:01
0
1
1287

uname -a

Linux XXXX 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

修改了/etc/host.con文件
order hosts,bind
multi on

也修改了/etc/hosts文件
192.168.0.1 a
192.168.0.2 a
192.168.0.3 a

3个ip都是a主机的ip

为什么ping a的时候就只能是第一条(192.168.0.1 a)生效了???

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
左手右手慢动作

좀 조사한 후: 지침을 보려면 호스트.conf 매뉴얼을 확인하세요.

multi: 유효한 값은 on과 off입니다. on으로 설정하면 Resolver Library가 /etc/hosts 파일에 나타나는 호스트에 대한 모든 유효한 주소를 반환합니다. 첫 번째만 해당되는 것이 아니라 기본적으로 꺼져 있습니다. 대용량 호스트 파일이 있는 사이트에서는 상당한 성능 손실이 발생할 수 있기 때문입니다.

리졸버 라이브러리는 ping이 아닙니다. Ping은 전달될 수 있는 get 중 첫 번째 항목만 사용합니다.

getent가 호스트합니다.

호스트 구성에서 효과적인 구성을 얻으려면 getent 명령을 사용하여 중요한 구성 파일의 내용을 얻습니다.
getnet 호스트는 실제로 gethostbyname 시스템 API 함수를 호출하여 구문 분석되므로 다음에서 호출될 수 있습니다. 서버 이름에 해당하는 모든 IP를 가져오는 코드 gethostbyname은 다음과 같습니다. 다음은 임의의 코드입니다.

#include <iostream>
#include <typeinfo>

#include <netdb.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    char *ptr, **pptr;
    구조체 호스트 *hptr;
    문자 문자열[32];
    ptr = argv[1];

    if((hptr = gethostbyname(ptr)) == NULL)
    {
        printf("호스트:%s에 대한 gethostbyname 오류\n", ptr);
        0을 반환합니다.
    }

    printf("공식 호스트 이름:%s\n",hptr->h_name);
    for(pptr = hptr->h_aliases; *pptr != NULL; pptr++)
        printf("별칭:%s\n",*pptr);

    스위치(hptr->h_addrtype)
    {
        사례 AF_INET:
        사례 AF_INET6:
            pptr=hptr->h_addr_list;
            for(; *pptr!=NULL; pptr++)
                printf("주소:%s\n",
                       inet_ntop(hptr->h_addrtype, *pptr, str, sizeof(str)));
            printf(" 첫 번째 주소: %s\n",
                       inet_ntop(hptr->h_addrtype, hptr->h_addr, str, sizeof(str)));
        부서지다;
        기본:
            printf("알 수 없는 주소 유형\n");
        부서지다;
    }

    0을 반환합니다.
}

실행 결과:

$./a.out a
공식 호스트 이름:a
 주소:187.0.0.3
 주소:127.0.0.1
 주소:127.0.0.2
 첫 번째 주소: 187.0.0.3
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿