DNSサーバーをリダイレクトする方法

DNSサーバーをリダイレクトする方法

自宅で使用しているドメインがあります。議論のために、これを と呼びましょうdomain.com。このドメインを自宅のネットワークで使用していますが、実際にはドメインの所有者でもあります。そのため、www.domain.orgサブドメインを 1 つロードすると、DNS サーバーがこの要求を自宅のドメインではなく実際のインターネットにリダイレクトするようにします。
ドメインを使用して、自宅のデバイスを識別します。これを実現するにはどうすればよいでしょうか。
私は、ゲートウェイと DNS サーバーの両方として機能する Ubuntu マシンで BIND を実行しています。

答え1

競合を避けるために、内部ネットワークを第 3 レベル (つまりdevice1.lan.domain.org) に移動することをお勧めします。

そうは言っても、必要なのは基本的にサブドメインの委任です。私の記憶が正しければ、次のエントリを追加するだけで済むはずです。

www           IN      NS     ns1.example.com.
www           IN      NS     ns2.example.com.

いずれにせよ、インターネット アクセスがなければこれは機能しないため、委任に関するその他のベスト プラクティスはすべて無視できます。

答え2

これを行う最も簡単な方法は、$INCLUDEBIND の機能を使用することです。

必要なのは、すべての内部名 (例: ) のファイルを作成し、db.domain.com-internalその中にすべての内部レコード (すでに存在するので、ファイル名を置き換えるだけ) を含め、次に という 2 番目のファイルを作成し、そこにdb.domain.com-externalSOA レコードと NS レコードを除いた外部の実際のドメインのすべてのレコードを含めることだけです。

ファイルの最後にdb.domain.com-internal次の行を追加します: ,

$INCLUDE db.domain.com 外部

これにより、2 つのファイルを使用して内部と外部を論理的に分離できますが、ディレクティブは$INCLUDEそれらを 1 つの完全なドメイン ビューとして結合します。質問される前に言っておきますが、www.domain.com の解決が A レコードまたは CNAME レコードのどちらによって内部で行われるかは関係なく、ブラウザーが返す IP アドレスはインターネット上の Web サイトに送信されます。

再ロードして、エラーをチェックするだけです。簡単です。

適切な分割 DNS 構成 (内部 / 外部) では、内部で表示される完全なレコード セットのサブセットが世界に公開されるため、これはうまく機能します。つまり、一般に、ドメインの外部公開ビューでは、IP アドレスを持つパブリックに到達可能な名前のみを公開します。

関連情報