web-dev-qa-db-ja.com

bind9をインターネットにアクセスできないローカルDNSに設定する方法は?

Bind9を、インターネットにアクセスできないローカルDNSのみに構成したいと考えています。したがって、仮想ドメインxy.comに5台のPCがあります。このドメイン内ではインターネットにアクセスできません。

DNSサーバーには次のようなエントリがあります。

  • pc1.xy.com IN A 10.1.1.1
  • pc2.xy.com IN A 10.1.1.2
  • pc5.xy.com IN A 10.1.1.5

バインドは正しく構成されていますが、DNSサーバーで「Dig @localhost pc1」を実行すると、ルートサーバーにアクセスできなくなるため、バインドが機能しません。しかし、私は彼にローカルであり、どのIP pc1が持っているかを答えてもらいたいだけです。

どうすればこれを達成できますか?

5
JohnnyFromBF

これを実現するには、通常構成されている "root.hints"ゾーンを置き換える偽のルートゾーンを作成する必要があります。

named.confにこれを入れてください:

zone "." IN {
        type master;
        file "fake.root";
};

そしてfake.rootにこれを入れてください:

$TTL    300
.               IN      SOA ns. hostmaster.xy.com. (
                        20120101 1800 900 604800 86400
                )
.               IN      NS      ns
ns              IN      A       127.0.0.1

これにより、インターネットにアクセスして実際のルートヒントを取得しようとする試みがすべて防止されます。

pcN.xy.comエントリをそのルートゾーンに直接配置することもできます。それらを独自のxy.comゾーンファイルに置く必要はないので、fake.rootに以下を追加するだけです。 :

$Origin xy.com.
pc1             IN      A       10.1.1.1
pc2             IN      A       10.1.1.2
pc3             IN      A       10.1.1.3
pc4             IN      A       10.1.1.4
pc5             IN      A       10.1.1.5

必要なoptions { }以外(ACL?)はそれだけです-他には何も必要ありません。

9
Alnitak

再帰を無効にする必要があります:

設定に追加:

allow-transfer {“none”;};

allow-recursion {“none”;};

私の設定「named.conf」は次のようになります(RHELシステム上):

options {
        allow-query {
        any;
};
allow-recursion {
        none;
};
4
Tim

構成を十分に詳しく説明していません。権威ある部分が欠けていると思います。設定ファイルに次のようなブロックが必要です:

zone "domain.lan" {
        type master;
        file "master/db.domain.lan";
        allow-update { none; };
};

どこ master/db.domain.lanは、上記で投稿したレコードを含むゾーンファイルを指す必要があります。また、ゾーンファイルのヘッダーにはSOA(権限の開始))レコードが必要です。ゾーンファイルは次のようになります。

domain.lan.     86400   IN SOA  dns.domain.lan. root.dns.domain.lan. ( 1 10800 3600 6044800 86400 )
                86400   IN NS   dns.domain.lan.

dns.domain.lan.      86400   IN   A    10.10.10.1
pc.domain.lan.    86400   IN   A    10.10.10.2

必要に応じて、名前、値、IPをカスタマイズできます。

2
Khaled