Interner DNS-Dienst (iDNS) für SDN

Gilt für Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI (Version 21H2 und 20H2)

Wenn Sie für einen Clouddienstanbieter (Cloud Service Provider, CSP) oder ein Unternehmen arbeiten, der bzw. das die Bereitstellung von Software-Defined Networking (SDN) in Windows Server plant, können Sie DNS-Dienste für Ihre gehosteten Mandantenworkloads mithilfe des internen DNS (iDNS) bereitstellen, das in SDN integriert ist.

Gehostete VMs und Anwendungen erfordern DNS, um innerhalb ihrer eigenen Netzwerke und mit externen Ressourcen im Internet zu kommunizieren. Mit iDNS können Sie Mandanten DNS-Dienste für Namensauflösung für ihren isolierten lokalen Namespace und für Internetressourcen bereitstellen.

Da der iDNS-Dienst außer über den iDNS-Proxy von den virtuellen Netzwerken der Mandanten aus nicht zugänglich ist, ist der Server nicht anfällig für böswillige Aktivitäten in den Mandantennetzwerken.

Schlüsselfunktionen

iDNS verfügt über die folgenden Schlüsselfunktionen.

  • Bereitstellen freigegebener DNS-Namenauflösungsdienste für Mandantenworkloads
  • Autorisierender DNS-Dienst für Namensauflösung und DNS-Registrierung innerhalb des Namespace des Mandanten
  • Rekursiver DNS-Dienst für die Auflösung von Internetnamen aus den Mandanten-VMs.
  • Bei Bedarf können Sie gleichzeitiges Hosting von Fabric- und Mandantennamen konfigurieren.
  • Eine kostengünstige DNS-Lösung: Mandanten müssen keine eigene DNS-Infrastruktur bereitstellen
  • Hochverfügbarkeit mit Active Directory-Integration, die erforderlich ist.

Zusätzlich zu diesen Funktionen können Sie iDNS-Server hinter einem anderen rekursiven Konfliktlöser im Umkreisnetzwerk bereitstellen, wenn Sie Bedenken haben, ihre in AD integrierten DNS-Server für das Internet geöffnet zu lassen.

Da iDNS ein zentralisierter Server für alle DNS-Abfragen ist, kann ein CSP oder Unternehmen auch Mandanten-DNS-Firewalls implementieren, Filter anwenden, böswillige Aktivitäten erkennen und Transaktionen an einem zentralen Ort überwachen.

iDNS-Infrastruktur

Die iDNS-Infrastruktur umfasst iDNS-Server und einen iDNS-Proxy.

iDNS-Server

iDNS enthält eine Reihe von DNS-Servern, die mandantenspezifische Daten hosten, z. B. VM-DNS-Ressourceneinträge.

iDNS-Server sind die autorisierenden Server für ihre internen DNS-Zonen und fungieren auch als Konfliktlöser für öffentliche Namen, wenn Mandanten-VMs versuchen, eine Verbindung mit externen Ressourcen herzustellen.

Alle Hostnamen für VMs in virtuellen Netzwerken werden als DNS-Ressourceneinträge in derselben Zone gespeichert. Wenn Sie beispielsweise iDNS für eine Zone mit dem Namen contoso.local bereitstellen, werden die DNS-Ressourceneinträge für die VMs in diesem Netzwerk in der Zone contoso.local gespeichert.

Vollqualifizierte Domänennamen (Fully Qualified Domain Names, FQDNs) für Mandanten-VMs bestehen aus dem Computernamen und der DNS-Suffixzeichenfolge für das virtuelle Netzwerk im GUID-Format. Wenn Sie beispielsweise über eine Mandanten-VM namens TENANT1 verfügen, die sich im virtuellen Netzwerk contoso.local befindet, lautet der FQDN der VM TENANT1.vn-guid.contoso.local, wobei vn-guid die DNS-Suffixzeichenfolge für das virtuelle Netzwerk ist.

Hinweis

