私は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 である必要があります
どうすれば修正できますか?私は恐ろしいことをしていますか?これを行うより良い方法はありますか?
ゾーンのオリジンは、構成ごとに.
です。 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";
};
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
構成に基づいてns1.example.com
は192.0.2.4
およびns2.example.com
は192.0.2.5
。 NS example.com
ゾーンを使用して適切なIPを取得します。
私は自分をはっきりさせたいと思います。さらに情報が必要な場合は、こちらに戻ってください。