純粋なIPv4ホストでDNS AAAAクエリを無効にする方法は?

純粋なIPv4ホストでDNS AAAAクエリを無効にする方法は?

私は少なくとも3つの異なるLinuxインストール(Ubuntu 16.04、2017年6月28日現在、Antergos、Debian 9.0)で次の動作を観察しました。

  • IPv6が構成解除されました(アドレスが割り当てられていません)。
  • DNSサーバーは、実行する結果を得るためにAクエリとAAAAクエリの両方を受け取ります。

nsswitch.conf私は何も成功せずに(オプションipnodes)、resolv.conf(存在しないオプションno-ipv6)を台無しにしましたgai.conf

私が受け取ったCプログラムこのウェブサイトAAAA クエリは実行されません。

このシンプルで愚かなPHPプログラムは実際にAAAAとA DNSクエリの両方を実行します。

<?php
$ch = curl_init($argv[1]);
curl_exec($ch);

getaddrinfoおそらく、何十ものクライアント(LXCコンテナ内でも)がDNSサーバーに無駄なクエリを投げてこの問題を示しているので、これらの標準システムコール(など)を介してAAAA DNSクエリを回避する方法があるかどうかを尋ねたいと思います。 )。

クライアントとDNSサーバーがIPv6用に構成されていないため、これらのAAAAクエリはIPv4を介して実行されます。

$ ip addr show dev venet0
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
link/void 
inet 127.0.0.2/32 scope host venet0
inet 192.168.8.40/32 brd 192.168.8.40 scope global venet0:0

ベストアンサー1

おすすめ記事