web-dev-qa-db-ja.com

WindowsでのスプリットDNS

すべてのサービスが内部ドメイン(例:coolcorp.io)で登録されている内部ネットワークがあります。

ユーザーがVPNに接続するときに、内部DNSサーバーを経由する他の「パブリック」名前解決を行わずに、*.coolcorp.ioで内部サービスを解決できるようにしたいと思います。

MacOSとLinuxでは、その特定のドメインに対して/etc/resolverの下にカスタムリゾルバー設定を作成することができます。

Windowsでどうすればいいのかわかりません。 ADはなく、DNSがVPNのデフォルトゲートウェイになることは想定されていません。

2
greenboxal

背景として、WindowsでDNSスタックがどのように機能するかを見てみましょう。

FQDNの解決を行う必要がある場合は、a.contoso.comと言います。

  • キャッシュまたはhostsファイルに一致するものが見つからない場合
  • OSは名前解決ポリシーテーブルを確認します。これは、名前またはサフィックスに使用するDNSサーバーのIPアドレスまたはプロキシサーバーを指定できるインターフェイスに依存しないリストです。
  • NRPTテーブルで一致するものがない場合、インターフェイスでクエリが送信され、最も優先されるインターフェイスからの応答が選択されます(LAN> VPN> Wi-Fi>セルラー)

ここで、特定のケースでは、*。coolcorp.ioと企業DNSサーバーのNRPTエントリを追加するのが最善の方法です。 Windows 10では、これはMDM用のVPNv2 CSPのDomainNameInformationListプロパティを介してWindowsVPNプロファイルの一部にすることができます https://docs.Microsoft.com/en-us/windows/client-management/mdm/vpnv2 -csp 。 NRPTポリシーは、Add-DnsClientNrptRulePowerShellコマンドレットを介して追加することもできます。これにより、*。coolcorp.ioのすべての解像度がVPNサーバーに確実に送信されます。次に、VPNプロファイル自体で、DNSサーバーアドレスまたはDNSサフィックスを指定する必要はありません。

2

私があなたを正しく読んでいるなら、それはあなたがVPNからIPを割り当てる方法と、DNSサーバーアドレスを設定する能力があるかどうかに依存すると思いますが、すべての実装が同じであるとは限りません。そのDNSサーバーの内部で応答するゾーンを構成し、再帰をそのままにしておく必要があります(ただし、そのDNSサーバーが一般に公開されている場合は、サービス拒否の可能性があるため、これは一般的に悪い考えです。攻撃します。もしそうなら、もっと複雑にする必要があるかもしれません)。このようにして、DNSサーバーは最初にできることを応答し、クエリのゾーンがない場合は、デフォルトでインターネットルートに転送します。

0
Kyp