resolv.confは次のようになります。
machine:~ # cat /etc/resolv.conf
search foo.bar
nameserver DNSSERVERIP1
nameserver DNSSERVERIP2
machine:~ #
最初のDNSSERVERIP1はbarfoo.comを知りません。
ただし、2番目のDNSサーバーであるDNSSERVERIP2はこれについて知っています。とてもよく解決しました。
デフォルトでは、最初の DNS サーバーが NXDOMAIN を返す場合、2 番目の DNS サーバーは要求されません。
しかし、問題は、最初のDNSサーバーがNXDOMAINを提供したときに2番目のDNSサーバーに尋ねるように/etc/nsswitch.confを構成する方法です。
答え1
私の考えでは、あなたはこれを行うことができないと思いますnsswitch.conf
。このファイルは、各カテゴリで使用されるデータソースを指定します。これは、すべてのソースがどのように機能するかを「影響」するものではありません。
[STATUS=ACTION]
以前のデータソースから得られた結果に基づいて動作を変更できます。しかし、データソース(DNS)を変更したくないので、これは望むものではありません。
あなたが直接言った。 DNSSERVERIP1が答え(NXDOMAIN)を知らない場合、これはサーバーがその質問に答える権限を持っていることを意味します。したがって、答えは最終的であり(DNS仕様に関連して)、他のサーバーに問い合わせる必要はありません。繰り返しますが、これは定義によるものなので、オーバーライドすることはできません。
唯一の方法は、DNS設定が一致していることを確認することです。 DNSSERVERIP1とDNSSERVERIP2が複製されている場合はそうします。 DNSSERVERIP2に応答がある場合は、DNSSERVERIP1にも応答が必要です。