Service DNS interne pour SDN
Si vous travaillez pour un fournisseur de services cloud (CSP) ou une entreprise qui prévoit de déployer la mise en réseau à définition logicielle (SDN) dans Windows Server, vous pouvez fournir des services DNS à vos charges de travail de locataires hébergées à l’aide du DNS interne (iDNS), qui est intégré à SDN.
Les machines virtuelles hébergées et les applications nécessitent que DNS communique au sein de leurs propres réseaux et avec des ressources externes sur Internet. Avec iDNS, vous pouvez fournir aux locataires des services de résolution de noms DNS pour leur espace de noms local et isolé et pour les ressources Internet.
Étant donné que le service iDNS n’est pas accessible à partir des réseaux virtuels du locataire, autre que par le biais du proxy iDNS, le serveur n’est pas vulnérable aux activités malveillantes sur les réseaux de locataires.
Principales fonctionnalités
Voici les principales fonctionnalités de iDNS.
- Fournit des services de résolution de noms DNS partagés pour les charges de travail des locataires
- Service DNS faisant autorité pour la résolution de noms et l’enregistrement DNS dans l’espace de noms du locataire
- Service DNS récursif pour la résolution de noms Internet à partir de machines virtuelles de locataire.
- Si vous le souhaitez, vous pouvez configurer l’hébergement simultané des noms d’infrastructure et de locataire
- Une solution DNS économique : les locataires n’ont pas besoin de déployer leur propre infrastructure DNS
- Haute disponibilité avec l’intégration d’Active Directory, ce qui est requis.
En plus de ces fonctionnalités, si vous souhaitez conserver vos serveurs DNS intégrés AD ouverts sur Internet, vous pouvez déployer des serveurs iDNS derrière un autre programme de résolution récursif dans le réseau de périmètre.
Comme iDNS est un serveur centralisé pour toutes les requêtes DNS, un fournisseur de services de configuration ou d’entreprise peut également implémenter des pare-feu DNS de locataire, appliquer des filtres, détecter les activités malveillantes et auditer les transactions à un emplacement central
Infrastructure iDNS
L’infrastructure iDNS comprend les serveurs iDNS et le proxy iDNS.
Serveurs iDNS
iDNS inclut un ensemble de serveurs DNS qui hébergent des données spécifiques au locataire, telles que les enregistrements de ressources DNS de machine virtuelle.
Les serveurs iDNS sont les serveurs faisant autorité pour leurs zones DNS internes. Ils servent également de programme de résolution pour les noms publics quand des machines virtuelles de locataire tentent de se connecter à des ressources externes.
Tous les noms d’hôte des machines virtuelles sur des réseaux virtuels sont stockés en tant qu’enregistrements de ressources DNS dans la même zone. Par exemple, si vous déployez iDNS pour une zone nommée contoso.local, les enregistrements de ressources DNS pour les machines virtuelles sur ce réseau sont stockés dans la zone contoso.local.
Les noms de domaine complets (FQDN) des machines virtuelles de locataire comprennent le nom d’ordinateur et la chaîne de suffixe DNS du réseau virtuel, au format GUID. Par exemple, si vous avez une machine virtuelle de locataire nommée TENANT1 qui se trouve sur le réseau virtuel contoso.local, le nom de domaine complet de la machine virtuelle est TENANT1.vn-guid.contoso.local, où vn-guid est la chaîne de suffixe DNS pour le réseau virtuel.
Remarque
Si vous êtes un administrateur d’infrastructure, vous pouvez utiliser votre infrastructure de fournisseur de solutions Cloud ou DNS d’entreprise en tant que serveurs iDNS au lieu de déployer de nouveaux serveurs DNS spécifiquement destinés à être utilisés en tant que serveurs iDNS. Que vous déployiez de nouveaux serveurs pour iDNS ou que vous utilisiez votre infrastructure existante, iDNS s’appuie sur Active Directory pour fournir une haute disponibilité. Vos serveurs iDNS doivent donc être intégrés à Active Directory.
Proxy iDNS
Le proxy iDNS est un service Windows qui s’exécute sur chaque hôte et qui transfère le trafic DNS réseau virtuel locataire vers le serveur iDNS.
L’illustration suivante illustre les chemins d’accès au trafic DNS des réseaux virtuels de locataire via le proxy iDNS vers le serveur iDNS et Internet.
Comment déployer iDNS
Lorsque vous déployez SDN dans Windows Server 2016 à l’aide de scripts, iDNS est automatiquement inclus dans votre déploiement.
Pour plus d'informations, consultez les rubriques ci-dessous.
Présentation des étapes de déploiement iDNS
Vous pouvez utiliser cette section pour comprendre comment iDNS est installé et configuré lorsque vous déployez SDN à l’aide de scripts.
Voici un résumé des étapes nécessaires au déploiement d’iDNS.
Notes
Si vous avez déployé SDN à l’aide de scripts, vous n’avez pas besoin d’effectuer l’une de ces étapes. Les étapes sont fournies à des fins d’information et de résolution des problèmes uniquement.
Étape 1 : Déployer DNS
Vous pouvez déployer un serveur DNS à l’aide de l’exemple de commande Windows PowerShell suivant.
Install-WindowsFeature DNS -IncludeManagementTools
Étape 2 : Configurer les informations iDNS dans le contrôleur de réseau
Ce segment de script est un appel REST effectué par l’administrateur au contrôleur de réseau, l’informant de la configuration de la zone iDNS, telle que l’adresse IP du serveur iDNS et la zone utilisée pour héberger les noms 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"
}
}
Notes
Il s’agit d’un extrait de la section Configuration de ConfigureIDns dans SDNExpress.ps1. Pour plus d’informations, consultez Deploy a Software Defined Network infrastructure using scripts (Déployer une infrastructure SDN à l’aide de scripts).
Étape 3 : Configurer le service proxy iDNS
Le service proxy iDNS s’exécute sur chacun des hôtes Hyper-V, fournissant le pont entre les réseaux virtuels des locataires et le réseau physique où se trouvent les serveurs iDNS. Les clés de registre suivantes doivent être créées sur chaque hôte Hyper-V.
Port DNS : Port fixe 53
- Clé de registre = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
- ValueName = "Port"
- ValueData = 53
- ValueType = "Dword"
Port du proxy DNS : Port fixe 53
- Clé de registre = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
- ValueName = "ProxyPort"
- ValueData = 53
- ValueType = "Dword"
Adresse IP DNS : Adresse IP fixe configurée sur l’interface réseau, au cas où le locataire choisit d’utiliser le service iDNS
- Clé de registre = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService"
- ValueName = "IP"
- ValueData = "169.254.169.254"
- ValueType = "String"
Adresse Mac : Adresse de contrôle d’accès multimédia du serveur DNS
- Clé de registre = HKLM\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\Plugins\Vnet\InfraServices\DnsProxyService
- ValueName = "MAC"
- ValueData = "aa-bb-cc-aa-bb-cc"
- ValueType = "String"
Adresse du serveur IDNS : Liste de serveurs iDNS séparés par des virgules.
- Clé de registre = HKLM\SYSTEM\CurrentControlSet\Services\DNSProxy\Parameters
- ValueName = "Forwarders"
- ValueData = "10.0.0.9"
- ValueType = "String"
Notes
Il s’agit d’un extrait de la section Configuration de ConfigureIDnsProxy dans SDNExpress.ps1. Pour plus d’informations, consultez Deploy a Software Defined Network infrastructure using scripts (Déployer une infrastructure SDN à l’aide de scripts).
Étape 4 : Redémarrer le service agent hôte du contrôleur de réseau
Vous pouvez utiliser la commande Windows PowerShell suivante pour redémarrer le service agent hôte du contrôleur de réseau.
Restart-Service nchostagent -Force
Pour plus d’informations, consultez Redémarrer le service.
Activer les règles de pare-feu pour le service proxy DNS
Vous pouvez utiliser la commande Windows PowerShell suivante pour créer une règle de pare-feu qui autorise des exceptions pour que le proxy communique avec la machine virtuelle et le serveur iDNS.
Enable-NetFirewallRule -DisplayGroup 'DNS Proxy Firewall'
Pour plus d’informations, consultez Enable-NetFirewallRule.
Valider le service iDNS
Pour valider le service iDNS, vous devez déployer un exemple de charge de travail de locataire.
Pour plus d’informations, consultez Créer une machine virtuelle et établir la connexion à un réseau virtuel locataire ou un réseau local virtuel.
Si vous souhaitez que la machine virtuelle de locataire utilise le service iDNS, vous devez laisser la configuration du serveur DNS des interfaces réseau de machine virtuelle vide et autoriser les interfaces à utiliser DHCP.
Une fois la machine virtuelle avec une telle interface réseau lancée, elle reçoit automatiquement une configuration qui lui permet d’utiliser iDNS, et la machine virtuelle commence immédiatement à effectuer la résolution de noms à l’aide du service iDNS.
Si vous configurez la machine virtuelle cliente pour utiliser le service iDNS en laissant les informations du serveur DNS d’interface réseau et du serveur DNS secondaire vides, le contrôleur de réseau fournit à la machine virtuelle une adresse IP et effectue une inscription de nom DNS pour le compte de la machine virtuelle auprès du serveur iDNS.
Le contrôleur de réseau informe également le proxy iDNS sur la machine virtuelle et les détails requis pour effectuer la résolution de noms pour la machine virtuelle.
Lorsque la machine virtuelle lance une requête DNS, le proxy agit en tant que redirecteur de la requête du réseau virtuel vers le service iDNS.
Le proxy DNS garantit également que les requêtes de machine virtuelle de locataire sont isolées. Si le serveur iDNS fait autorité pour la requête, le serveur iDNS répond avec une réponse faisant autorité. Si le serveur iDNS ne fait pas autorité pour la requête, il effectue une récursivité DNS pour résoudre les noms Internet.
Remarque
Ces informations sont incluses dans la section Configuration AttachToVirtualNetwork dans SDNExpressTenant.ps1. Pour plus d’informations, consultez Deploy a Software Defined Network infrastructure using scripts (Déployer une infrastructure SDN à l’aide de scripts).