スプリットホライズン DNS を実装する

完了

Windows オペレーティング システムでの DNS の 2 つの主な機能は、IP アドレスを名前に解決すること (およびその逆) と、AD DS のドメインレベルの通信と認証を容易にすることです。 SRV レコードを格納する機能により、ドメイン メンバーのクライアントは、ドメイン認証とセキュリティのためにドメイン コントローラーを検索でき、DNS のラウンドロビン機能を使用してさまざまなドメイン コントローラーへのアクセスを負荷分散することができます。

ただし、ファイアウォールの外側にいるインターネット レベルの信頼されていないユーザーが、内部 DNS サーバーの SRV レコードや、AD DS に関するその他の機密情報に、アクセスできないようにする必要があります。 そのデータの独立を維持し、ファイアウォールの外部からアクセスできないようにする必要があります。 同時に、インターネット レベルのリソース (Web、メール、プロキシ サーバーなど) をホストしているサーバーとサービスの DNS レコードには、アクセス可能な状態を維持する必要があります。

Contoso のインフラストラクチャ エンジニアは、このような問題に直面しています。 この問題を回避するための便利な方法を決定する必要があります。

スプリット DNS とは

"スプリット DNS" は、スプリットホライズン DNS とも呼ばれ、インターネットと内部ドメイン メンバーの両方のリソースに、同じ DNS ドメイン名が使用されます。 ただし、DNS サーバーの役割は個別のサーバーに割り当てられます。1 つ以上のサーバーはインターネット用で、他のサーバーは AD DS ドメイン用です。 この方法で DNS を配置するには、AD DS ドメイン側にある機密情報がインターネット側から分離されるようにし、インターネット側 (つまり、内部ファイアウォールの外側) に配置された DNS サーバーのみが、クエリによってファイアウォールの外側からアクセスできるようにするための、追加の手順が必要です。

注意

このように、DNS は AD DS にとって重要な機能であるため、通常、DNS サーバーの役割は、配置時にドメイン コントローラーに組み込まれます。

DNS の役割を AD DS に統合し、DNS レコードが Active Directory のオブジェクトと属性として格納されるようにすることができます。 このインスタンスでの DNS ゾーンの種類は、Active Directory 統合と呼ばれます。 Active Directory 統合ゾーンの場合、DNS ゾーン転送は AD DS レプリケーションに置き換えられ、ゾーンに対するクライアント レコードの動的な更新をセキュリティで保護することができます。 ドメインでは、Active Directory 統合 DNS を使用するのがベスト プラクティスです。

スプリット DNS の場合、内部クライアントは、ドメイン コントローラーである Active Directory 統合 DNS サーバーの IP アドレスでのみ構成されます。 クライアント DNS のすべての動的更新は、ドメイン コントローラーに書き込まれます。 内部クライアントからのすべての DNS クエリは、これらの DNS サーバーにのみ送られます。

インターネット Web サーバーなど、内部ドメインの範囲を超える名前解決が必要な場合は、それらのレコードを手動で作成するか、DNS ポリシーを使用してクエリの解決方法を決定する必要があります。

注意

通常は、インターネットに接続された DNS サーバーを、ファイアウォールの間の境界ネットワーク内に配置します。

インターネットに接続された DNS サーバーは Active Directory 統合 DNS サーバーと同じドメイン名を持ちますが、インターネットに接続された DNS サーバーには同じデータは格納されません。 インターネットに接続された DNS サーバー ゾーン内のすべてのレコードは、手動で作成します。

ヒント

通常、インターネットに接続された DNS サーバー ゾーンには、それ自体のレコードと、境界ネットワークに配置され、インターネットからアクセスする必要がある他のサーバーのレコードだけが含まれます。

インターネットに接続された DNS サーバーに対し、SRV レコードなどのドメインレベル リソースの解決を要求するクエリが行われた場合、インターネットに接続された DNS サーバーは、SRV レコードがないためクエリを拒否します。これらのレコードは、ドメインの Active Directory 統合 DNS サーバーにのみ格納されています。 インターネットに接続された DNS サーバーは、自分自身をゾーンに対して権限を持つものと見なすため、Active Directory 統合 DNS サーバーに対して反復的なクエリを行いません。

