wgetは80%の時間ホストアドレスを確認できません。

wgetは80%の時間ホストアドレスを確認できません。

wget 'http://xxxx.net/somepage.asp?params@abc'bashファイルに1つあります。

実行してみると、5つのうち4つは次のようになります。

Resolving xxxx.net (xxxx.net)... failed: No address associated with hostname.
wget: unable to resolve host address 'xxxx.net'

DNSサーバーに問題があるようで、ping -c 2 xxxx.netwgetの前に追加しました。 Pingは常に100%正確に解析します。

なぜですか?wget名前を解析する独自の方法はありますか?これはラズベリーパイにあります。

答え1

技術的には同じアドレス解決方法を使用する必要がありますが、pingIPv6アドレス(AAAAレコード)をまったく確認せずにAレコードを直接クエリしようとしません。これは、IPv4専用ツール(ping6IPv6 ICMP要求を実行する)であるためです。

サポートされているいくつかのロードバランシングDNSサーバーで構成の問題が見つかりました。名前付き(これをサポートする動的DNSリゾルバに関係なく適用する必要があります。)はい、ロードバランシング設定にAレコードがあります。名前付き、AAAA レコードに対する要求は、次に置き換えられます。名前付きその反応NXドメインエラー(該当するドメインはありません)のため、リゾルバーは別の要求を試行できません。 1つの修正方法は、A、TXT、または他の互換性のあるレコードを名前に追加することです名前付きAAAA 要求をキャプチャしますが、アドレスを返さず、返しません。NXドメイン, クライアントは引き続き A レコードを検索します。

DNSサーバーを制御できない場合は、wget --inet4-onlyオプションを使用すると役に立ちます。問題が解決したら、ドメイン所有者にもDNSの問題を知らせる必要があります。

関連情報