Déployer une infrastructure SDN (Software Defined Networking) avec des scripts

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, versions 21H2 et 20H2

Dans cette rubrique, vous déployez une infrastructure SDN (Software Defined Network) Microsoft à l’aide de scripts. L’infrastructure comprend un contrôleur de réseau hautement disponible (HA), un logiciel ha Load Balancer (SLB)/MUX, des réseaux virtuels et des listes de Access Control associées (ACL). En outre, un autre script déploie une charge de travail de locataire pour vous permettre de valider votre infrastructure SDN.

Si vous souhaitez que vos charges de travail de locataire communiquent en dehors de leurs réseaux virtuels, vous pouvez configurer des règles NAT SLB, des tunnels de passerelle site à site ou un transfert de couche 3 pour acheminer entre les charges de travail virtuelles et physiques.

Vous pouvez également déployer une infrastructure SDN à l’aide de Virtual Machine Manager (VMM). Pour plus d’informations, consultez Configurer une infrastructure SDN (Software Defined Network) dans l’infrastructure VMM.

Prédéploiement

Important

Avant de commencer le déploiement, vous devez planifier et configurer vos ordinateurs hôtes et l’infrastructure réseau physique. Pour plus d’informations, consultez Planifier une mise en réseau SDN (Software Defined Networking).

Tous les hôtes Hyper-V doivent avoir installé Windows Server 2019 ou 2016.

Étapes du déploiement

Commencez par configurer le commutateur virtuel Hyper-V (serveurs physiques) et l’attribution d’adresse IP de l’hôte Hyper-V. Tout type de stockage compatible avec Hyper-V, partagé ou local peut être utilisé.

