Bind9 は、プライベートネットワークデバイス用のいくつかの公開 TLD を構成します。

Bind9 は、プライベートネットワークデバイス用のいくつかの公開 TLD を構成します。

foobar.com私達の会社はさまざまな公共サービスで使用されるドメイン名を管理します(wgはwww.foobar.com私達のウェブサイトを指します)。このドメインには、DNSサービスにパブリックDNSレコードがあります。

foobar.comTLDのサブドメインを使用するために名前を割り当てたい内部ネットワークデバイスがあります。

Bind9を次のように設定するには:

  1. まず、パブリックDNSサーバーに特定のIPアドレス用に定義されたドメインがあることを確認してください。
  2. そうでない場合は、内部DNSサーバーに内部IPアドレス用に定義されたドメインがあることを確認してください。
  3. 失敗すると、「一般」照会は失敗します。

現在、私たちの設定は「オン/オフ」に基づいて誤動作します。つまり、両方の代わりにパブリックDNSまたはプライベートDNSを読み取ります。パブリックおよびプライベートDNSレコードの両方にアクセスしようとするため、これは利用できなくなります。

DNSサーバーは別々に管理され、プライベートDNSはBind9がインストールされているデバイスにローカルに配置されます。

私は以下を試しました:

  1. プライベートDNSレコードにはこのようなものがあります

    IN NS privatens.foobar.com ; the private (local) DNS
    IN NS publicns.foobar.com ; the public DNS
    
  2. named.conf.optionsパブリックDNSサーバーへの転送設定

    options {
        forwarders { ... };
        forward first;
    };
    
  3. 内部優先順位の調整resolv.conf

これらのどれも機能しないようです。例:

www.foobar.comパブリックDNSを使用してWebサーバーを指します。 Aレコードがあるprinter.office.foobar.comCNAMEです。クエリはパブリックDNSで動作し、クエリはプライベートDNSで動作することを望みます。unique1.foobar.com192.168.5.10www.foobar.comprinter.office.foobar.com

これですべてのクエリがprinter.office.foobar.com機能しますが、すべてwww.foobar.comNXDOMAIN応答を生成し、そこで停止します。

単一ドメイン(たとえば)の2つの異なる領域を読み取ることは可能ですか?foobar.comそれとも別の領域を無視しますか?

編集する:

状況をより明確にするために、ネットワークと外部のものの非常に素晴らしい図を作成しました。

ここに画像の説明を入力してください。

オレンジ色の内部のすべては私たちのプライベートネットワークなので、外部からアクセスすることはできません。緑色のマークは、ドメイン名が設定されたパブリックサーバーです。192.168.5.1それは私たちのルーターであり、192.168.5.5私たちのプライベートDNSサーバーであり、ns1.dnsprovider.com第三者が提供するDNSサーバーでもあります。

192.168.5.100私がユーザーであると仮定すると、次のことが発生したいと思います。

  1. クエリ時にuser1.foobar.comDNS結果を取得しますprivns.foobar.com/192.168.5.5
  2. 照会時www.foobar.comまたはsub.foobar.com次からDNS結果を取得するときns1.dnsprovider.com

ベストアンサー1

可能な構成の1つは次のとおりです。内部そして外部ドメインの指定はBINDビューです。通常、この設定は単一のサーバー内で行われます。

BINDビューを使用すると、人々が内部から見ても外部から見ても、同じドメイン内で異なるレコードを持つことができ、より興味深いことに、IPアドレスが異なる同じレコードを持つことができます。 (たとえば、NATを介して他のアドレスにマップされた他の外部アドレスは、内部トラフィックとして境界ファイアウォールに負担をかけません。)

この設定の利点は、同じドメインに対して複数の別々のゾーンを維持する必要があることです。

ビューを定義するには、最初のビューで応答するネットワークを定義すると、残りは2番目のビューに表示されます。

たとえば、次のようになりますnamed.conf

acl networks1 { 192.168.1.0/24; 192.168.3.0/24; };
acl networks2 { 192.168.2.0/24; };

view "nets1" {
    match-clients { networks1; };
    recursion yes;

    include "mydomain.view1";
}

view "nets2" {
    match-clients { networks2; };
    recursion yes;

    include "mydomain.view2"; 
}

望むより:例を使ってBIND 9のビューについて学びます。

おすすめ記事