Bereitstellen einer Software-Defined Networking-Infrastruktur mithilfe von Skripts

Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2016, Azure Stack HCI, Versionen 21H2 und 20H2

In diesem Thema stellen Sie eine Microsoft Software Defined Network (SDN)-Infrastruktur mithilfe von Skripts bereit. Die Infrastruktur umfasst einen hoch verfügbaren (HA)-Netzwerkcontroller, eine HA Software Load Balancer (SLB)/MUX, virtuelle Netzwerke und zugeordnete Access Control Lists (ACLs). Darüber hinaus stellt ein anderes Skript eine Mandantenauslastung bereit, die Sie zur Überprüfung Ihrer SDN-Infrastruktur bereitstellen.

Wenn Ihre Mandantenarbeitslasten außerhalb ihrer virtuellen Netzwerke kommunizieren sollen, können Sie SLB NAT-Regeln, Standort-zu-Standort-Gatewaytunnel oder Layer-3-Weiterleitung so einrichten, dass sie zwischen virtuellen und physischen Arbeitslasten weitergeleitet werden.

Sie können auch eine SDN-Infrastruktur mithilfe von Virtual Machine Manager (VMM) bereitstellen. Weitere Informationen finden Sie unter Einrichten einer Software Defined Network (SDN)-Infrastruktur in der VMM-Fabric.

Vor der Bereitstellung

Wichtig

Vor der Bereitstellung müssen Sie Ihre Hosts und Ihre physische Netzwerkinfrastruktur planen und konfigurieren. Weitere Informationen finden Sie unter Planen einer softwaredefinierten Netzwerkinfrastruktur.

Alle Hyper-V-Hosts müssen Windows Server 2019 oder 2016 installiert sein.

Bereitstellungsschritte

Konfigurieren Sie zunächst den virtuellen Hyper-V-Switch und die IP-Adresszuweisung des Hyper-V-Hosts (physische Server). Jeder Speichertyp, der mit Hyper-V kompatibel ist, freigegeben oder lokal kann verwendet werden.

