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


14

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

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

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

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

これはすべての要求に一致します。

ext.zone:

$ TTL 3600
@ IN SOA。root.nsdomain.com。(
                              1; シリアル
                         3600; リフレッシュ
                          300; リトライ
                         3600; 期限切れ
                         300); ネガティブキャッシュTTL


        NS ns1.example.com
        NS ns2.example.com

ns1 IN A 192.0.2.4
ns2 IN A 192.0.2.5

*。192.0.2.6で

そう、目標は次のとおりです。すべてのNS要求、リターンのためns1.example.comns2.example.com 、それがある場合を除き、すべてのAの要求のためns1.example.comns2.example.com、リターン192.0.2.6。以下のためにns1.example.comリターン192.0.2.4のために、ns2.example.comリターン192.0.2.5

これはほとんど機能しますが、唯一の問題は、私が掘るとき、私が得ることです:

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。で

;; 回答セクション:
somedomain.example。3600 IN A 192.0.2.6 //予想どおり

;; 権限セクション:
。3600 IN NS ns1.example.com。//予想されますが、「。」しかし、最初は悪いです。
。3600 IN NS ns2.example.com。// 上記を参照。

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

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

回答:


12

ゾーンの起源は、.構成ごとです。あなたはのレコードを作成している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";
};

RRで完全なドメインを指定してみることにしたので、ns1 IN A 1.2.3.4からns1.nsdomain.comに変更しました。1.2.3.4では、これは機能しませんでした。これで、すべてのリクエストがNS / AではなくSOAを返します。
ジョン・ウー

新しいゾーンを更新または追加できますか?
Cakemox

nsdomain.comに新しいゾーンを追加し、古い「。」を残しました。ゾーンのみ。nsdomain.comゾーンで、ext.zoneを追加しました(nsdomain.zoneに改名)。これで、nsdomain.comを除くすべてのドメインに対するリクエストは想定どおりに機能し、ns1.nsdomain.com / ns2.nsdomain.comを正しいIP(1.2.3.4/1.23.5)で返します。しかし、nsdomain.com自体のいずれかの要求がSOAと有効な応答を返す:(閉じる。!
ジョン・ウー

頂点のAレコードを明示的に追加する必要があります。ワイルドカードはそれをカバーしません。私の例を更新します。
Cakemox

ありがとう、それはうまくいく!このゾーンでAビットを2回指定する必要があるのに、「ワイルドカード」ゾーン(ゾーン「。」、元のext.zone)では指定しないのはなぜですか?この記事を読むためのリンクがありますか?再度、感謝します!
ジョン・ウー

1

サブドメインワイルドカードを設定するに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 

0

ご使用の構成に基づいてns1.example.comいる192.0.2.4ns2.example.comあります192.0.2.5example.com適切なIPを取得するには、ゾーンでNSサーバーの名前解決を構成する必要があります。

自分自身を明確にしたいと思います。さらに情報が必要な場合は私に戻ってください。


nsdomain.comに別のゾーンを追加し、nsdomain.comにNS / Aを設定する必要がありますか?
ジョン・ウー

したがって、somedomain.comとnsdomain.comのような2つのゾーンがある場合は、適切なゾーンでnsdomain関連の情報を設定する必要があります。簡単な答えはイエスです。別のゾーンを設定する必要があります。
イストヴァン

-5

DNSワイルドカードは問題を引き起こす可能性があります!

そのため、ドメインごとに明示的にゾーンを追加したくありません。

シェルスクリプトからSQLベースのDNSサーバーまで、さまざまな方法があります。


UPD。(2019-11)8年前に言ったように、シェルスクリプトは進むべき方法であり、受け入れられた答えの提案された解決策「ゾーンエントリの追加」で証明されました—明らかに。にワイルドカードの使用に基づいていません。;-)

2019年には、DNSワイルドカードの欠点を説明するリソースを見つけるのがさらに簡単になり、それらのほとんどは「インターネットの夜明けに」書かれていましたが、依然としてある程度の価値があります。たとえば、RFC1912は、DNSワイルドカードの使用に関連するいくつかの事項に言及しています。主な問題は、「…

ワイルドカードMXは、代わりに失敗する必要があるときに一部の操作を成功させるため、悪い場合があります。…」

また、実際には昔ながらの実例もいくつかあります。


DNSワイルドカードはなぜ悪なのでしょうか?それはまったく悪ではありません
ヴァン


@poige 1)そのURLはもう解決しない、2)回答の時点で8歳、今ではインターネット上の永遠のような16歳と思われる文書を引用する、3)web.archive.orgでのスナップショット/ web / 20030922093331 / https://www.iab.org / ...それは大部分が「特に、ゾーンオペレーターがリスクを明確に理解していない限り、ゾーンでDNSワイルドカードを使用しないことをお勧めします。ゾーンの下に委任されたエンティティのインフォームドコンセントなしでは使用しないでください。」
パトリックメブゼク

私もこれを8年以上前に書いていますが、あなたはまだ読んで返信しています。:)
poige
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.