web-dev-qa-db-ja.com

BINDを使用したワイルドカードDNS

私はBINDをセットアップして、BINDへのすべての要求をキャッチし、それらを特定のNSサーバーセットと特定のAレコードにポイントするように設定しています。

約500のドメインがあり、1日10〜15の割合で新しいドメインを追加しているので、すべてのドメインに明示的にゾーンを追加する必要はありません。

私の現在の設定は次のとおりです。named.confには、次のゾーンを持つビュー(externalという名前)があります。

zone "." {
        type master;
        file "ext.zone";
};

これはすべてのリクエストに一致します。

ext.zoneは次のとおりです。

 $ TTL 3600 
 @ IN SOA。 root.nsdomain.com。 (
 1;シリアル
 3600;更新
 300;再試行
 3600;期限切れ
 300);ネガティブキャッシュTTL 
 
 
 IN NS ns1.example.com 
 IN NS ns2.example.com 
 
 ns1 IN A 192.0.2.4 
 ns2 IN A 192.0.2.5 
 
 *。 IN 192.0.2.6 

したがって、目標は次のとおりです。すべてのNSリクエストの場合、ns1.example.comまたはns2.example.comを除くすべてのAリクエストに対してns1.example.comおよびns2.example.comを返します。 192.0.2.6を返します。 ns1.example.comの場合は192.0.2.4を返し、ns2.example.comの場合は192.0.2.5を返します。

これはほとんど機能しますが、唯一の問題は、Digを実行すると、

 Dig @localhost somedomain.example 
 
; > Dig 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example 
; (1台のサーバーが見つかりました)
 ;;グローバルオプション:printcmd 
 ;;答えを得ました:
 ;;オペコード:QUERY、ステータス:NOERROR、ID:37733 
 ;;フラグ:qr aa rd;クエリ:1、回答:1、権限:2、追加:2 
 
 ;;質問セクション:
; somedomain.example。 IN A 
 
 ;;回答セクション:
 somedomain.example。 32.0 IN A 192.0.2.6 //期待どおり
 
 ;;権限セクション:
。 3600 IN NS ns1.example.com。 //期待どおり、「。」かどうかはわかりませんただし、最初は悪いです。
。 3600 IN NS ns2.example.com。 // 上記を参照。

;;追加セクション:
 ns1.example.com。 32.0 IN A 192.0.2.6 //予期しない、これは192.0.2.4 
 ns2.example.comである必要があります。 32.0 IN A 192.0.2.6 //予期されていません。これは192.0.2.5 
である必要があります

どうすれば修正できますか?私は恐ろしいことをしていますか?これを行うより良い方法はありますか?

14
Jon Wu

ゾーンのオリジンは、構成ごとに.です。 ns1.およびns2.の代わりにns1.example.com.およびns2.example.com.のレコードを作成しています。ns1.example.comおよびns2.example.comは定義されていないため、ワイルドカード。

編集:これは設定とゾーンの編集です:

zone "example.com." {
        type master;
        file "ext.zone";
};

ext.zone:

$TTL    3600
@       IN      SOA     ns1 root (
                              1         ; Serial
                         3600         ; Refresh
                          300         ; Retry
                         3600         ; Expire
                         300 )        ; Negative Cache TTL


        IN      NS      ns1
        IN      NS      ns2
        IN      A       192.0.2.6


ns1     IN      A       192.0.2.4
ns2     IN      A       192.0.2.5

*      IN      A       192.0.2.6

ゾーン内のすべてのものは、名前付き構成のゾーン名を基準にしているため、2番目のゾーンを追加すると、同じファイルを指すだけになります。

zone "example.net." {
    type master;
    file "ext.zone";
};
12
Cakemox

bindにサブドメインワイルドカードを設定するには、次の形式を使用する必要があります。

name.tld.   IN  A   IP    # main domain ip
*.name.tld. IN  A   IP    # wildcard subdomains ip

例:

mydomain.com.   IN  A   1.1.1.1
*.mydomain.com. IN  A   1.1.1.1 
1
Pedro Lobito

構成に基づいてns1.example.com192.0.2.4およびns2.example.com192.0.2.5。 NS example.comゾーンを使用して適切なIPを取得します。

私は自分をはっきりさせたいと思います。さらに情報が必要な場合は、こちらに戻ってください。

0
Istvan