Partager via


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

Dans cette rubrique, vous déployez une infrastructure de mise en réseau SDN (Software Defined Network) Microsoft à l’aide de scripts. L’infrastructure comprend un contrôleur de réseau à haute disponibilité (HA), un équilibreur de charge logiciel HA (SLB)/MUX, des réseaux virtuels et des listes de contrôle d’accès (ACL) associées. De plus, un autre script déploie une charge de travail locataire pour que vous puissiez valider votre infrastructure SDN.

Si vous souhaitez que les charges de travail de vos locataires 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 assurer le routage entre les charges de travail virtuelles et physiques.

Vous pouvez également déployer une infrastructure SDN à l’aide de VMM (Virtual Machine Manager). 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) de l’hôte Hyper-V et l’attribution de l’adresse IP. Vous pouvez utiliser n'importe quel type de stockage compatible avec Hyper-V, partagé ou local.

Installer la mise en réseau de l’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, voir Installer le rôle Hyper-V sur Windows Server.

    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 diffusion 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 avez des cartes réseau de gestion distinctes.

  4. Reportez-vous à la rubrique de planification (Planifier une infrastructure SDN (Software Defined Network)) et collaborez avec votre administrateur réseau pour obtenir l’ID de réseau local virtuel du réseau local virtuel de gestion. Attachez la carte réseau virtuelle de gestion du commutateur virtuel créé au réseau local 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 SDN (Software Defined Network)) et collaborez avec votre administrateur réseau pour utiliser des affectations d’adresses IP statiques ou DHCP afin d’affecter une adresse IP à la carte réseau virtuelle de gestion du commutateur virtuel créé. L’exemple suivant montre comment créer une adresse IP statique et l’affecter à la carte réseau virtuelle de gestion du commutateur virtuel :

    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 un ordinateur virtuel pour héberger les services de domaine Active Directory (Installer les services de domaine Active Directory (niveau 100) et un serveur DNS.

    a. Connectez l’ordinateur virtuel Active Directory/le serveur DNS au réseau local virtuel de gestion :

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

    b. Installez les services de domaine Active Directory (AD DS) 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 obligatoire).

  7. Créez un réplica de jeu de configuration pour tous les hôtes Hyper-V au domaine. Vérifiez que l’entrée du serveur DNS pour la carte réseau dont l’adresse IP est 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 de la souris sur Démarrer, sélectionnez Système, puis Modifier les paramètres. Modifier les paramètres. b. Sélectionnez Changer. c. Sélectionnez Domaine et indiquez le nom de domaine. d. Sélectionnez OK. Tapez le nom d’utilisateur et le mot de passe lorsque vous y êtes invité. f. Redémarrez le serveur.

Validation

Suivez les étapes suivantes pour vérifier que la mise en réseau des hôtes est correcte.

  1. Vérifiez que le commutateur de l’ordinateur virtuel a été créé correctement :

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

    Notes

    Pertinent uniquement si les trafics de gestion et de 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 par ping à l'aide de leur adresse IP de gestion et/ou de leur 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 FQDN de chaque hôte Hyper-V pour vous assurer que les informations d’identification Kerberos utilisées permettent d’accéder à tous les serveurs.

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