Installieren von Hostnetzwerken

  1. Installieren Sie die neuesten Netzwerktreiber, die für Ihre NIC-Hardware verfügbar sind.

  2. Installieren Sie die Hyper-V-Rolle auf allen Hosts (Weitere Informationen finden Sie unter Erste Schritte mit Hyper-V auf Windows Server 2016.

    Install-WindowsFeature -Name Hyper-V -ComputerName <computer_name> -IncludeManagementTools -Restart
    
  3. Erstellen Sie den virtuellen Hyper-V-Switch.

    Verwenden Sie denselben Switchnamen für alle Hosts, z. B. sdnSwitch. Konfigurieren Sie mindestens einen Netzwerkadapter, oder konfigurieren Sie bei Verwendung von SET mindestens zwei Netzwerkadapter. Die maximale eingehende Verbreitung erfolgt bei Verwendung von zwei NICs.

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

    Tipp

    Sie können die Schritte 4 und 5 überspringen, wenn Sie über separate Verwaltungs-NICs verfügen.

  4. Weitere Informationen finden Sie im Planungsthema (Plan a Software Defined Network Infrastructure) und arbeiten Sie mit Ihrem Netzwerkadministrator zusammen, um die VLAN-ID des Verwaltungs-VLANs abzurufen. Fügen Sie die Verwaltungs-vNIC des neu erstellten virtuellen Switchs an das Verwaltungs-VLAN an. Dieser Schritt kann weggelassen werden, wenn Ihre Umgebung KEINE VLAN-Tags verwendet.

    Set-VMNetworkAdapterIsolation -ManagementOS -IsolationMode Vlan -DefaultIsolationID <Management VLAN> -AllowUntaggedTraffic $True
    
  5. Lesen Sie das Planungsthema (Planen einer softwaredefinierten Netzwerkinfrastruktur) und arbeiten Sie mit Ihrem Netzwerkadministrator zusammen, um DHCP- oder statische IP-Zuordnungen zu verwenden, um der Verwaltungs-vNIC des neu erstellten vSwitch eine IP-Adresse zuzuweisen. Das folgende Beispiel zeigt, wie Sie eine statische IP-Adresse erstellen und der Verwaltungs-vNIC des vSwitch zuweisen:

    New-NetIPAddress -InterfaceAlias "vEthernet (<switch name>)" -IPAddress <IP> -DefaultGateway <Gateway IP> -AddressFamily IPv4 -PrefixLength <Length of Subnet Mask - for example: 24>
    
  6. [Optional] Stellen Sie einen virtuellen Computer bereit, um Active Directory Domain Services (Installieren von Active Directory Domain Services (Ebene 100) und einen DNS-Server zu hosten.

    a. Verbinden dem virtuellen Active Directory/DNS Server-Computer an das Verwaltungs-VLAN:

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

    b. Installieren Sie Active Directory Domain Services und DNS.

    Hinweis

    Der Netzwerkcontroller unterstützt sowohl Kerberos- als auch X.509-Zertifikate für die Authentifizierung. In diesem Leitfaden werden beide Authentifizierungsmechanismen für unterschiedliche Zwecke verwendet (obwohl nur eine erforderlich ist).

  7. Verknüpfen Sie alle Hyper-V-Hosts mit der Domäne. Stellen Sie sicher, dass der DNS-Servereintrag für den Netzwerkadapter mit einer IP-Adresse, die dem Verwaltungsnetzwerk zugewiesen ist, auf einen DNS-Server verweist, der den Domänennamen auflösen kann.

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

    a. Klicken Sie mit der rechten Maustaste auf "Start", klicken Sie auf "System", und klicken Sie dann auf "Einstellungen ändern". b. Klicken Sie auf Ändern. c. Klicken Sie auf "Domäne ", und geben Sie den Domänennamen an. """" d. Klicken Sie auf 'OK'. E. Geben Sie den Benutzernamen und die Kennwortanmeldeinformationen ein, wenn Sie dazu aufgefordert werden. f. Starten Sie den Server neu.

Überprüfen

Verwenden Sie die folgenden Schritte, um zu überprüfen, ob das Hostnetzwerk ordnungsgemäß eingerichtet ist.

  1. Stellen Sie sicher, dass der VM-Switch erfolgreich erstellt wurde:

    Get-VMSwitch "<switch name>"
    
  2. Stellen Sie sicher, dass die Verwaltungs-vNIC auf dem VM-Switch mit dem Verwaltungs-VLAN verbunden ist:

    Hinweis

    Nur relevant, wenn der Verwaltungs- und Mandantendatenverkehr dieselbe NIC teilt.

    Get-VMNetworkAdapterIsolation -ManagementOS
    
  3. Überprüfen Sie alle Hyper-V-Hosts und externe Verwaltungsressourcen, z. B. DNS-Server.

    Stellen Sie sicher, dass sie über Ping über ihre Verwaltungs-IP-Adresse und/oder vollqualifizierten Domänennamen (FQDN) zugänglich sind.

    ping <Hyper-V Host IP>
    ping <Hyper-V Host FQDN>
    
  4. Führen Sie den folgenden Befehl auf dem Bereitstellungshost aus, und geben Sie den FQDN jedes Hyper-V-Hosts an, um sicherzustellen, dass die verwendeten Kerberos-Anmeldeinformationen Zugriff auf alle Server bieten.

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

Ausführen von SDN Express-Skripts

  1. Wechseln Sie zum Microsoft SDN GitHub Repository für die Installationsdateien.

  2. Laden Sie die Installationsdateien aus dem Repository auf den angegebenen Bereitstellungscomputer herunter. Klicken Sie auf "Klonen" oder "Herunterladen ", und klicken Sie dann auf "ZIP herunterladen".

    Hinweis

    Auf dem Bereitstellungscomputer muss Windows Server 2016 oder höher ausgeführt werden.

  3. Erweitern Sie die ZIP-Datei, und kopieren Sie den SDNExpress-Ordner in den Ordner des Bereitstellungscomputers C:\ .

  4. Geben Sie den C:\SDNExpress Ordner als "SDNExpress" mit der Berechtigung "Jeder zum Lesen/Schreiben" freigeben.

  5. Navigieren Sie zum Ordner C:\SDNExpress.

    Die folgenden Ordner werden angezeigt:

    Ordnername Beschreibung
    AgentConf Enthält neue Kopien von OVSDB-Schemas, die vom SDN-Host-Agent für jeden Windows Server 2016 Hyper-V-Host für die Programmnetzwerkrichtlinie verwendet werden.
    Zertifikate Temporärer freigegebener Speicherort für die NC-Zertifikatdatei.
    Bilder Leer, platzieren Sie ihr Windows Server 2016 vhdx-Bild hier
    Tools Dienstprogramme zur Problembehandlung und zum Debuggen. Kopiert in die Hosts und virtuellen Computer. Es wird empfohlen, Netzwerkmonitor oder Wireshark hier zu platzieren, damit es bei Bedarf verfügbar ist.
    Skripts Bereitstellungsskripts.

    - SDNExpress.ps1
    Stellt die Fabric bereit und konfiguriert sie, einschließlich der virtuellen Computer des Netzwerkcontrollers, SLB Mux-Computer, Gatewaypools und der virtuellen HNV-Gatewaycomputer, die den Pool(n) entsprechen.
    - FabricConfig.psd1
    Eine Konfigurationsdateivorlage für das SDNExpress-Skript. Sie passen dies für Ihre Umgebung an.
    - SDNExpressTenant.ps1
    Stellt eine Beispielmandantenauslastung in einem virtuellen Netzwerk mit einem VIP-Lastenausgleich bereit.
    Stellt außerdem eine oder mehrere Netzwerkverbindungen (IPSec S2S VPN, GRE, L3) auf den Dienstanbieter-Edgegateways bereit, die mit der zuvor erstellten Mandantenauslastung verbunden sind. Die IPSec- und GRE-Gateways stehen für die Konnektivität über die entsprechende VIP-IP-Adresse und das L3-Weiterleitungsgateway über den entsprechenden Adresspool zur Verfügung.
    Dieses Skript kann auch verwendet werden, um die entsprechende Konfiguration mit einer Option "Rückgängig" zu löschen.
    - TenantConfig.psd1
    Eine Vorlagenkonfigurationsdatei für Mandantenauslastung und S2S-Gatewaykonfiguration.
    - SDNExpressUndo.ps1
    Bereinigt die Fabric-Umgebung und setzt sie auf einen Startzustand zurück.
    - SDNExpressEnterpriseExample.ps1
    Stellt eine oder mehrere Unternehmenswebsiteumgebungen mit einem Remotezugriffsgateway und (optional) einem entsprechenden virtuellen Unternehmenscomputer pro Standort bereit. Die IPSec- oder GRE-Enterprise-Gateways stellen eine Verbindung mit der entsprechenden VIP-IP-Adresse des Dienstanbietergateways her, um die S2S-Tunnel einzurichten. Das L3-Weiterleitungsgateway verbindet sich über die entsprechende Peer-IP-Adresse.
    Dieses Skript kann auch verwendet werden, um die entsprechende Konfiguration mit einer Option "Rückgängig" zu löschen.
    - EnterpriseConfig.psd1
    Eine Vorlagenkonfigurationsdatei für das Enterprise Standort-zu-Standort-Gateway und client-VM-Konfiguration.

    TenantApps Dateien, die zum Bereitstellen von Beispielmandantenarbeitslasten verwendet werden.
  6. Überprüfen Sie, ob sich die Windows Server 2016 VHDX-Datei im Ordner "Images" befindet.

  7. Passen Sie die SDNExpress\scripts\FabricConfig.psd1-Datei an, indem Sie die << Ersetzen-Tags >> durch bestimmte Werte ändern, um Ihre Laborinfrastruktur anzupassen, einschließlich Hostnamen, Domänennamen, Benutzernamen und Kennwörtern sowie Netzwerkinformationen für die im Thema "Planning Network" aufgeführten Netzwerke.

  8. Erstellen Sie einen Host A-Eintrag in DNS für den NetworkControllerRestName (FQDN) und NetworkControllerRestIP.

  9. Führen Sie das Skript als Benutzer mit Domänenadministratoranmeldeinformationen aus:

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose
    
  10. Führen Sie den folgenden Befehl aus, um alle Vorgänge rückgängig zu machen:

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

Überprüfen

Angenommen, das SDN Express-Skript wurde abgeschlossen, ohne Fehler zu melden, können Sie den folgenden Schritt ausführen, um sicherzustellen, dass die Fabric-Ressourcen ordnungsgemäß bereitgestellt wurden und für die Mandantenbereitstellung verfügbar sind.

Verwenden Sie Diagnosetools , um sicherzustellen, dass keine Fehler für Fabric-Ressourcen im Netzwerkcontroller vorhanden sind.

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

Bereitstellen einer Beispielmandantenauslastung mit dem Softwarelastenausgleich

Nachdem Fabric-Ressourcen bereitgestellt wurden, können Sie Ihre SDN-Bereitstellung end-to-End überprüfen, indem Sie eine Beispielmandantenauslastung bereitstellen. Diese Mandantenauslastung besteht aus zwei virtuellen Subnetzen (Webebene und Datenbankebene), die über Access Control List (ACL)-Regeln mit der sdN verteilten Firewall geschützt sind. Auf das virtuelle Subnetz der Webebene kann über die SLB/MUX über eine VIP-Adresse (Virtual IP) zugegriffen werden. Das Skript stellt automatisch zwei virtuelle Webebenencomputer und einen virtuellen Datenbankcomputer bereit und verbindet diese mit den virtuellen Subnetzen.

  1. Passen Sie die SDNExpress\scripts\TenantConfig.psd1-Datei an, indem Sie die << Replace-Tags >> durch bestimmte Werte ändern (z. B. VHD-Bildname, Netzwerkcontroller-REST-Name, vSwitch-Name usw. wie zuvor in der Datei FabricConfig.psd1 definiert)

  2. Führen Sie das Skript aus. Beispiel:

    SDNExpress\scripts\SDNExpressTenant.ps1 -ConfigurationDataFile TenantConfig.psd1 -Verbose
    
  3. Um die Konfiguration rückgängig zu machen, führen Sie dasselbe Skript mit dem Rückgängig-Parameter aus. Beispiel:

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

Überprüfen

Gehen Sie wie folgt vor, um zu überprüfen, ob die Mandantenbereitstellung erfolgreich war:

  1. Melden Sie sich beim virtuellen Computer der Datenbankebene an, und versuchen Sie, die IP-Adresse eines virtuellen Webebenencomputers zu pingen (stellen Sie sicher, dass Windows Firewall auf virtuellen Webebenen deaktiviert ist).

  2. Überprüfen Sie die Mandantenressourcen des Netzwerkcontrollers auf Fehler. Führen Sie folgendes aus jedem Hyper-V-Host mit Layer-3-Konnektivität mit dem Netzwerkcontroller aus:

    Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller REST Name>
    
  3. Um zu überprüfen, ob der Lastenausgleich ordnungsgemäß ausgeführt wird, führen Sie folgendes aus jedem Hyper-V-Host aus:

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

    dabei <VIP IP address> handelt es sich um die WEBebene VIP-IP-Adresse, die Sie in der Datei "TenantConfig.psd1" konfiguriert haben.

    Tipp

    Suchen Sie nach der VIPIP Variablen in TenantConfig.psd1.

    Führen Sie dies mehrmals aus, um den Lastenausgleichsschalter zwischen den verfügbaren DIPs anzuzeigen. Sie können dieses Verhalten auch mithilfe eines Webbrowsers beobachten. Navigieren Sie zu <VIP IP address>/unique.htm. Schließen Sie den Browser, und öffnen Sie eine neue Instanz, und navigieren Sie erneut. Die blaue Seite und die grüne Seite werden angezeigt, außer wenn der Browser die Seite zwischenspeichert, bevor der Cache ausläuft.