web-dev-qa-db-ja.com

Squidが特定のURLを解決しない

この質問がserverfault(およびその他の場所)で何度も尋ねられるのを見ましたが、解決策は見つかりませんでした。

Squidバージョン3.1.19標準のUbuntu12.04パッケージを使用しています。

ブラウザに次のエラーが表示されます。

The following error was encountered while trying to retrieve the URL: http://www.standardandpoors.com/home/en/us

Unable to determine IP address from Host name www.standardandpoors.com

The DNS server returned:

Name Error: The domain name does not exist.

This means that the cache was not able to resolve the hostname presented in the URL. Check if the address is correct.

プロキシサーバーから、アドレスを問題なく解決できます。

access.logエラー:1361372441.048 216 10.0.0.5 TCP_MISS/503 4907 GET http://www.standardandpoors.com/home/en/us --DIRECT/www.standardandpoors.com text/html

何らかの理由で解決されていないようで、DIRECTピアリングコードにIPではなくホスト名が表示されています。 IPは、他のすべてのリクエストで表示されます。 log_ip_on_directはオンです

ホストを/ etc/hostsに入れても、dns_nameserversディレクティブを明示的に使用して、キャッシュを無効にしようとしました。どんな助けでもありがたいです!

Dns_nameserversでパブリックDNSを使用すると(8.8.8.8で試しました)、IPが解決され、squidエラーが発生しないことがわかりました。イントラネットなどにパブリックDNSを使用できないため、解決策ではありません。また、前に述べたように、nslookupで解決します。

もう1つの奇妙なことは、プロキシを経由しないサーバー上のブラウザーで参照しようとすると、パケットキャプチャが次のように表示されることです。
DNS標準クエリ応答、そのような名前はありません

同じサーバーからnslookupを実行した場合のキャプチャは、次のように示しています。DNS標準クエリ応答A 204.8.132.217

[〜#〜] edit [〜#〜]同じローカルDNSサーバーでWinGateプロキシを使用すると機能します。

3
user160922

ゾーン "www.standardandpoors.com"(ゾーンがwwwで始まることに注意)の委任が壊れています。

Standardandpoors.comのサーバーは、wwwのネームサーバーが2つあると言っています。

これらの2つのサーバーは、BIND 9.4.3-P3であると主張しているにもかかわらず、A要求には応答しますが、「NS」要求やその他の要求には応答しません。彼らは、親ドメインのSOAリクエストに対して応答します。

ある種のロードバランサー(以前にこのように壊れているのを見たことがあります)、または多くのDNS委任の通常の中断された性質のいずれかを想定しています。 BIND 9は、この形式の中断された委任を適切に処理しているようです。

他の人が尋ねたように-どのネームサーバーがこれをうまく処理していないのですか?転送ゾーン、スレーブゾーン、または同様の内部をいじっていますか?

1
user1581659