Installer la mise en réseau hôte

  1. Installez les derniers pilotes réseau disponibles pour votre matériel de carte réseau.

  2. Installez le rôle Hyper-V sur tous les hôtes (pour plus d’informations, consultez Démarrage avec Hyper-V sur Windows Server 2016.

    Install-WindowsFeature -Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools -Restart
    
  3. Créez le commutateur virtuel Hyper-V.

    Utilisez le même nom de commutateur pour tous les hôtes, par exemple, sdnSwitch. Configurez au moins une carte réseau ou, si vous utilisez SET, configurez au moins deux cartes réseau. La propagation entrante maximale se produit lors de l’utilisation de deux cartes réseau.

    New-VMSwitch "<switch name>" -NetAdapterName "<NetAdapter1>" [, "<NetAdapter2>" -EnableEmbeddedTeaming $True] -AllowManagementOS $True
    

    Conseil

    Vous pouvez ignorer les étapes 4 et 5 si vous disposez de cartes réseau de gestion distinctes.

  4. Reportez-vous à la rubrique de planification (Planifier une infrastructure réseau définie par le logiciel) et collaborez avec votre administrateur réseau pour obtenir l’ID de réseau local virtuel de gestion. Attachez la carte réseau virtuelle de gestion du commutateur virtuel nouvellement créé au réseau virtuel de gestion. Cette étape peut être omise si votre environnement n’utilise pas de balises VLAN.

    Set-VMNetworkAdapterIsolation -ManagementOS -IsolationMode Vlan -DefaultIsolationID <Management VLAN> -AllowUntaggedTraffic $True
    
  5. Reportez-vous à la rubrique de planification (Planifier une infrastructure réseau définie par le logiciel) et collaborez avec votre administrateur réseau pour utiliser des attributions d’adresses IP DHCP ou statiques pour affecter une adresse IP à la carte réseau virtuelle de gestion du vSwitch nouvellement créé. L’exemple suivant montre comment créer une adresse IP statique et l’affecter à la carte réseau virtuelle de gestion du vSwitch :

    New-NetIPAddress -InterfaceAlias "vEthernet (<switch name>)" -IPAddress <IP> -DefaultGateway <Gateway IP> -AddressFamily IPv4 -PrefixLength <Length of Subnet Mask - for example: 24>
    
  6. [Facultatif] Déployez une machine virtuelle pour héberger services de domaine Active Directory (installez services de domaine Active Directory (niveau 100) et un serveur DNS.

    a. Connecter la machine virtuelle Active Directory/DNS Server vers le réseau virtuel de gestion :

    Set-VMNetworkAdapterIsolation -VMName "<VM Name>" -Access -VlanId <Management VLAN> -AllowUntaggedTraffic $True
    

    b. Installez services de domaine Active Directory et DNS.

    Notes

    Le contrôleur de réseau prend en charge les certificats Kerberos et X.509 pour l’authentification. Ce guide utilise les deux mécanismes d’authentification à des fins différentes (bien qu’un seul soit requis).

  7. Joignez tous les hôtes Hyper-V au domaine. Vérifiez que l’entrée du serveur DNS pour la carte réseau qui a une adresse IP affectée au réseau de gestion pointe vers un serveur DNS qui peut résoudre le nom de domaine.

    Set-DnsClientServerAddress -InterfaceAlias "vEthernet (<switch name>)" -ServerAddresses <DNS Server IP>
    

    a. Cliquez avec le bouton droit sur Démarrer, cliquez sur Système, puis cliquez sur Modifier Paramètres. b. Cliquez sur Modifier. c. Cliquez sur Domaine et spécifiez le nom de domaine. « " » d. Cliquez sur OK. E. Tapez les informations d’identification de nom d’utilisateur et de mot de passe lorsque vous y êtes invité. f. Redémarrez le serveur.

Validation

Suivez les étapes suivantes pour valider que la mise en réseau hôte est correctement configurée.

  1. Vérifiez que le commutateur de machine virtuelle a été créé avec succès :

    Get-VMSwitch "<switch name>"
    
  2. Vérifiez que la carte réseau virtuelle de gestion sur le commutateur de machine virtuelle est connectée au réseau virtuel de gestion :

    Notes

    Pertinent uniquement si le trafic gestion et locataire partagent la même carte réseau.

    Get-VMNetworkAdapterIsolation -ManagementOS
    
  3. Validez tous les hôtes Hyper-V et toutes les ressources de gestion externe, par exemple, les serveurs DNS.

    Assurez-vous qu’ils sont accessibles via ping à l’aide de leur adresse IP de gestion et/ou du nom de domaine complet (FQDN).

    ping <Hyper-V Host IP>
    ping <Hyper-V Host FQDN>
    
  4. Exécutez la commande suivante sur l’hôte de déploiement et spécifiez le nom de domaine complet de chaque hôte Hyper-V pour vous assurer que les informations d’identification Kerberos utilisées fournissent l’accès à tous les serveurs.

    winrm id -r:<Hyper-V Host FQDN>
    

Exécuter des scripts SDN Express

  1. Accédez au référentiel microsoft SDN GitHub pour les fichiers d’installation.

  2. Téléchargez les fichiers d’installation du référentiel sur l’ordinateur de déploiement désigné. Cliquez sur Cloner ou télécharger , puis sur Télécharger ZIP.

    Notes

    L’ordinateur de déploiement désigné doit exécuter Windows Server 2016 ou une version ultérieure.

  3. Développez le fichier zip et copiez le dossier SDNExpress dans le dossier de l’ordinateur de C:\ déploiement.

  4. Partagez le dossier en tant que « SDNExpress » avec l’autorisation pour tout leC:\SDNExpress monde de lire/écrire.

  5. Accédez au dossier C:\SDNExpress.

    Vous voyez les dossiers suivants :

    Nom du dossier Description
    AgentConf Contient des copies nouvelles des schémas OVSDB utilisés par l’agent hôte SDN sur chaque hôte Hyper-V Windows Server 2016 pour programmer la stratégie réseau.
    Certificats Emplacement partagé temporaire du fichier de certificat NC.
    Images Vide, placez votre image vhdx Windows Server 2016 ici
    Outils Utilitaires pour la résolution des problèmes et le débogage. Copié sur les ordinateurs hôtes et les machines virtuelles. Nous vous recommandons de placer le Moniteur réseau ou Wireshark ici afin qu’il soit disponible si nécessaire.
    scripts ; Scripts de déploiement.

    - SDNExpress.ps1
    Déploie et configure l’infrastructure, notamment les machines virtuelles du contrôleur de réseau, les machines virtuelles SLB Mux, les pools de passerelles et les machines virtuelles de passerelle HNV correspondant au ou aux pools.
    - FabricConfig.psd1
    Modèle de fichier de configuration pour le script SDNExpress. Vous allez le personnaliser pour votre environnement.
    - SDNExpressTenant.ps1
    Déploie un exemple de charge de travail de locataire sur un réseau virtuel avec une adresse IP virtuelle à charge équilibrée.
    Provisionne également une ou plusieurs connexions réseau (VPN IPSec S2S, GRE, L3) sur les passerelles edge du fournisseur de services connectées à la charge de travail de locataire précédemment créée. Les passerelles IPSec et GRE sont disponibles pour la connectivité via l’adresse IP IP ip correspondante et passerelle de transfert L3 sur le pool d’adresses correspondant.
    Ce script peut également être utilisé pour supprimer la configuration correspondante avec une option d’annulation.
    - TenantConfig.psd1
    Fichier de configuration de modèle pour la charge de travail du locataire et la configuration de passerelle S2S.
    - SDNExpressUndo.ps1
    Nettoie l’environnement d’infrastructure et le réinitialise à un état de départ.
    - SDNExpressEnterpriseExample.ps1
    Provisionne un ou plusieurs environnements de site d’entreprise avec une passerelle d’accès à distance et (éventuellement) une machine virtuelle d’entreprise correspondante par site. Les passerelles d’entreprise IPSec ou GRE se connectent à l’adresse IP IP ip virtuelle correspondante de la passerelle de fournisseur de services pour établir les tunnels S2S. La passerelle de transfert L3 se connecte via l’adresse IP d’homologue correspondante.
    Ce script peut également être utilisé pour supprimer la configuration correspondante avec une option d’annulation.
    - EnterpriseConfig.psd1
    Fichier de configuration de modèle pour la Enterprise la passerelle de site à site et la configuration de machine virtuelle cliente.

    TenantApps Fichiers utilisés pour déployer des exemples de charges de travail de locataire.
  6. Vérifiez que le fichier VHDX Windows Server 2016 se trouve dans le dossier Images.

  7. Personnalisez le fichier SDNExpress\scripts\FabricConfig.psd1 en modifiant les << balises Replace >> par des valeurs spécifiques pour adapter votre infrastructure lab, notamment les noms d’hôte, les noms de domaine, les noms de domaine, les noms d’utilisateur et les mots de passe, ainsi que les informations réseau pour les réseaux répertoriés dans la rubrique Planning Network.

  8. Créez un enregistrement Host A dans DNS pour NetworkControllerRestName (FQDN) et NetworkControllerRestIP.

  9. Exécutez le script en tant qu’utilisateur avec les informations d’identification de l’administrateur de domaine :

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose
    
  10. Pour annuler toutes les opérations, exécutez la commande suivante :

 SDNExpress\scripts\SDNExpressUndo.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose

Validation

En supposant que le script SDN Express s’est exécuté à la fin sans signaler d’erreurs, vous pouvez effectuer l’étape suivante pour vous assurer que les ressources de l’infrastructure ont été déployées correctement et sont disponibles pour le déploiement du locataire.

Utilisez les outils de diagnostic pour vous assurer qu’il n’existe aucune erreur sur les ressources de l’infrastructure dans le contrôleur de réseau.

Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller Rest Name>

Déployer un exemple de charge de travail de locataire avec l’équilibreur de charge logiciel

Maintenant que les ressources de structure ont été déployées, vous pouvez valider votre déploiement SDN de bout en bout en déployant un exemple de charge de travail de locataire. Cette charge de travail de locataire se compose de deux sous-réseaux virtuels (niveau web et niveau de base de données) protégés via Access Control règles de liste (ACL) à l’aide du pare-feu distribué SDN. Le sous-réseau virtuel du niveau web est accessible via l’interface SLB/MUX à l’aide d’une adresse IP virtuelle (VIP). Le script déploie automatiquement deux machines virtuelles de niveau web et une machine virtuelle de couche base de données et les connecte aux sous-réseaux virtuels.

  1. Personnalisez le fichier SDNExpress\scripts\TenantConfig.psd1 en modifiant les << balises Replace >> par des valeurs spécifiques (par exemple : nom de l’image VHD, nom REST du contrôleur de réseau, nom vSwitch, etc. comme défini précédemment dans le fichier FabricConfig.psd1)

  2. Exécutez le script. Par exemple :

    SDNExpress\scripts\SDNExpressTenant.ps1 -ConfigurationDataFile TenantConfig.psd1 -Verbose
    
  3. Pour annuler la configuration, exécutez le même script avec le paramètre d’annulation . Par exemple :

    SDNExpress\scripts\SDNExpressTenant.ps1 -Undo -ConfigurationDataFile TenantConfig.psd1 -Verbose
    

Validation

Pour vérifier que le déploiement du locataire a réussi, procédez comme suit :

  1. Connectez-vous à la machine virtuelle de la couche base de données et essayez de tester l’adresse IP de l’une des machines virtuelles de couche web (vérifiez que Windows Pare-feu est désactivé dans les machines virtuelles de couche web).

  2. Vérifiez les ressources du locataire du contrôleur de réseau pour connaître les erreurs. Exécutez ce qui suit à partir de n’importe quel hôte Hyper-V avec la connectivité couche 3 au contrôleur réseau :

    Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller REST Name>
    
  3. Pour vérifier que l’équilibreur de charge s’exécute correctement, exécutez ce qui suit à partir d’un hôte Hyper-V :

    wget <VIP IP address>/unique.htm -disablekeepalive -usebasicparsing
    

    <VIP IP address> est l’adresse IP IP ip IP de niveau web que vous avez configurée dans le fichier TenantConfig.psd1.

    Conseil

    Recherchez la VIPIP variable dans TenantConfig.psd1.

    Exécutez cette opération plusieurs fois pour voir le commutateur d’équilibreur de charge entre les ADRESSES IP disponibles. Vous pouvez également observer ce comportement à l’aide d’un navigateur web. Accédez à <VIP IP address>/unique.htm. Fermez le navigateur et ouvrez une nouvelle instance et parcourez à nouveau. Vous verrez la page bleue et la page verte alternative, sauf lorsque le navigateur met en cache la page avant l’expiration du cache.