Wenn Sie Fabricadministrator sind, können Sie Ihre CSP- oder Unternehmens-DNS-Infrastruktur als iDNS-Server verwenden, anstatt neue DNS-Server speziell für die Verwendung als iDNS-Server bereitzustellen. Unabhängig davon, ob Sie neue Server für iDNS bereitstellen oder Ihre vorhandene Infrastruktur verwenden, nutzt iDNS Active Directory, um Hochverfügbarkeit bereitzustellen. Ihre iDNS-Server müssen daher in Active Directory integriert werden.

iDNS-Proxy

Der iDNS-Proxy ist ein Windows-Dienst, der auf jedem Host ausgeführt wird und DNS-Datenverkehr im virtuellen Netzwerk des Mandanten an den iDNS-Server weiterleitet.

Die folgende Abbildung zeigt DNS-Datenverkehrspfade von virtuellen Mandantennetzwerken über den iDNS-Proxy zum iDNS-Server und zum Internet.

iDNS Infrastructure

Bereitstellen von iDNS

Wenn Sie SDN in Windows Server 2016 mithilfe von Skripts bereitstellen, wird iDNS automatisch in Ihre Bereitstellung einbezogen.

Weitere Informationen finden Sie in den folgenden Themen.

Grundlegendes zu iDNS-Bereitstellungsschritten

In diesem Abschnitt erfahren Sie, wie iDNS installiert und konfiguriert wird, wenn Sie SDN mithilfe von Skripts bereitstellen.

Im Folgenden finden Sie eine Zusammenfassung der Schritte, die zum Bereitstellen von iDNS erforderlich sind.

Hinweis

Wenn Sie SDN mithilfe von Skripts bereitgestellt haben, müssen Sie keinen dieser Schritte ausführen. Die Schritte dienen nur zu Informations- und Problembehandlungszwecken.

Schritt 1: Bereitstellen von DNS

Sie können einen DNS-Server mithilfe des folgenden Windows PowerShell-Beispielbefehls bereitstellen.

Install-WindowsFeature DNS -IncludeManagementTools

Schritt 2: Konfigurieren von iDNS-Informationen im Netzwerkcontroller

Bei diesem Skriptsegment handelt es sich um einen REST-Aufruf, der vom Administrator an den Netzwerkcontroller ausgegeben wird und ihn über die iDNS-Zonenkonfiguration informiert, z. B. die IP-Adresse des iDNSServers und die Zone, die zum Hosten der iDNS-Namen verwendet wird.

Url: https://<url>/networking/v1/iDnsServer/configuration
Method: PUT
{
      "properties": {
        "connections": [
          {
            "managementAddresses": [
              "10.0.0.9"
            ],
            "credential": {
              "resourceRef": "/credentials/iDnsServer-Credentials"
            },
            "credentialType": "usernamePassword"
          }
        ],
        "zone": "contoso.local"
      }
    }

Hinweis

Dies ist ein Auszug aus dem Abschnitt Configuration ConfigureIDns in „SDNExpress.ps1“. Weitere Informationen finden Sie unter Bereitstellen einer durch Software definierten Netzwerkinfrastruktur mithilfe von Skripts.

Schritt 3: Konfigurieren des iDNS-Proxydiensts

Der iDNS-Proxydienst wird auf jedem Hyper-V-Host ausgeführt und stellt die Brücke zwischen den virtuellen Netzwerken der Mandanten und dem physischen Netzwerk bereit, in dem sich die iDNS-Server befinden. Die folgenden Registrierungsschlüssel müssen auf jedem Hyper-V-Host erstellt werden.

DNS-Port: Fester Port 53

  • Registrierungsschlüssel = HKLM\SYSTEM\CurrentControlSet\Services\ncHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "Port"
  • ValueData = 53
  • ValueType = "Dword"

DNS-Proxyport: Fester Port 53

  • Registrierungsschlüssel = HKLM\SYSTEM\CurrentControlSet\Services\ncHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "ProxyPort"
  • ValueData = 53
  • ValueType = "Dword"

DNS-IP-Adresse: Feste IP-Adresse, in auf der Netzwerkschnittstelle konfiguriert ist, wenn der Mandant den iDNS-Dienst verwenden möchte

  • Registrierungsschlüssel = HKLM\SYSTEM\CurrentControlSet\Services\ncHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "IP"
  • ValueData = "169.254.169.254"
  • ValueType = "String"

