Delen via


Interne DNS-service (iDNS) voor SDN

Als u werkt voor een Cloud Service Provider (CSP) of Enterprise die van plan is software-gedefinieerde netwerken (SDN) te implementeren in Windows Server, kunt u DNS-services leveren aan uw gehoste tenantworkloads met behulp van Interne DNS (iDNS), die is geïntegreerd met SDN.

Voor gehoste virtuele machines (VM's) en toepassingen is DNS vereist voor communicatie binnen hun eigen netwerken en met externe bronnen op internet. Met iDNS kunt u tenants voorzien van DNS-naamomzettingsservices voor hun geïsoleerde, lokale naamruimte en voor internetbronnen.

Omdat de iDNS-service niet toegankelijk is vanuit virtuele tenantnetwerken, behalve via de iDNS-proxy, is de server niet kwetsbaar voor schadelijke activiteiten op tenantnetwerken.

Belangrijke functies

Hieronder vindt u de belangrijkste functies voor iDNS.

  • Biedt gedeelde DNS-naamomzettingsservices voor tenantworkloads
  • Authoritatieve DNS-dienst voor naamomzetting en DNS-registratie binnen de tenant-naamruimte
  • Recursieve DNS-service voor het omzetten van internetnamen van tenant-VM's.
  • Desgewenst kunt u gelijktijdig hosten van infrastructuur- en tenantnamen configureren
  • Een rendabele DNS-oplossing: tenants hoeven hun eigen DNS-infrastructuur niet te implementeren
  • Hoge beschikbaarheid met Active Directory-integratie, wat vereist is.

Naast deze functies kunt u iDNS-servers implementeren achter een andere recursieve resolver in het perimeternetwerk als u zich zorgen maakt over het openhouden van uw AD-geïntegreerde DNS-servers op internet.

Omdat iDNS een gecentraliseerde server is voor alle DNS-query's, kan een CSP of Enterprise ook tenant-DNS-firewalls implementeren, filters toepassen, schadelijke activiteiten detecteren en transacties op een centrale locatie controleren

iDNS-infrastructuur

De iDNS-infrastructuur bevat iDNS-servers en iDNS-proxy.

iDNS-servers

iDNS bevat een set DNS-servers die tenantspecifieke gegevens hosten, zoals DNS-bronrecords voor VM's.

iDNS-servers zijn de gezaghebbende servers voor hun interne DNS-zones en fungeren ook als een resolver voor openbare namen wanneer tenant-VM's verbinding proberen te maken met externe resources.

Alle hostnamen voor VM's in virtuele netwerken worden opgeslagen als DNS-resourcerecords onder dezelfde zone. Als u bijvoorbeeld iDNS implementeert voor een zone met de naam contoso.local, worden de DNS-bronrecords voor de VIRTUELE machines op dat netwerk opgeslagen in de zone contoso.local.

Tenant-VM's Fully Qualified Domain Names (FQDNs) bestaan uit de computernaam en de DNS-achtervoegseltekenreeks voor het virtuele netwerk in GUID-format. Als u bijvoorbeeld een tenant-VM hebt met de naam TENANT1 die zich in het virtuele netwerk contoso bevindt, lokaal, wordt de FQDN van de VIRTUELE machine TENANT1. vn-guid.contoso.local, waarbij vn-guid de DNS-achtervoegseltekenreeks is voor het virtuele netwerk.

Note

Als u een infrastructuurbeheerder bent, kunt u uw CSP- of Enterprise DNS-infrastructuur gebruiken als iDNS-servers in plaats van nieuwe DNS-servers specifiek te implementeren voor gebruik als iDNS-servers. Of u nu nieuwe servers voor iDNS implementeert of uw bestaande infrastructuur gebruikt, iDNS is afhankelijk van Active Directory om hoge beschikbaarheid te bieden. Uw iDNS-servers moeten daarom worden geïntegreerd met Active Directory.

iDNS-proxy

iDNS-proxy is een Windows-service die wordt uitgevoerd op elke host en die DNS-verkeer van tenant virtual network doorstuurt naar de iDNS-server.

In de volgende afbeelding ziet u DNS-verkeerspaden van virtuele tenantnetwerken via de iDNS-proxy naar de iDNS-server en internet.

iDNS-infrastructuur

iDNS implementeren

Wanneer u SDN implementeert in Windows Server 2016 met behulp van scripts, wordt iDNS automatisch opgenomen in uw implementatie.

Zie de volgende onderwerpen voor meer informatie.

Informatie over iDNS-implementatiestappen

U kunt deze sectie gebruiken om inzicht te krijgen in hoe iDNS wordt geïnstalleerd en geconfigureerd wanneer u SDN implementeert met behulp van scripts.

Hieronder volgt een overzicht van de stappen die nodig zijn voor het implementeren van iDNS.

Note

Als u SDN hebt geïmplementeerd met behulp van scripts, hoeft u geen van deze stappen uit te voeren. De stappen worden alleen verstrekt voor informatie en probleemoplossingsdoeleinden.

Stap 1: DNS implementeren

U kunt een DNS-server implementeren met behulp van de volgende windows PowerShell-opdracht.

Install-WindowsFeature DNS -IncludeManagementTools

Stap 2: iDNS-gegevens configureren in netwerkcontroller

Dit scriptsegment is een REST-aanroep die wordt gedaan door de beheerder voor netwerkcontroller, waarbij het wordt geïnformeerd over de configuratie van de iDNS-zone, zoals het IP-adres van de iDNSServer en de zone die wordt gebruikt voor het hosten van de iDNS-namen.

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"
      }
    }

