Condividi tramite


Servizio DNS interno (iDNS) per SDN

Se si lavora per un provider di servizi cloud (CSP) o un'azienda che prevede di distribuire SDN (Software Defined Networking) in Windows Server, è possibile fornire servizi DNS ai carichi di lavoro dei tenant ospitati usando DNS interno (iDNS), integrato con SDN.

Le macchine virtuali (VM) ospitate e le applicazioni richiedono DNS per comunicare all'interno delle rispettive reti e con risorse esterne in Internet. Con iDNS è possibile fornire ai tenant servizi di risoluzione dei nomi DNS per i rispettivo spazio dei nomi locale isolato e per le risorse for Internet.

Poiché il servizio iDNS è accessibile dalle reti virtuali dei tenant solo tramite proxy iDNS, il server non è vulnerabile alle attività dannose nelle reti dei tenant.

Funzionalità chiave    

Di seguito vengono illustrate le caratteristiche principali di iDNS.

  • Fornisce servizi di risoluzione dei nomi DNS condivisi per i carichi di lavoro dei tenant
  • Servizio DNS autorevole per la risoluzione dei nomi e la registrazione DNS all'interno dello spazio dei nomi dei tenant
  • Servizio DNS ricorsivo per la risoluzione dei nomi Internet dalle macchine virtuali dei tenant.
  • Se lo si desidera, è possibile configurare l'hosting simultaneo di nomi di infrastruttura e tenant
  • Una soluzione DNS conveniente: i tenant non devono distribuire la propria infrastruttura DNS
  • Disponibilità elevata con l'integrazione di Active Directory, che è obbligatoria

Oltre a queste funzionalità, se mantenere i server DNS integrati di Active Directory aperti a Internet genera preoccupazione, è possibile distribuire i server iDNS dietro un altro resolver ricorsivo nella rete perimetrale.

Poiché iDNS è un server centralizzato per tutte le query DNS, un provider di servizi cloud (CSP) o un'azienda può anche implementare firewall DNS tenant, applicare filtri, rilevare attività dannose e controllare le transazioni in una posizione centrale

Infrastruttura iDNS

L'infrastruttura iDNS include server iDNS e proxy iDNS.

Server iDNS

iDNS include un set di server DNS che ospitano dati specifici del tenant, ad esempio record di risorse DNS della macchina virtuale.

I server iDNS sono i server autorevoli per le zone DNS interne e fungono anche da resolver per i nomi pubblici quando le macchine virtuali del tenant provano a connettersi a risorse esterne.

Tutti i nomi host per le macchine virtuali nelle reti virtuali vengono archiviati come record di risorse DNS nella stessa zona. Se ad esempio si distribuisce iDNS per una zona denominata contoso.local, i record di risorse DNS per le macchine virtuali in tale rete vengono archiviati nella zona contoso.local.

I nomi di dominio completi (FQDN) delle macchine virtuali del tenant sono costituiti dal nome del computer e dalla stringa di suffisso DNS per la rete virtuale, in formato GUID. Se ad esempio è presente una macchina virtuale del tenant denominata TENANT1 che si trova nella rete virtuale contoso.local, il nome di dominio completo della macchina virtuale è TENANT1.vn-guid.contoso.local, dove vn-guid è la stringa di suffisso DNS per la rete virtuale.

Nota

Gli amministratori dell'infrastruttura DNS del possono usare l'infrastruttura del provider di servizi cloud (CSP) o dell'azienda come server iDNS invece di distribuire nuovi server DNS in modo specifico per l'uso come server iDNS. Indipendentemente dal fatto che distribuiscano nuovi server per iDNS o si usi l'infrastruttura esistente, iDNS si basa su Active Directory per offrire disponibilità elevata. I server iDNS devono quindi essere integrati con Active Directory.

Proxy iDNS

Il proxy iDNS è un servizio di Windows che viene eseguito in ogni host e che inoltra il traffico DNS della rete virtuale del tenant al server iDNS.

La figura seguente illustra i percorsi di traffico DNS dalle reti virtuali del tenant tramite il proxy iDNS al server iDNS e a Internet.

Infrastruttura iDNS

Come distribuire iDNS

Quando si distribuisce la funzionalità SDN (Software Defined Networking) in Windows Server 2016 usando script, iDNS viene incluso automaticamente nella distribuzione.

Per ulteriori informazioni, vedere gli argomenti seguenti.

Informazioni sulla procedura di distribuzione di iDNS

È possibile usare questa sezione per comprendere come viene installato e configurato iDNS quando si distribuisce la funzionalità SDN (Software Defined Networking) usando script.

Di seguito è riportato un riepilogo dei passaggi necessari per distribuire iDNS.

Nota

Se la funzionalità SDN (Software Defined Networking) è stata distribuito tramite script, non è necessario eseguire questi passaggi. I passaggi vengono forniti solo a scopo informativo e di risoluzione dei problemi.

Passaggio 1: Distribuire DNS

