AAAA(IPv6)ルックアップの前にA(IPv4)DNSルックアップを優先する


44

通知で、新しくインストールしたUbuntu 10.10は、Aレコード検索の前に常にAAAA DNS検索を実行します。最初にAルックアップを行うようにシステムを構成する方法はありますか?

(さまざまなブラウザーや他のアプリケーションに独自のリゾルバーが含まれる場合がありますが、glibcのリゾルバーについて説明しています)


明確にするために、IPv4とIPv6の両方が必要ですか?
ベラク

できればできます。しかし、リンクローカルIPv6しか持っていないので、たとえばgoogle.comのAAAAレコードを毎回要求し、その後Aレコードを要求するのは非常に無駄です。
番号

回答:


53

次世代のIPを引き継ぐために、IPv4よりもIPv6を優先する標準です。

これを変更するには、/etc/gai.conf(gaiはgetaddrinfoホスト名を解決するための標準システムコールの略)の優先順位ブロックを編集します。ファイルに記述されているように行をコメントアウトします。

#IPv4接続を好むサイトでは、最後の行を

#precedence :: ffff:0:0/96 100

詳細な説明gai.confはmanページにあります。


ありがとう、あなたは私の一日を救った!私のサーバーの1つはDNSサーバーからipv6の結果を取得し続けますが、私のサーバーはipv6で正しく動作しませんでした
Boon 14年

こんにちは、この設定を有効にするにはsysctlまたはサービスのリロードまたは再起動が必要ですか?あなたの答えは役に立ちましたが、そのような疑問を解決するためにあなたはそれを編集するかもしれません。
マルコ

のマニュアルページにgai.confは、正しい変更された動作を得るために、IPv4の行だけでなく、すべての行のコメントを外す必要があると書かれています。From gai.conf(5):「もう一度、構成ファイルに単一の優先行があると、デフォルトのテーブルが使用されなくなります。」他のデフォルトのテーブル行が機能し続けるようにしたい場合は、同様にコメント解除する必要があります。
イアンD.アレン

10

私の問題は同じで、IPV4の前にIPV6クエリを作成し、リソースを浪費していましたので、/ etc / gai.confファイルをfreddybが投稿されたように変更しましたが、私のシナリオは少し異なります、私のサーバーはNattedですので、 IPv4は、その行のみでIPv6よりも優先されません。解決策はgai.confの他の行もコメントアウトしているため、次のようになります

#For sites which prefer IPv4 connections change the last line to
precedence ::ffff:0:0/96 100
...
#    For sites which use site-local IPv4 addresses behind NAT there is
#    the problem that even if IPv4 addresses are preferred they do not
#    have the same scope and are therefore not sorted first.  To change
#    this use only these rules:
#
scopev4 ::ffff:169.254.0.0/112  2
scopev4 ::ffff:127.0.0.0/104    2
scopev4 ::ffff:0.0.0.0/96       14

したがって、たとえあなたがNattedであっても、サーバーは最初のipv4を試行します!


2
/etc/gai.confUbuntu 15.04 のファイル「vivid」にはscopev4、上記の3 行がすでにデフォルトであると記載されています。1行のprecedence ::ffff:0:0/96 100変更のみを行い、NATの背後でも機能しました。
イアンD.アレン

1

IPv6をまったく有効にしたくない場合は、IPv6を無効にしてこれを実現できます。 http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

そうでない場合は、加算を試すことができます

options single-request

/etc/resolv.confファイルに。(詳細については、http://udrepper.livejournal.com/20948.htmlを参照してください)


1
resolv.confのマニュアルページは、提案するオプションが「このオプション[...]により、glibcがIPv6およびIPv4要求を順番に実行することを示します(解決プロセスの速度低下を犠牲にして)。」- man7.org/linux/man-pages/man5/resolver.5.html
ndemou

シーケンシャル=最初の1つ、次にもう1つ-パラレルではなく。ここでは正常に動作します。
cweiske
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.