Note

Dit is een fragment uit de sectie Configuration ConfigureIDns in SDNExpress.ps1. Zie Een software-gedefinieerde netwerkinfrastructuur implementeren met behulp van scripts voor meer informatie.

Stap 3: de iDNS-proxyservice configureren

De iDNS-proxyservice wordt uitgevoerd op elk van de Hyper-V hosts, die de brug bieden tussen de virtuele netwerken van tenants en het fysieke netwerk waar de iDNS-servers zich bevinden. De volgende registersleutels moeten worden gemaakt op elke Hyper-V host.

DNS-poort: Vaste poort 53

  • Registersleutel = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "Poort"
  • Waarde gegevens = 53
  • ValueType = "DWORD"

DNS-proxypoort: Vaste poort 53

  • Registersleutel = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "ProxyPort"
  • Waarde gegevens = 53
  • ValueType = "DWORD"

DNS-IP: Opgelost IP-adres dat is geconfigureerd op de netwerkinterface, voor het geval de tenant ervoor kiest om de iDNS-service te gebruiken

  • Registersleutel = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • WaardeNaam = "IP"
  • ValueData = "169.254.169.254"
  • ValueType = "Tekenreeks"

Mac-adres: Media Access Control-adres van de DNS-server

  • Registersleutel = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService
  • ValueName = "MAC"
  • ValueData = "aa-bb-cc-aa-bb-cc"
  • ValueType = "Tekenreeks"

IDNS-serveradres: Een door komma's gescheiden lijst met iDNS-servers.

  • Registersleutel: HKLM\SYSTEM\CurrentControlSet\Services\DNSProxy\Parameters
  • ValueName = "Doorstuurservers"
  • ValueData = "10.0.0.9"
  • ValueType = "Tekenreeks"

Note

Dit is een fragment uit de sectie Configuration ConfigureIDnsProxy in SDNExpress.ps1. Zie Een software-gedefinieerde netwerkinfrastructuur implementeren met behulp van scripts voor meer informatie.

Stap 4: Start de hostagentservice van de netwerkcontroller opnieuw

U kunt de volgende Windows PowerShell-opdracht gebruiken om de netwerkcontrollerhostagentservice opnieuw op te starten.

Restart-Service nchostagent -Force

Zie Restart-Service voor meer informatie.

Firewallregels inschakelen voor de DNS-proxyservice

U kunt de volgende Windows PowerShell-opdracht gebruiken om een firewallregel te maken waarmee uitzonderingen voor de proxy kunnen communiceren met de virtuele machine en de iDNS-server.

Enable-NetFirewallRule -DisplayGroup 'DNS Proxy Firewall'

Zie Enable-NetFirewallRule voor meer informatie.

De iDNS-service valideren

Als u de iDNS-service wilt valideren, moet u een voorbeeld van een tenantworkload implementeren.

Zie Een virtuele machine maken en verbinding maken met een virtueel tenantnetwerk of VLAN voor meer informatie.

Als u wilt dat de tenant-VM de iDNS-service gebruikt, moet u de DNS Server-configuratie van de VM-netwerkinterfaces leeg laten en de interfaces toestaan DHCP te gebruiken.

Nadat de virtuele machine met een dergelijke netwerkinterface is gestart, ontvangt deze automatisch een configuratie waarmee de VIRTUELE machine iDNS kan gebruiken en de VM onmiddellijk naamomzetting start met behulp van de iDNS-service.

Als je de tenant-VM configureert voor het gebruik van de iDNS-service door de DNS-server en alternatieve DNS-serverinformatie van de netwerkinterface leeg te laten, wordt de VM door de netwerkcontroller voorzien van een IP-adres, en wordt een DNS-naamregistratie namens de VM uitgevoerd met de iDNS-server.

Netwerkcontroller informeert ook de iDNS-proxy over de virtuele machine en de details die nodig zijn voor naamomzetting voor de virtuele machine.

Wanneer de VIRTUELE machine een DNS-query initieert, fungeert de proxy als doorstuurserver van de query van het virtuele netwerk naar de iDNS-service.

De DNS-proxy zorgt er ook voor dat de tenant-VM-query's worden geïsoleerd. Als de iDNS-server gezaghebbend is voor de query, reageert de iDNS-server met een gezaghebbend antwoord. Als de iDNS-server niet gezaghebbend is voor de query, voert deze een DNS-recursie uit om internetnamen op te lossen.

Note

Deze informatie is opgenomen in de sectie Configuration AttachToVirtualNetwork in SDNExpressTenant.ps1. Zie Een software-gedefinieerde netwerkinfrastructuur implementeren met behulp van scripts voor meer informatie.