Exécuter les scripts SDN Express

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

  2. Téléchargez les fichiers d’installation depuis le référentiel sur l’ordinateur de déploiement désigné. Cliquez sur Cloner ou Télécharger, puis cliquez sur Télécharger le fichier 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 C:\ de l’ordinateur de déploiement.

  4. Partagez le dossier C:\SDNExpress en tant que « SDNExpress » avec l’autorisation pour Tout le monde en lecture/écriture.

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

    Les dossiers suivants apparaissent :

    Nom du dossier Description
    AgentConf Contient de nouvelles copies des schémas OVSDB utilisés par l’agent hôte SDN sur chaque hôte Windows Server 2016 Hyper-V 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 ordinateurs virtuels. Nous vous recommandons de placer Network Monitor ou Wireshark ici afin qu’il soit disponible si nécessaire.
    scripts ; Scripts de déploiement.

    - SDNExpress.ps1
    Déploie et configure la structure, y compris les machines virtuelles du contrôleur de réseau, les machines virtuelles SLB Mux, le(s) pool(s) de passerelles et la(les) machine(s) virtuelle(s) de passerelle HNV correspondant au(x) pool(s).
    - FabricConfig.psd1
    Modèle de fichier de configuration pour le script SDNExpress. Vous adapterez cette fonction à votre environnement.
    - SDNExpressTenant.ps1
    Déploie un exemple de charge de travail locataire sur un réseau virtuel avec une adresse IP virtuelle équilibrée en charge.
    Approvisionne également une ou plusieurs connexions réseau (VPN IPSec S2S, GRE, L3) sur les passerelles de périphérie du fournisseur de services qui sont connectées à la charge de travail locataire créée précédemment. Les passerelles IPSec et GRE sont disponibles pour la connectivité via l’adresse IP virtuelle correspondante, et la passerelle de transfert L3 sur le pool d’adresses correspondant.
    Ce script peut également être utilisé pour supprimer la configuration correspondante avec une option Annuler.
    - TenantConfig.psd1
    Fichier de configuration de modèle pour la charge de travail locataire et la configuration de la passerelle S2S.
    - SDNExpressUndo.ps1
    Nettoie l’environnement d’infrastructure et le réinitialise à un état de départ.
    - SDNExpressEnterpriseExample.ps1
    Fournit un ou plusieurs environnements de sites 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 virtuelle correspondante de la passerelle du fournisseur de services pour établir les tunnels S2S. La passerelle de transfert L3 se connecte à l’adresse IP de pair correspondante.
    Ce script peut également être utilisé pour supprimer la configuration correspondante avec une option Annuler.
    - EnterpriseConfig.psd1
    Fichier de configuration de modèle pour la passerelle de site à site d’entreprise et la configuration de l’ordinateur virtuel client.

    TenantApps Fichiers utilisés pour déployer des exemples de charges de travail 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 changeant les étiquettes << Remplacer >> par des spécifiques en fonction de l’infrastructure de votre laboratoire, notamment les noms d’hôte, les noms de domaine, les noms d’utilisateur et les mots de passe, ainsi que les informations réseau pour les réseaux listés dans la rubrique Réseau de planification.

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

  9. Exécutez le script en tant qu’utilisateur disposant d’informations d’identification d’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é jusqu’à l’achèvement sans signaler d’erreurs, vous pouvez effectuer l’étape suivante pour vous assurer que les ressources d’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’y a pas d’erreurs sur les ressources d’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 locataire avec l’équilibreur de charge logiciel

Maintenant que les ressources d’infrastructure 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 locataire. Cette charge de travail locataire se compose de deux sous-réseaux virtuels (niveau Web et niveau base de données) protégés par des règles de liste de contrôle d’accès (ACL) à l’aide du pare-feu distribué SDN. Le sous-réseau virtuel du niveau Web est accessible via le SLB/MUX à l’aide d’une adresse IP virtuelle (VIP). Le script déploie automatiquement deux ordinateurs virtuels de niveau Web et un ordinateur virtuel de niveau base de données et les connecte aux sous-réseaux virtuels.

  1. Personnalisez le fichier SDNExpress\scripts\TenantConfig.psd1 en changeant les étiquettes << Remplacer >> par des valeurs spécifiques (par exemple, nom de l’image VHD, nom REST du contrôleur de réseau, nom du commutateur virtuel, etc. comme cela est 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 annuler. 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 niveau base de données et essayez d'envoyer un ping à l'adresse IP de l'une des machines virtuelles de niveau Web (assurez-vous que le pare-feu Windows est désactivé dans les machines virtuelles de niveau Web).

  2. Vérifiez que les ressources locataire du contrôleur de réseau ne présentent pas d’erreurs. Exécutez ce qui suit à partir de n’importe quel hôte Hyper-V ayant une connectivité de couche 3 au contrôleur de 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 la commande suivante à partir de n’importe quel hôte Hyper-V :

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

    <VIP IP address> est l’adresse IP virtuelle du niveau Web que vous avez configurée dans le fichier TenantConfig.psd1.

    Conseil

    Recherchez la variable VIPIP dans TenantConfig.psd1.

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