Bind9は、要求されたサーバーの(自身の)IPアドレスに基づいて解決します。

Bind9は、要求されたサーバーの(自身の)IPアドレスに基づいて解決します。

私は 2 つの IP アドレスが割り当てられた bind9 DNS サーバーを持っています。これらを IP#1 と IP#2 と呼びます。クライアントが使用している IP アドレスを知り、nslookup で異なる結果を返す方法が必要です。以下の 2 つの例で説明してみます。

ユーザー「X」は、NS サーバー IP#1 を使用して domainname.com に対して nslookup を実行します。サーバーは特定のアドレスを返す必要があります。

ユーザー「Y」は、NS サーバー IP#2 を使用して、domainname.com に対して同じ nslookup を実行します。サーバーは、ユーザーに対して異なるアドレスを返すはずです。

どこから探し始めればよいかについてのアドバイスがあれば、大変助かります。

答え1

バインドの「表示」機能については、https://ftp.isc.org/isc/bind9/cur/9.18/doc/arm/html/reference.html#view-statement-grammar

特定のゾーンのコンテンツを特定のビューに一致させることができ、宛先 IP アドレスの使用、つまりサーバーの IP アドレスに応じてビューを定義することができます。

view view_name [ class ] {
    match-clients { address_match_list } ;
    match-destinations { address_match_list } ;
    match-recursive-only yes_or_no ;
  [ view_option ; ... ]
  [ zone_statement ; ... ]
} ;

view ステートメントは、BIND 9 の強力な機能で、これを使用すると、ネーム サーバーは、DNS クエリに対して、問い合わせ元に応じて異なる応答を返すことができます。これは、複数のサーバーを実行せずに分割 DNS セットアップを実装する場合に特に便利です。

各ビュー ステートメントは、クライアントのサブセットに表示される DNS 名前空間のビューを定義します。クライアントの送信元 IP アドレスがビューの match-clients 句の address_match_list と一致し、宛先 IP アドレスがビューの match-destinations 句の address_match_list と一致する場合、クライアントはビューと一致します。

この機能が存在し、使用されている場合、さまざまなビュー間でデータを同期する問題に加えて、トラブルシューティングがはるかに複雑になることに注意してください。したがって、特に注意してください。

関連情報