DNS 조회가 호스트 파일 항목을 무시하게하는 원인은 무엇입니까?


13

로컬 컴퓨터에서 탐색 할 때 로컬로 호스팅되는 웹 사이트의 성능에 영향을주는 DNS 해결 문제가 있습니다. 브라우저의 URL로 이동할 때 네트워크의 DNS 접미사를 로컬 컴퓨터 이름에 연결하면 사이트에 DNS 접미사가없는 것보다 끔찍한로드 시간 (100+ 배 더 느림)이 있습니다.

검색 할 필요가 없도록 호스트 파일을 사용하여이 문제를 해결할 수 있다고 생각했습니다. 다음과 같이 호스트 파일에 항목을 추가했습니다.

127.0.0.1    myMachine.MyDnsSuffix

그러나 이것은 재부팅 후에도로드 시간을 변경하지 않았습니다. 이 특정 문제를 해결하는 것은 중요하지 않지만 이런 일이 발생 하는지 알고 싶습니다 .

또한 도메인 myMachine.MyDnsSuffix에서 nslookup을 실행하면 네트워크의 DNS 서버를 사용하여 IP를 찾습니다. 이것이 내 문제와 관련이 있습니까? 아니면 nslookup이 어떻게 작동하는지 오해하고 있습니까?

답변:


20

HOSTS 파일을 사용하는 대신 nslookup을 사용하여 DNS 서버 자체를 테스트한다고 생각합니다. http://support.microsoft.com/kb/200525 가 많은 것으로 보입니다.

간단한 핑을 시도하십시오. 않습니다 ping myMachine.MyDnsSuffix당신은 당신의 HOSTS 파일에 루프백 주소로 확인 지정한?


에 대해 좋은 지적을했습니다 nslookup. 방금 핑을 시도했는데 HOSTS 파일에 지정 myMachine.MyDnsSuffix되지 않은 네트워크의 IP로 확인되었습니다 127.0.0.1.
Dan Herbert

당신의 OS는 무엇입니까? Windows7 및 Vista는 HOSTS 파일에 이상한 UAC 보호 기능이 있다고 생각합니다. 변경 사항이 올바르게 저장되고 있습니까?
Christopher Karel

내 OS는 Windows XP입니다. 변경 사항이 올바르게 저장되는 것 같습니다.
Dan Herbert

흠 ... HOSTS 항목 시작 부분에 해시 마크가 없습니까? (그렇게하면 주석이 될 것입니다) 그리고 C : \ Windows \ System32 \ drivers \ etc \ hosts에 있는지 확실합니까? 거기에 더미 항목을 추가하고 지정한대로 해결되는지 확인할 수 있습니까?
Christopher Karel

3
아, 그리고 당신의 이름 캐시를 지우는 것을 잊지 마십시오. ipconfig /flushdns. NETBIOS 캐시도 : nbtstat -R. (창에서 대소 문자 구분-WTF, 왜?!?)
Christopher Karel

8

DNS 조회는 호스트 파일을 사용하지 않습니다. 이제까지.


2
@BartDeVos 아니오, 잘못이 아닙니다. 일반적인 호스트 조회 ( gethostbyname()호스트 파일 또는 DNS를 통해 갈 수 있지만, DNS 별 조회 (에 의해 수행됨 nslookup)는 호스트 파일을 사용하지 않습니다.
Alnitak

즉, gethostinfo / getaddrinfo (최신 버전의 gethostbyname)는 POSIX이며 반드시 Windows가 사용하는 것은 아닙니다.
adaptor

2

좋아, 새로운 접근 방식. IP 및 NETBIOS 캐시를 지우십시오. ipconfig /flushdns그리고 nbtstat -R. 그런 다음 Wireshark와 같은 패킷 스니퍼를 실행하고 실행 중에 핑을 수행하십시오.

패킷 캡처에서 A) DNS 요청이 있는지 확인하고, 그렇다면 요청하는 이름을 확인하려고합니다. B) NETBIOS 요청이있는 경우. 이 이름은 적절한 DNS 대신 NETBIOS를 통해 확인 될 수 있습니다.

캐시를 비우더라도 위의 내용 중 하나라도 표시되지 않으면 호스트 또는 lmhosts에서 이름을 가져 왔을 가능성이 있습니다.


1

웹 포럼의 일부 사람들은 새 호스트 파일을 만들고 DNS 클라이언트 서비스를 다시 시작하면 문제가 해결된다고 주장하지만 이미 재부팅을 시도한 경우 왜 작동하는지 잘 모르겠습니다.

이것이 오래되었다는 것을 알고 있지만 호스트 파일 항목에 MSDN, Microsoft 또는 MSN과 같은 Microsoft 관련 단어가 없습니까? Microsoft는 특정 이름과 일치하는 호스트 파일 항목을 무시하기 위해 dnsapi.dll을 작성했습니다. 예를 들어 다음 항목을 추가하면 Windows는 해당 항목을 건너 뛰고 DNS를 사용하여 항목의 두 호스트 이름을 모두 확인합니다.

127.0.0.1 www.microsoft.com www.mysite.com

내 HOSTS 파일에 Microsoft 관련 항목이 없습니다. 내부 테스트 도메인이 몇 개만 할당되었습니다. 내 호스트 파일은 매우 기본적입니다.
Dan Herbert

흠, 흥미로운. HOSTS파일 을 무시하기 위해 MS 도메인을 하드 코딩했음을 알고 있지만 MS 도메인과 항목을 공유하면 비 MS 도메인도 무시됩니다. 그것은 그들 자신의 프로그래밍이 좋지 않습니다. 이것은 HOSTS파일을 “축소”할 때주의 해야 할 사항입니다.
Synetech

0

전체 DNS 이름을 사용하면 브라우저가 프록시 서버를 통해 IE를 클릭 합니다.

호스트 파일 또는 이름 확인 순서는이 문제와 관련이 없으며 호스트 파일 인 인류의 뒷면에있는 페스터 링은 다시 가져와 시끄럽게 촬영해야합니다.


그래도 프록시에 연결되어 있지 않습니다.
Dan Herbert

1
@mh : 루트 서버를 통해 레코드를 추가 / 제거 / 편집 할 수있는 한 호스트 촬영에 대해 동의합니다.
Ian Boyd

0

http://geekswithblogs.net/JanS/archive/2009/06/17/beware-of-spacing-in-windows7-hosts-file.aspx

이것이 실제 원인 인 것 같습니다. 25 년 전의 협약을 무시하고 갑자기 경고없이 Microsoft에 맡기십시오.


2
답변에 요점 / 원인을 포함 시키십시오. 링크보다 훨씬 좋습니다.
Jacob

여기에 링크 된 URL의 필수 부분이 있지만 아무 것도 작동하지 않는 것 같습니다. <ip address> <single space> <value>로 포맷 된 다른 예제 호스트 파일을 볼 때까지
Tun

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