WGET이 호스트를 확인할 수 없습니다


11

데비안 5.0을 실행하는 동일한 서브넷에 2 대의 컴퓨터가 있습니다. 동일한 DNS (/etc/resolv.conf)를 사용하고 동일한 게이트웨이 (#route)로 라우팅하며 동일한 iptables 설정 (#iptables -L)을 갖습니다. 둘 다 IP 주소와 호스트 이름에 핑할 수 있습니다. #host www.google.com을 실행하여 둘 다 동일한 결과를 얻을 수 있습니다. 그러나 문제는 그들 중 하나에서 깨지거나 말릴 수 없다는 것입니다.

따라서 컴퓨터 1에서는 모든 것이 정상이지만 컴퓨터 2와 동일한 설정을 가진 컴퓨터 2에서는 깨지거나 말릴 수 없습니다.

내가 얻는 오류는 다음과 같습니다.

# wget google.com
--2009-10-20 16:38:36--  http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'

그러나 머신 1에서는 wget 또는 curl 및 return 문제가 없습니다.

# wget google.com
--2009-10-20 16:43:55--  http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
...
Saving to: `index.html.3'

기타.

나는이 문제를 해결할 수 있도록 여기 누군가가 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. :)


이것은 아마도 wget과 관련이 없지만 네트워킹 문제와 관련이 있습니다.
jldupont

당신은 환경에 프록시 설정이 있습니까 .. 내 작업 기계는 :-(
lexu

서버 2에서 "host www.google.com"이 아니라 "host google.com"을 시도하십시오.
Bill Weiss

답변:


17

/etc/nsswitch.conf파일을 확인하십시오 (또는 Debian에 해당하는 파일이 아닌 경우).

host그리고 nslookup 항상 DNS 조회를 수행합니다.

그러나 다른 응용 프로그램은 NSS에서 다른 이름 지정 시스템 (예 : /etc/hostsNIS 등)을 먼저 찾습니다 . 다른 것이 구성되었지만 작동하지 않으면 응용 프로그램이 DNS를 시도하지 못할 수 있습니다.


3
해결 프로그램을 확인하는 정식 방법이 실행 중 getent hosts google.com입니다. 이것은 nsswitch.conf를 사용한 다음 필요에 따라 resolv.conf를 사용합니다.
Joe

9

답변 해 주셔서 감사합니다!

nsswitch.conf 파일이었습니다. 호스트 에서이 줄을 사용하라는 자습서에서 LDAP를 설정했습니다.

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

내가 이것을 바꿨을 때 :

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

문제없이 작동합니다. 그래서 nsswitch 구성 파일이 파일이나 mdns4_minimal에서 발견되지 않으면 null을 반환한다고 생각합니다.

당신의 도움을 주셔서 감사합니다!


7
Alnitak의 대답을 받아 들여야 할 것입니다.
Dan Carley

예, 어떻게합니까? :-/

투표 점수 옆의 "V"를 클릭하여 동의하십시오. :)
Redsandro

2

컴퓨터에 오류가있는 잘못된 프록시가 구성되어있을 수 있습니까? 이 시도:

# wget --no-proxy google.com

2

가장 먼저 시도해야 할 것은 DNS가 올바르게 작동하는지 확인하는 것입니다.

# host google.com
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com has address 74.125.53.100

해당 응답이 없으면 /etc/resolv.conf를 확인하고 해당 파일에 나열된 이름 서버를 찾으십시오. 당신은 그들 각각을 핑 할 수 있습니까?

각각 개별적으로 쿼리하십시오.

# host google.com 12.34.56.78

다른 호스트를 해결할 수 있습니까?


2

나는 같은 문제가 있었지만 옆에 변화가 있었다 /etc/nsswitch.conf.

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

또한 이름 서버를 변경해야했습니다.

/etc/resolv.confGoogle 네임 서버를 가리 키도록 변경하십시오 . 네트워크 관리자가 추가 한 것은 작동하지 않습니다.

# RED 2013-03-31
nameserver 8.8.8.8
nameserver 8.8.4.4

3
downvote에 대한 건설적인 의견에 감사드립니다.
Redsandro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.