web-dev-qa-db-ja.com

単純なフォワーダーになるようにBINDを構成します(ルートサーバークエリなし)

OpenDNSサーバーへのシンプルなフォワーダーとして機能できるシンプルなバインドサーバーをセットアップしたいと思います。

バインドしたくないのですが、ルートサーバーにクエリを送信できません。すべてのトラフィックがOpenDNSにのみ行き、「キャッシュ」として機能することを望んでいます。

どうすればこれを達成できますか?ルートサーバーのヒントを何らかの方法で無効にする必要がありますか?これは正しい手順ですか?

私の推測では、ゾーン "。"をコメント化することです。 named.conf.default-zonesファイル上のルートサーバーによって提供されます。ただし、非クエリルートサーバーは再帰を無効にすることでも実現できることを読みましたが、再帰を無効にすると、サーバーがフォワーダーを利用できなくなるように思われます。

Confは次のとおりです。

named.conf

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

named.conf.options

acl "trusted" {
        127.0.0.1/8;
        10.0.0.0/8;
        172.16.0.0/12;
        192.168.0.0/16;
        ::1;
};

options {

        directory "/var/cache/bind";    # bind cache directory

        recursion no;                   # enables resursive queries

        allow-query { trusted; } ;

        allow-recursion { "none"; };
        additional-from-cache no;

        allow-transfer { none; };       # disable zone transfers by default

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forward only;

        forwarders {
                208.67.222.222;
                208.67.220.220;
        };


        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================

        dnssec-enable no;
        dnssec-validation no;
        dnssec-lookaside auto;


        auth-nxdomain no;               # conform to RFC1035

};

named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

named.conf.default-zones

// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};
6
user3450548

実際、BIND構成は、フォワーダーが定義されている場合、ローカルBINDによって満たされなかったすべての要求をフォワーダーに送信します。

さらに、forward only;が使用されている場合、ローカルゾーンは無視され、すべての要求はキャッシュまたはフォワーダーからのみ満たされます。

ローカルゾーン(つまり、RFC 1918のプライベートIPアドレスとローカルのホーム/オフィスゾーン)が必要な場合は、フォワーダーを使用するために、ルートヒントとforward only;の両方のゾーンにコメントを付ける必要があります。指令。

// forward only;

// zone "." {
//    type hint;
//    file "/etc/bind/db.root";
// };

DNS HowTo から

ただし、「転送のみ」が設定されている場合、フォワーダーから応答が得られない場合にBINDはあきらめ、gethostbyname()はすぐに戻ります。したがって、/ etc内のファイルを使って手作業で実行し、サーバーを再起動する必要はありません。

私の場合、私は行を追加しました

転送のみ。フォワーダー{193.133.58.5; };

named.confファイルのオプション{}セクションに追加します。それは非常にうまく機能します。これの唯一の欠点は、非常に洗練されたDNSソフトウェアをダムキャッシュの状態に減らすことです。

したがって、ダムキャッシュのみが必要な場合は、リクエストのみを転送できます。これは、たとえば中央オフィスにリクエストを転送するときの企業設定での適切な構成です。

状況に応じて、リクエストを外部に転送する場合、プライベートIPアドレス範囲のDNSリクエスト/ローカルDNS /上位階層のWindowsドメイン/ルートを転送しないように、盲目的にforward onlyを実行しないことをお勧めしますネームサーバー。

6
Rui F Ribeiro