호스트를 찾을 때 사용자 정의 DNS 서버 정의

호스트를 찾을 때 사용자 정의 DNS 서버 정의

현재 네트워크 호스트의 DNS 서버에 문제가 있어 Baidu의 IP 주소를 올바르게 확인할 수 없습니다.

shell_exec('host -W 2 180.76.5.168');
shell_exec('nslookup 180.76.5.168');

호스트를 확인하려고 할 때 자체 DNS 서버 주소를 정의할 수 있는 방법이 있습니까?

내 localhost 결과의 출력을 인용하면 ...

호스트: baiduspider-180-76-5-168.crawl.baidu.com

서버: Wireless_Broadband_Router.home 주소: 192.168.1.1 이름: baiduspider-180-76-5-168.crawl.baidu.com 주소: 180.76.5.168

답변1

호스트를 확인하려고 할 때 자체 DNS 서버 주소를 정의할 수 있는 방법이 있습니까?

예, 다음 방법을 사용할 수 있습니다.

방법 #1 - 모든 방법은 Google Public DNS에서 확인을 시도하며 필요한 경우 이를 변경할 수 있습니다.

nslookup  180.76.5.168  8.8.8.8

방법 #2

dig -x 180.76.5.168 @8.8.8.8

방법 #3

host -W 2 180.76.5.168  8.8.8.8

답변2

nsswitch.confUnix 시스템에는 다양한 항목의 이름을 구문 분석하는 방법을 제어하는 ​​파일이 있습니다 . 예를 들어 호스트 이름은 파일의 다음 줄로 제어됩니다.

hosts:      files mdns4_minimal [NOTFOUND=return] dns

이 줄은 다음과 같이 말합니다.

  • 먼저 "파일"(예 /etc/hosts: )을 살펴보세요.
  • 다음으로 "mdns4_minimal"을 시도해 보십시오. 이는 멀티캐스트 DNS를 사용하여 이름 확인을 시도한다는 의미입니다.
  • "NOTFOUND"는 이전 mdns4_minimal 프로세스의 찾을 수 없는 응답이 신뢰할 수 있는 것으로 간주되어야 하며 시스템이 계속해서 답변을 찾으려고 시도해서는 안 됨을 의미합니다.
  • 마지막으로 "dns" 매개변수는 레거시 유니캐스트 DNS 쿼리의 사용을 나타냅니다.

mdns4_minimal을 통해 이름을 확인하려고 할 때 /etc/resolv.conf이 파일을 참조하여 다음을 결정합니다.

  • 쿼리할 네임서버
  • 기본 검색 도메인 이름
  • 기본 도메인 이름

예를 들어:

# Generated by NetworkManager
domain somedom.net.
search somedom.net.
nameserver 192.168.1.101
nameserver 8.8.8.8
nameserver 8.8.4.4

따라서 @RahulPatil의 답변에 나열된 옵션 이상으로 기본 DNS 서버를 제어하려면 /etc/resolv.conf파일에서 DNS 서버를 변경해야 합니다.

인용하다

관련 정보