DNS는 호스트 이름을 확인할 수 없습니다. nslookup 수


9

Windows 7에 DNS 이름이 windows.cs 인 로컬 서버에 액세스하려고하는 사용자가 있습니다. 내부 DNS 서버가 2 대 있습니다. DHCP 서버는 사용자에게 2 개의 내부 DNS 서버를 기본 및 보조로 지정한 다음 ISP의 DNS를 3 차 DNS 서버로 할당합니다.

때때로 사용자는 windows.cs에서 웹 사이트에 액세스 할 수 없습니다. Ping하면 호스트 이름을 확인할 수 없습니다. DNS 캐시를 플러시 한 다음 dns 캐시를 표시하면 다음과 같은 결과가 나타납니다.

windows.cs-이름이 존재하지 않습니다

그러나 기본 DNS 서버 (내부 서버)를 쿼리하고 windows.cs를 쿼리하는 nslookup을 사용하면 올바른 IP 주소를 반환합니다.

그렇다면 Windows는 ping을 사용하여 호스트 이름을 확인할 수 없지만 nslookup 도구를 사용할 때 가능합니다. 이 문제를 어떻게 해결합니까?


1
+1,이 문제가 자주 발생합니다. 호스트 이름을 사용하더라도 5 분 전에 사용했습니다!
Brad

답변:


12

windows.cs에 대한 요청이 ISP의 DNS 서버로 계속 가고 있다는 말에서 나타납니다. 그런 다음 nxdomain 결과는 Windows의 DNS 클라이언트에 의해 캐시되므로 웹 브라우저, 핑 등을 사용하여 재 시도하는 데 사용됩니다. 캐시를 지우면 (ipconfig / flushdns) Windows DNS 클라이언트가 쿼리를 다시 시도해야하지만 보장 할 수는 없습니다. ISP DNS 서버로 다시 이동하지 않습니다.

ping이 호스트 이름을 확인할 수 없지만 nslookup이 할 수있는 이유는 nslookup이 Windows DNS 클라이언트를 우회하는 하위 수준 도구이기 때문입니다. 그것은 당신이 말한 모든 DNS 서버를 사용하고 (기본적으로 첫 번째 서버) 쿼리를 즉시 수행합니다. server <host>nslookup 프롬프트에서 입력하여 쿼리하는 DNS 서버를 변경할 수 있습니다 . 여기서 host는 IP 또는 FQDN입니다.

그러나 Windows DNS 클라이언트는 캐시에 없거나 만료 된 항목에 대해서만 쿼리를 수행합니다. 그렇지 않으면 캐시 된 결과를 반환합니다.

Windows 클라이언트가 ISP DNS 서버를 사용하는 이유는 분명하지 않습니다. 아마도 아마도 다른 네트워크에 있기 때문에 최근에 로컬 서버를 해결할 수 없었을 것입니다. 아마도 로컬 서버가 오류를 반환했을 것입니다. 또는 고급 TCP / IP 설정> DNS에서 올바르게 주문되지 않았을 수 있습니다.

개인적으로 워크 스테이션 (DHCP에서 전파)에서 로컬 DNS 서버 주소 만 사용하여 구성을 단순화하고 이와 같은 문제를 피하는 것을 선호합니다. 데스크톱에서 ISPs DNS 서버를 설정 한 이유를 알고 싶습니다. 유효한 성능상의 이유가 있다고 상상할 수 없으며, 중복성이있는 한 대부분의 네트워크에서 충분합니다 (3 분의 1을 추가하지 않는 경우).


당신은 좋은 지적을 제기합니다. DHCP 서버가 서버를 3 차로 할당하는 특별한 이유는 없습니다. 그리고 그것이 왜 해결되지 않는지에 대한 합리적인 설명처럼 보입니다 (그러나 왜 제 3의 DNS 서버로 갈까요? 방향 감사합니다. DHCP를 통해 전달 된 할당 된 DNS 서버에서 퍼블릭 DNS 서버를 제거하고 문제가 해결되는지 확인하겠습니다. 내부 DNS 서버는 해당 DNS 서버에 응답 할 수없는 모든 쿼리를 전달해야하므로 문제가되지 않습니다.
Safado

업데이트 : 문제가 해결 된 것 같습니다. 제안 해 주셔서 감사합니다!
Safado

0

특이성과 버그 nslookupping인해 결과가 다릅니다nslookup . 그러나 실제로는 주요 문제와 관련이 없습니다. 즉 , 대체 프록시 DNS 서버가 기본 네임 스페이스와 동일한 DNS 네임 스페이스보기를 제공해야 한다는 규칙을 위반 한 것 입니다. ISP의 프록시 DNS 서버는 LAN의 자체 프록시 DNS 서버와 동일한 DNS 네임 스페이스보기를 제공하지 않습니다.

그 또 다른 시스템 관리자가 파울의 떨어진 것 같다 나는 그래서 내 ISP가 제공 및 문서 해야한다 그것을 사용할 수 있습니다. 그릇된 생각. ☺


평신도 용어로, DNS 서버가 동일한 정보를 가지고 있다는 것을 알지 못하면 내 사용자에게 DNS 서버를 할당하지 않는다고 말하는 것입니까? 링크가 작동하지 않습니다.
Safado

0

TL; DR 버전 : IPv6으로 인해 DNS 쿼리 문제가 발생하여 비활성화하면 DNS 쿼리 문제가 해결되었습니다.

개발 시스템에서 같은 문제가 발생했습니다. 회사 네트워크에 로그인 할 때마다 내부 호스트 이름을 확인할 수 없었으며 모든 외부 호스트 이름 / URI를 확인할 수있었습니다. VPN 연결에 할당 된 DNS 서버를 확인했으며 회사 DNS 서버가 기본 및 보조로 구성되었음을 보여줍니다. 또한 사용할 수는 nslookup있지만 server X.X.X.XDNS 확인을 위해 서버를 통해 수동으로 변경해야했습니다 .

결국 IPv6가 이름 확인에 문제를 일으키는 것으로 나타났습니다. 각 DNS 쿼리에서 IPv4 회사 DNS 서버가 아닌 IPv6 DNS가 쿼리되었습니다. IPv6를 비활성화 한 후에는 ipconfig /flushdns이전에 쿼리 한 주소가 여전히 해결되지 않을 수 있습니다.


0

DNS 레코드를 삭제하고 flushdns 및 registerdns 명령을 실행하여 문제를 간단하게 해결할 수 있었고 문제를 해결했습니다. 그 이유는 DNS 자체의 노화입니다. 임대가 만료 된 후 DNS가 레코드를 삭제하지 않았으며 갱신되지 않아 이름을 판매했기 때문에 이름을 확인할 수 없었습니다. 문제 해결에 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.