yumがdl.google.comをIPv6アドレスに解決するのはなぜですか?

yumがdl.google.comをIPv6アドレスに解決するのはなぜですか?

Fedora 18にGoogle Chromeブラウザをインストールしました。ソフトウェアを更新しようとすると、yum upgrade次のエラーが報告され、Chromeを更新できません。

http://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed to connect to 2404:6800:4005:c00::88: Network is unreachable"

dl.google.com が IPv6 アドレスとして解決されるように見えますが、IPv6 を使用せずにping dl.google.comIPv4 アドレスが期待どおりに返されます。

# ping dl.google.com
PING dl.l.google.com (74.125.128.93) 56(84) bytes of data.

考えられる理由は何ですか?この問題をどのように解決できますか?

ベストアンサー1

デフォルトでは、yumはホスト/ドメイン名のIPv4アドレスとIPv6アドレスの両方を解決します。下記のwiresharkスクリーンショットをご覧ください。 (私はPythonプログラムを理解していないので、ネットワークトラフィックのキャプチャはyumがホスト名を解決する方法を見つける唯一の方法です。)

yumはIPアドレスを解析してキャプチャします。

IPv4アドレスのみを確認するには、追加またはip_resolve=4設定ip_resolve=ipv4するだけですyum.confman yum.conf詳細なヘルプについては、参考資料を参照)。 Fedora の場合は、root アカウントを使用して端末で次のコマンドを実行します。

echo "ip_resolve=4" >> /etc/yum.conf

IPv6アドレスのみを確認するには、ip_resolve=4上記の内容をに変更してくださいip_resolve=6

その他のプログラム

wgetそしてcurl

# To resolve IPv4 address only
wget -4
curl -4

# To resolve IPv6 address only
wget -6
curl -6

host

host-4オプションもありますが、その意味はホスト名を照会するためにIPv4 / IPv6トランスポートを使用するように強制-6するwgetおよびカールとは異なります。host

# To resolve IPv4 address only
host -t A

# To resolve IPv6 address only
host -t AAAA

おすすめ記事