È possibile distribuire un server DNS usando il comando di Windows PowerShell di esempio seguente.

Install-WindowsFeature DNS -IncludeManagementTools

Passaggio 2: Configurare le informazioni su iDNS nel controller di rete

Questo segmento di script è una chiamata REST effettuata dall'amministratore al controller di rete, in modo da fornire informazioni sulla configurazione della zona iDNS, ad esempio l'indirizzo IP di iDNSServer e la zona usata per ospitare i nomi iDNS.

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

Nota

Questo è un estratto della sezione Configuration ConfigureIDns in SDNExpress.ps1. Per altre informazioni, vedere Distribuire un'infrastruttura SDN (Software Defined Networking) usando script.

Passaggio 3: Configurare il servizio proxy iDNS

Il servizio proxy iDNS viene eseguito in ognuno degli host Hyper-V, fornendo il bridge tra le reti virtuali dei tenant e la rete fisica in cui si trovano i server iDNS. Le chiavi del Registro di sistema seguenti devono essere create in ogni host Hyper-V.

Porta DNS: porta fissa 53

  • Chiave del Registro di sistema = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "Port"
  • ValueData = 53
  • ValueType = "Dword"

Porta proxy DNS: porta fissa 53

  • Chiave del Registro di sistema = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "ProxyPort"
  • ValueData = 53
  • ValueType = "Dword"

IP DNS: indirizzo IP fisso configurato nell'interfaccia di rete, nel caso in cui il tenant scelga di usare il servizio iDNS

  • Chiave del Registro di sistema = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
  • ValueName = "IP"
  • ValueData = "169.254.169.254"
  • ValueType = "String"

Indirizzo MAC: indirizzo MAC (Media Access Control) del server DNS

  • Chiave del Registro di sistema = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService
  • ValueName = "MAC"
  • ValueData = "aa-bb-cc-aa-bb-cc"
  • ValueType = "String"

Indirizzo del server IDNS: elenco di server iDNS delimitato da virgole.

  • Chiave del Registro di sistema: HKLM\SYSTEM\CurrentControlSet\Services\DNSProxy\Parameters
  • ValueName = "Forwarders"
  • ValueData = "10.0.0.9"
  • ValueType = "String"

Nota

Questo è un estratto della sezione Configuration ConfigureIDnsProxy in SDNExpress.ps1. Per altre informazioni, vedere Distribuire un'infrastruttura SDN (Software Defined Networking) usando script.

Passaggio 4: Riavviare il servizio agente host del controller di rete

È possibile usare il comando di Windows PowerShell seguente per riavviare il servizio agente host del controller di rete.

Restart-Service nchostagent -Force

Per altre informazioni, vedere Restart-Service.

Abilitare le regole del firewall per il servizio proxy DNS

È possibile usare il comando di Windows PowerShell seguente per creare una regola del firewall che consenta le eccezioni per permettere al proxy di comunicare con la macchina virtuale e il server iDNS.

Enable-NetFirewallRule -DisplayGroup 'DNS Proxy Firewall'

Per altre informazioni, vedere Enable-NetFirewallRule.

Convalidare il servizio iDNS

Per convalidare il servizio iDNS, è necessario distribuire un carico di lavoro del tenant di esempio.

Per altre informazioni, vedere Creare una macchina virtuale e Connettersi a una rete virtuale del tenant o VLAN.

Se si vuole che la macchina virtuale del tenant usi il servizio iDNS, è necessario lasciare vuota la configurazione del server DNS delle interfacce di rete della macchina virtuale e consentire alle interfacce di usare DHCP.

Dopo l'avvio della macchina virtuale con tale interfaccia di rete, la macchina virtuale riceve automaticamente una configurazione che le consente di usare iDNS e inizia immediatamente a eseguire la risoluzione dei nomi usando il servizio iDNS.

Se si configura la macchina virtuale del tenant per l'uso del servizio iDNS lasciando vuote le informazioni sul server DNS dell'interfaccia di rete e sul server DNS alternativo, il controller di rete fornisce alla macchina virtuale un indirizzo IP ed esegue una registrazione del nome DNS per conto della macchina virtuale con il server iDNS.

Il controller di rete fornisce anche al proxy iDNS informazioni sulla macchina virtuale e i dettagli necessari per eseguire la risoluzione dei nomi per la macchina virtuale.

Quando la macchina virtuale avvia una query DNS, il proxy funge da server d'inoltro della query dalla rete virtuale al servizio iDNS.

Il proxy DNS garantisce anche che le query della macchina virtuale del tenant siano isolate. Se il server iDNS è autorevole per la query, il server iDNS risponde con una risposta autorevole. Se il server iDNS non è autorevole per la query, esegue una ricorsione DNS per risolvere i nomi Internet.

Nota

Queste informazioni sono incluse nella sezione Configuration AttachToVirtualNetwork in SDNExpressTenant.ps1. Per altre informazioni, vedere Distribuire un'infrastruttura SDN (Software Defined Networking) usando script.