web-dev-qa-db-ja.com

最大3つのネームサーバーのlibcリゾルバー制限を克服する方法は?

ドメインの変更が多く、伝播が遅い環境で作業しているとします。
設定の変更後すぐにドメイン構成をテストしたいのですが、伝播が遅いです。それで、Debian 6.0.3ラップトップの/etc/resolv.confファイルにネームサーバーを追加したいと思います。特に私のドメイン名レジストラのドメインネームサーバー。私はそれを追加することでそれを行います:

append domain-name-servers 85.128.130.10, 194.204.152.34;

/etc/dhcp/dhclient.confファイルに。ネットワークに再接続した後、/etc/resolv.confは正しく更新されますが、次のメッセージが表示されます。

# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.

それで、同時に3つ以上のネームサーバーを使用する方法はありますか?

9
malloc4k

ネームサーバーとして127.0.0.1のみを/etc/resolv.confに配置し、DNSキャッシュをローカルで実行します。 Dnsmasq をお勧めします。軽量でセットアップが簡単です。 DebianやUbuntuなどのディストリビューションでは、 resolvconf パッケージをインストールすることもお勧めします。これにより、ローカルDNSキャッシュを実行していないときの/etc/resolv.confの維持、またはDNSキャッシュの維持が処理されますあなたがいるときのプログラムの設定。

これは、Debianが一度に4つ以上のネームサーバーを使用する方法です。

  1. インストールdnsmasqパッケージ

  2. DHCPサーバーから提供されたDNSサーバーアドレスを使用せず、ローカルサーバーのみを使用するようにローカルDHCPクライアントを構成します。これを行うには、/etc/dhcp/dhclient.conf次の行をファイル

    supersede domain-name-servers 127.0.0.1;

  3. 設定dnsmasqデフォルトを使用しない/etc/resolv.confファイルですが、独自の代替ファイルです。 /etc/dnsmasq.conf次の行を追加します

    resolv-file=/etc/resolv.dmasq

  4. 作成/etc/resolv.dmasq好きなだけネームサーバーを追加します。

  5. dnsmasqサービスを再起動します。

私のドメインを含まない9つの定義済みネームサーバーでテストしました。システムはその名前を解決できませんでした。 10台目のネームサーバーを追加すると、システムはその名前を正しく解決しました。

7
malloc4k

Resolv.confから:

1行に1つずつ、最大MAXNS(現在は3)のネームサーバーをリストできます。複数のサーバーがある場合、リゾルバーライブラリーは、リストされている順序でそれらを照会します。ネームサーバーエントリが存在しない場合、デフォルトではローカルマシンのネームサーバーが使用されます。 (使用されるアルゴリズムは、ネームサーバーを試すことであり、クエリがタイムアウトした場合は、ネームサーバーがなくなるまで次を試行し、最大数の再試行が実行されるまですべてのネームサーバーの試行を繰り返します。)

すべてのネームサーバーが試行され、クエリが失敗すると、デフォルトではHost not foundメッセージが返されます。

複数のnameserverディレクティブが追加されるように、confファイルで以下の同じ行を繰り返すことができますか? nameserverディレクティブの各行は、1行あたり最大3つのDNSアドレスをサポートします。

ホストは1つしか試行されず、resolv.confのリストの一番上にあることに注意してください。最初のサーバーでアドレスが見つからないか、サーバーに到達できない場合にのみ、2番目のサーバーが試行され、2番目のサーバーでのクエリが失敗した場合に3番目のサーバーで続行されます。ホストの解決中にresolv.confからのネームサーバーのラウンドロビンまたはランダムな選択はないため、すべてのネームサーバーを試すコストは、基盤となるシステム/アプリケーションのパフォーマンスに直接課せられます。

ただし、ローカルキャッシングネームサーバーを実装する方がよいと思います。DNS呼び出しの数が減少したり、待ち時間に依存したりすると、ホストの解決を使用または依存するアプリケーションのDNSパフォーマンスが向上します。

もう1つのアプローチは、openDNSサーバーを使用することです。おそらく、インターネット上で最新の高速サーバーDNSサーバーを使用しています。

5
Nikhil Mulley

別の答え。これがDebianに関連するかどうかはわかりませんが、最近のほとんどすべての最新のディストリビューションリリースで見られる従来の(およびファッショナブルな)アプローチです。

ネットワークプロファイルを使用します。アイデアは、異なるネットワーク環境のネットワーク設定に動的に切り替えるか、ユーザー入力を使用しながら、同時にアクティブになっていない可能性のある他のすべてのネットワークの構成ファイルと設定のコピーを維持することです。

http://www.linuxhowtos.org/Tips%20and%20Tricks/switchingnetwork.htm http://www.linuxhomenetworking.com/forums/showthread.php/15822-Configure-multiple-network-プロファイル http://wiki.debian.org/NetworkManager

2
Nikhil Mulley