ヒント

セキュリティをさらに強化するには、内側のファイアウォール (つまり、内部ネットワークと境界ネットワークの間のファイアウォール) にファイアウォール規則を設定して、境界から内部ネットワークへのすべての DNS (TCP および UDP ポート 53) クエリを拒否し、DNS 応答は許可したままにすることができます。

スプリット DNS を実装する

内部と外部で同じ名前空間を使用すると、ユーザーの観点からのリソースへのアクセスは簡単になりますが、管理の複雑さも増します。 内部 DNS レコードを外部から使用できるようにしてはなりませんが、通常、外部リソースに対してレコードをある程度同期することは必要です。 たとえば、内部と外部の両方の名前空間で、名前 Contoso.com が使用される場合があります。

内部とパブリックの名前空間に対して一意の名前空間を使用すると、内部 DNS と外部 DNS の間に明確な境界ができ、名前空間の間でレコードを同期する必要がなくなります。 ただし、場合によっては、複数の名前空間を使用すると、ユーザーが混乱する可能性があります。 たとえば、外部の名前空間として Contoso.com、内部の名前空間として Contoso.local を選択するような場合です。

ヒント

一意の名前空間の構成を実装すると、登録済みのドメイン名の使用に関連付けられなくなります。

AD DS のパブリック名前空間のサブドメインを使用すると、内部 DNS サーバーと外部 DNS サーバーの間でレコードを同期する必要がなくなります。 名前空間はリンクされているため、通常、ユーザーはこの構造を理解しやすくなります。 たとえば、パブリック名前空間が Contoso.com である場合、内部名前空間をサブドメイン AD として実装するか、AD.Contoso.com として実装するかを選択できます。

スプリット DNS に関する考慮事項

内部と外部の DNS 名前空間を一致させると、特定の問題が発生する可能性があります。 ただし、スプリット DNS を使用することで、これらの問題を解決できます。 スプリット DNS は、ドメイン名の登録情報が含まれる 2 つのルート サーバー ゾーンがドメインにある構成です。

内部ネットワーク ホストは 1 つのゾーンに送られますが、外部ホストは名前解決のために別のゾーンに送られます。 たとえば、ドメイン contoso.com の非スプリット DNS 構成では、次の表の例のような DNS ゾーンがある可能性があります。

Host レコード タイプ IP アドレス (IP address)
www A 131.107.1.200
リレー A 131.107.1.201
Webserver1 A 192.168.1.200
Exchange1 A 192.168.0.201

インターネット上のクライアント コンピューターが、発行された名前 relay.contoso.com を使用して SMTP リレーにアクセスする場合、DNS サーバーに対してクエリを実行すると、結果 131.107.1.201 が返されます。 次に、クライアントはその IP アドレスに対して SMTP 経由の接続を確立します。

ただし、組織のイントラネット上のクライアント コンピューターも、発行された名前 relay.contoso.com を使用します。 DNS サーバーは、同じ結果である 131.107.1.201 のパブリック IP アドレスを返します。 次に、クライアントは、発行されたコンピューターの外部インターフェイスを使用して、返された IP アドレスへの接続を確立しようとします。 クライアントの構成により、これは成功することもあれば、成功しないこともあります。

同じドメイン名に 2 つのゾーンを構成すると (2 つの DNS サーバーのそれぞれに 1 つずつ)、この問題を回避できます。

Contoso.com の内部ゾーンには、次の表に示す情報が含まれます。

Host レコード タイプ IP アドレス (IP address)
www CNAME Webserver1.contoso.com
リレー CNAME Exchange1.contoso.com
Webserver1 A 192.168.1.200
Exchange1 A 192.168.0.201

Contoso.com の外部ゾーンには、次の表に示す情報が含まれます。

Host レコード タイプ IP アドレス (IP address)
www A 131.107.1.200
リレー A 131.107.1.201
MX Relay.contoso.com

これで、内部ネットワークと外部ネットワークのクライアント コンピューターで、名前 relay.contoso.com を適切な内部または外部の IP アドレスに解決できるようになりました。