web-dev-qa-db-ja.com

Linuxでのnamedによる条件付きDNS転送

DNS解決のために名前が付けられて実行されるCentos 5.2サーバーがあります-それは独自の情報を保持せず、すべての要求を転送するだけです。 named.confから:

options {
[...]
        forwarders { 1.1.1.1; 1.1.1.2; };
};

Named.confの他のすべての行はデフォルトとして残されます。

設定を変更して、newdomain.comの下にあるすべてのリクエストが22.22.22.22に渡され、他のアドレスのリクエストが1.1.1.1または1.1.1.2に送られるようにしたい

これを行うために、このサーバーでDNSをどのように構成できますか?

5
DrStalker

へへ、私はいくつかの私自身の争いをする前に前の回答に賛成票を投じました。

そうです、あなたがnamed.confを編集して以下を追加した場合:

zone "newdomain.com" {
    type forward;
    forward only;
    forwarders { 22.22.22.22; };
};

これで、簡単に逆引きを行うことができなくなります。ドメインのIPアドレスを理解するために、次のゾーンステートメントを変更する必要があります(これは、元々は192.168.80.0/24の逆でした)。

zone "80.168.192.in-addr.arpa" {
    type forward;
    forward only;
    forwarders { 22.22.22.22; };
};

変更を行った後、

  1. 設定ファイルに手を加えていないことを確認してください:named-checkconf

  2. Bindにその設定を再読み込みするように指示します:rndc reload/etc/init.d/bind reloadよりも優先されます)

これにより、ドメインに対する権限のない回答が返されることに注意してください。これを回避する方法(およびリモートDNSに問題がある場合にローカルキャッシュを向上させる方法)は、ゾーンのスレーブとして機能することです。


forward only;ステートメントを追加するために編集されました。これにより、失敗して標準のルックアップを試行するのではなく、フォワーダーで指定されたサーバーを試行した後にクエリが失敗します。コメントのアドバイスの後に、/ etc/init.d/bind reloadをrndc reloadに変更するように編集されました。

17
BuildTheRobots

最適化を試みていて、22.22.22.22がそのゾーンの認証である場合は、スタブゾーンを使用することもできます。

zone "newdomain.com" {
    type stub;
    masters { 22.22.22.22 };
};

これは転送とは少し異なる動作をします。 NSレコードをサーバー22.22.22.22に照会し、それらを常にキャッシュに保持します。これはほとんど同じことを行いますが、別のNSホスト(たとえば、33.33.33.33)もリストされている場合、サーバーはそれについて学習し、それを使用します。

ここのスタブゾーンは、条件付き転送よりも良いオプションだと思います。

4
Michael Graff

Newdomain.comのスレーブとして動作できますか?つまり、完全な転送を行いますか?

2
Greeblesnort