DNS 및 /etc/hosts 외에 Mac에서 호스트 정보를 어디서 얻을 수 있습니까?

DNS 및 /etc/hosts 외에 Mac에서 호스트 정보를 어디서 얻을 수 있습니까?

이름과 주소가 모두 변경되었습니다. example.com은 제가 소유한 도메인입니다.

% ping foo.example.com
PING foo.example.com (1.1.1.1)

1.1.1.1은 들어본 적도 없는 IP 주소입니다. 다른 프로그램(ssh, 컬)과 동일

% host foo.example.com
foo.example.com has address 2.2.2.2

2.2.2.2가 올바른 IP 주소입니다.

% grep foo /etc/hosts
(empty)

이것은 Mac에 있습니다. Linux에서는 호스트 정보의 다른 소스를 찾기 위해 /etc/nsswitch.conf를 찾습니다. Mac에도 비슷한 것이 있나요?

답변1

macOS에는 VPN과 같은 기능을 위해 범위가 지정된 DNS 라우팅의 정교한 시스템이 있습니다. 따라서 예를 들어 지금 "작동"하기 위한 VPN 연결이 있는 경우 회사의 도메인 이름에 대한 쿼리가 회사의 DNS 서버로 이동될 수 있습니다.

전체 목록을 보려면 다음을 실행하세요.

scutil --dns

시스템처럼 DNS를 쿼리하려면 다음을 사용하세요.

dns-sd -G v4v6 example.com
dns-sd -q example.com 255 255

(종료하려면 Ctrl-C를 눌러야 합니다 dns-sd.)

host, dig및 명령 nslookup은 자체 DNS 확인자 코드를 포함하고 시스템 라이브러리를 사용하지 않는 DNS 서버 문제 해결을 위한 오래된 Unix 명령입니다. 따라서 어떤 서버를 사용할지 지정하지 않으면 자동 생성된 서버만 가져오고 범위가 /etc/resolv.conf지정되지 않은 쿼리에 대한 기본 서버만 채워집니다. 그러나 시스템의 범위가 지정된 DNS 라우팅을 사용하는 ping호출 과 같은 도구 일 수 있습니다.gethostbyname(3)

추가 편집: 또한 macOS는 다음을 포함한 다양한 다른 수단을 통해 호스트 이름에서 IP 주소 확인 정보를 얻을 수 있다는 점을 언급해야 합니다.

  1. mDNS(애플 봉쥬르/IETF ZeroConf)
  2. Open Directory(LDAP의 Apple 스키마)
  3. 기타 LDAP
  4. 액티브 디렉토리
  5. 승리
  6. NetBIOS 이름 서비스
  7. NIS(이전의 YellowPages/yp, Sun/Oracle 네트워크 정보 서비스)

dscl명령줄 도구나 다음 위치에 숨겨져 있는 디렉토리 유틸리티 앱을 사용하여 이러한 설정을 편집할 수 있습니다 .

/System/Library/CoreServices/[Applications]/Directory\ Utility.app

관련 정보