web-dev-qa-db-ja.com

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

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

つまり、マシン1ではすべて問題ありませんが、マシン2(マシン1と同じ設定)では、wgetやカールができません。

私が得るエラーは:

# 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'

等。

この問題を修正できるように、ここの誰かが私をここの正しい方向に向けられることを願っています:)

11
Maggi Trymbill

/etc/nsswitch.confファイル(または、Debianに相当するものがない場合は、それに相当するもの)。

Hostおよびnslookupalways DNSルックアップを実行します。

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

17
Alnitak

皆さん、答えてくれてありがとう!

Nsswitch.confファイルでした。ホストでこの行を使用するように指示するチュートリアルからLDAPをセットアップしました。

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

私がこれに変更したとき:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

問題なく動作します。それで、nsswitch設定ファイルがファイルまたはmdns4_minimalに見つからない場合、nullを返すようにしていたと思いますよね?

ご協力ありがとうございます

9
Maggi Trymbill

私も同じ問題を抱えていましたが、次に/etc/nsswitch.conf

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

ネームサーバーも変更する必要がありました。

変化する /etc/resolv.confしたがって、Googleネームサーバーをポイントします。ネットワークマネージャーによって追加されたものは、私には機能しません。

# RED 2013-03-31
nameserver 8.8.8.8
nameserver 8.8.4.4
2
Redsandro

エラーが発生したマシンに無効なプロキシが構成されている可能性がありますか?これを試して:

# wget --no-proxy google.com
2
djhowell

試す

nslookup google.com

両方のボックスで使用しているDNSサーバーが表示されるようにします。

2
Zepplock

最初に試すことは、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
David Pashley