Mac-Adresse: Media Access Control-Adresse des DNS-Servers

  • Registrierungsschlüssel = HKLM\SYSTEM\CurrentControlSet\Services\ncHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService
  • ValueName = "MAC"
  • ValueData = "aa-bb-cc-aa-bb-cc"
  • ValueType = "String"

iDNS-Serveradresse: Eine durch Kommas getrennte Liste von iDNS-Servern.

  • Registrierungsschlüssel: HKLM\SYSTEM\CurrentControlSet\Services\DNSProxy\Parameters
  • ValueName = "Forwarders"
  • ValueData = "10.0.0.9"
  • ValueType = "String"

Hinweis

Dies ist ein Auszug aus dem Abschnitt Configuration ConfigureIDnsProxy in „SDNExpress.ps1“. Weitere Informationen finden Sie unter Bereitstellen einer durch Software definierten Netzwerkinfrastruktur mithilfe von Skripts.

Schritt 4: Neustarten des Host-Agent-Diensts des Netzwerkcontrollers

Sie können den folgenden Windows PowerShell-Befehl verwenden, um den Host-Agent-Dienst des Netzwerkcontrollers neu zu starten.

Restart-Service nchostagent -Force

Weitere Informationen finden Sie unter Restart-Service.

Aktivieren von Firewallregeln für den DNS-Proxydienst

Sie können den folgenden Windows PowerShell-Befehl verwenden, um eine Firewallregel zu erstellen, die Ausnahmen für den Proxy in Bezug auf die Kommunikation mit der VM und dem iDNS-Server zulässt.

Enable-NetFirewallRule -DisplayGroup 'DNS Proxy Firewall'

Weitere Informationen finden Sie unter Enable-NetFirewallRule.

Überprüfen des iDNS-Diensts

Zum Überprüfen des iDNS-Diensts müssen Sie eine Beispielmandantenworkload bereitstellen.

Weitere Informationen finden Sie unter Erstellen einer VM und Verbinden mit einem virtuellen Mandantennetzwerk oder VLAN.

Wenn die Mandanten-VM den iDNS-Dienst verwenden soll, müssen Sie die DNS-Serverkonfiguration der VM-Netzwerkschnittstellen leer lassen und den Schnittstellen die Verwendung von DHCP gestatten.

Nachdem die VM mit einer solchen Netzwerkschnittstelle initiiert wurde, empfängt sie automatisch eine Konfiguration, die es der VM ermöglicht, iDNS zu verwenden, und die VM beginnt sofort mit der Namensauflösung mithilfe des iDNS-Diensts.

Wenn Sie die Mandanten-VM für die Verwendung des iDNS-Diensts konfigurieren, indem Sie die Informationen des DNS-Servers für die Netzwerkschnittstelle und den alternativen DNS-Server leer lassen, stellt der Netzwerkcontroller eine IP-Adresse für die VM bereit und führt eine DNS-Namensregistrierung im Namen der VM mit dem iDNS-Server aus.

Der Netzwerkcontroller informiert den iDNS-Proxy außerdem über den VM und die erforderlichen Details zum Ausführen der Namensauflösung für die VM.

Wenn die VM eine DNS-Abfrage initiiert, fungiert der Proxy als Weiterleitung der Abfrage aus dem virtuellen Netzwerk an den iDNS-Dienst.

Der DNS-Proxy stellt außerdem sicher, dass die Mandanten-VM-Abfragen isoliert sind. Wenn der iDNS-Server für die Abfrage autorisierend ist, antwortet der iDNS-Server mit einer autorisierenden Antwort. Wenn der iDNS-Server für die Abfrage nicht autorisierend ist, führt er eine DNS-Rekursion aus, um Internetnamen aufzulösen.

Hinweis

Diese Informationen sind im Abschnitt Configuration AttachToVirtualNetwork in „SDNExpressTenant.ps1“ enthalten. Weitere Informationen finden Sie unter Bereitstellen einer durch Software definierten Netzwerkinfrastruktur mithilfe von Skripts.