通知で、新しくインストールしたUbuntu 10.10は、Aレコード検索の前に常にAAAA DNS検索を実行します。最初にAルックアップを行うようにシステムを構成する方法はありますか?
(さまざまなブラウザーや他のアプリケーションに独自のリゾルバーが含まれる場合がありますが、glibcのリゾルバーについて説明しています)
通知で、新しくインストールしたUbuntu 10.10は、Aレコード検索の前に常にAAAA DNS検索を実行します。最初にAルックアップを行うようにシステムを構成する方法はありますか?
(さまざまなブラウザーや他のアプリケーションに独自のリゾルバーが含まれる場合がありますが、glibcのリゾルバーについて説明しています)
回答:
次世代のIPを引き継ぐために、IPv4よりもIPv6を優先する標準です。
これを変更するには、/etc/gai.conf
(gaiはgetaddrinfo
ホスト名を解決するための標準システムコールの略)の優先順位ブロックを編集します。ファイルに記述されているように行をコメントアウトします。
#IPv4接続を好むサイトでは、最後の行を
#precedence :: ffff:0:0/96 100
詳細な説明gai.conf
はmanページにあります。
gai.conf
は、正しい変更された動作を得るために、IPv4の行だけでなく、すべての行のコメントを外す必要があると書かれています。From gai.conf(5)
:「もう一度、構成ファイルに単一の優先行があると、デフォルトのテーブルが使用されなくなります。」他のデフォルトのテーブル行が機能し続けるようにしたい場合は、同様にコメント解除する必要があります。
私の問題は同じで、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を試行します!
/etc/gai.conf
Ubuntu 15.04 のファイル「vivid」にはscopev4
、上記の3 行がすでにデフォルトであると記載されています。1行のprecedence ::ffff:0:0/96 100
変更のみを行い、NATの背後でも機能しました。
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を参照してください)