WGETはホストを解決できません


11

Debian 5.0を実行している同じサブネット上に2台のマシンがあります。同じDNS(/etc/resolv.conf)を使用し、同じゲートウェイにルーティングし(#route)、同じiptables設定(#iptables -L)を使用します。IPアドレスとホスト名の両方に対して、両方からpingを実行できます。#host www.google.comを実行すると、両方で同じ結果が得られます。しかし、問題は、それらの1つで、wgetまたはcurlできないことです。

そのため、マシン1ではすべて問題ありませんが、マシン2(マシン1と同じ設定)ではwgetまたはcurlできません。

私が得るエラーは:

# 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を実行しても問題はありません。

# 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の「ホストgoogle.com」ではなく、「ホストwww.google.com」、試してみてください
ビル・ワイス

回答:


17

/etc/nsswitch.confファイルを確認してください(そうでない場合は、Debianにある同等のもの)。

hostそしてnslookup 、常に DNSルックアップを行います。

ただし、他のアプリケーションは、他のネーミングシステム(/etc/hostsNISなど)を最初にNSSで調べます。他の何かが設定されていても機能していない場合、アプリケーションがDNSを試行できなくなる可能性があります。


3
リゾルバをチェックする標準的な方法が実行されていgetent hosts google.comます。これは、nsswitch.confを使用してから、必要に応じてresolv.confを使用します。
ジョー

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の答えを受け入れるべきです。
ダンキャリー

うん、どうすればいいの?:-/

投票スコアの横にある「V」をクリックして受け入れます。:)
レッドサンドロ

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を確認し、そのファイルにリストされているネームサーバーを見つけます。それらのそれぞれにpingを実行できますか?

それぞれを個別にクエリしてみてください。

# 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
匿名で、下票に関する建設的なコメントをありがとう。
レッサンドロ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.