Bereitstellen einer Software-Defined Networking-Infrastruktur mithilfe von SkriptsDeploy a Software Defined Network infrastructure using scripts

Gilt für: Windows Server 2019, Windows Server 2016Applies to: Windows Server 2019, Windows Server 2016

In diesem Thema stellen Sie eine Microsoft-Sdn-Infrastruktur (Software Defined Network) mithilfe von Skripts bereit.In this topic, you deploy a Microsoft Software Defined Network (SDN) infrastructure using scripts. Die Infrastruktur umfasst einen hochverfügbaren Netzwerk Controller (ha), eine SLB-/Mux (HA Software Load Balancer), virtuelle Netzwerke und zugehörige Access Control Listen (ACLs).The infrastructure includes a highly available (HA) network controller, an HA Software Load Balancer (SLB)/MUX, virtual networks, and associated Access Control Lists (ACLs). Darüber hinaus stellt ein weiteres Skript eine Mandanten Arbeitsauslastung bereit, damit Sie Ihre Sdn-Infrastruktur überprüfen können.Additionally, another script deploys a tenant workload for you to validate your SDN infrastructure.

Wenn Sie möchten, dass Ihre mandantenworkloads außerhalb Ihrer virtuellen Netzwerke kommunizieren, können Sie SLB-NAT-Regeln, Site-to-Site-gatewaytunnel oder Layer-3-Weiterleitung einrichten, um zwischen virtuellen und physischen Workloads zu leiten.If you want your tenant workloads to communicate outside their virtual networks, you can setup SLB NAT rules, Site-to-Site Gateway tunnels, or Layer-3 Forwarding to route between virtual and physical workloads.

Sie können auch eine Sdn-Infrastruktur mithilfe von Virtual Machine Manager (VMM) bereitstellen.You can also deploy an SDN infrastructure using Virtual Machine Manager (VMM). Weitere Informationen finden Sie unter Einrichten einer Sdn-Infrastruktur (Software Defined Network) im VMM-Fabric.For more information, see Set up a Software Defined Network (SDN) infrastructure in the VMM fabric.

Vor der BereitstellungPre-deployment

Wichtig

Vor der Bereitstellung müssen Sie Ihre Hosts und Ihre physische Netzwerkinfrastruktur planen und konfigurieren.Before you begin deployment, you must plan and configure your hosts and physical network infrastructure. Weitere Informationen finden Sie unter Planen einer softwaredefinierten Netzwerkinfrastruktur.For more information, see Plan a Software Defined Network Infrastructure.

Auf allen Hyper-V-Hosts muss Windows Server 2019 oder 2016 installiert sein.All Hyper-V hosts must have Windows Server 2019 or 2016 installed.

BereitstellungsschritteDeployment steps

Beginnen Sie, indem Sie den virtuellen Hyper-v-Switch und die IP-Adresszuweisung für Hyper-v-Hosts konfigurieren.Start by configuring the Hyper-V host's (physical servers) Hyper-V virtual switch and IP address assignment. Jeder Speichertyp, der mit Hyper-V, Shared oder local kompatibel ist, kann verwendet werden.Any storage type that is compatible with Hyper-V, shared or local may be used.

Installieren von Host NetzwerkenInstall host networking

  1. Installieren Sie die neuesten Netzwerktreiber, die für Ihre NIC-Hardware verfügbar sind.Install the latest network drivers available for your NIC hardware.

  2. Installieren Sie die Hyper-v-Rolle auf allen Hosts (Weitere Informationen finden Sie unter Get Started with Hyper-v on Windows Server 2016.Install the Hyper-V role on all hosts (For more information, see Get started with Hyper-V on Windows Server 2016.

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

    Verwenden Sie den gleichen Switchnamen für alle Hosts, z. b. sdnswitch.Use the same switch name for all hosts, for example, sdnSwitch. Konfigurieren Sie mindestens einen Netzwerkadapter, oder konfigurieren Sie bei Verwendung von Set mindestens zwei Netzwerkadapter.Configure at least one network adapter or, if using SET, configure at least two network adapters. Die maximale eingehende Verteilung erfolgt bei Verwendung von zwei NICs.Maximum inbound spreading occurs when using two 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.You can skip steps 4 and 5 if you have separate Management NICs.

  4. Informationen zum Abrufen der VLAN-ID des Verwaltungs-VLANs finden Sie im Thema zur Planung (Planen einer Software-Defined Network-Infrastruktur) und zusammenarbeiten mit Ihrem Netzwerkadministrator.Refer to the planning topic (Plan a Software Defined Network Infrastructure) and work with your network administrator to obtain the VLAN ID of the Management VLAN. Fügen Sie die Verwaltungs-vNIC des neu erstellten virtuellen Switches dem Verwaltungs-VLAN hinzu.Attach the Management vNIC of the newly created Virtual Switch to the Management VLAN. Dieser Schritt kann ausgelassen werden, wenn in Ihrer Umgebung keine VLAN-Tags verwendet werden.This step can be omitted if your environment does not use VLAN tags.

    Set-VMNetworkAdapterIsolation -ManagementOS -IsolationMode Vlan -DefaultIsolationID <Management VLAN> -AllowUntaggedTraffic $True
    
  5. Informationen zum Zuweisen einer IP-Adresse zur Verwaltungs-vNIC des neu erstellten vSwitches finden Sie im Thema zur Planung (Planen einer Software-Defined Network-Infrastruktur) und zusammenarbeiten mit Ihrem Netzwerkadministrator.Refer to the planning topic (Plan a Software Defined Network Infrastructure) and work with your network administrator to use either DHCP or static IP assignments to assign an IP address to the Management vNIC of the newly created vSwitch. Im folgenden Beispiel wird gezeigt, wie eine statische IP-Adresse erstellt und der Verwaltungs-vNIC des Vswitch zugewiesen wird:The following example shows how to create a static IP address and assign it to the Management vNIC of the vSwitch:

    New-NetIPAddress -InterfaceAlias "vEthernet (<switch name>)" -IPAddress <IP> -DefaultGateway <Gateway IP> -AddressFamily IPv4 -PrefixLength <Length of Subnet Mask - for example: 24>
    
  6. Optionale Stellen Sie eine virtuelle Maschine auf dem Host Active Directory Domain Services bereit (Installieren Sie Active Directory Domain Services (Stufe 100) und einen DNS-Server.[Optional] Deploy a virtual machine to host Active Directory Domain Services (Install Active Directory Domain Services (Level 100) and a DNS Server.

    a.a. Verbinden Sie den virtuellen Computer für den Active Directory/DNS-Server mit dem Verwaltungs-VLAN:Connect the Active Directory/DNS Server virtual machine to the Management VLAN:

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

    b.b. Installieren Sie Active Directory Domain Services und DNS.Install Active Directory Domain Services and DNS.

    Hinweis

    Der Netzwerk Controller unterstützt Kerberos-und X. 509-Zertifikate für die Authentifizierung.The network controller supports both Kerberos and X.509 certificates for authentication. In diesem Leitfaden werden beide Authentifizierungsmechanismen für verschiedene Zwecke verwendet (es ist jedoch nur eine erforderlich).This guide uses both authentication mechanisms for different purposes (although only one is required).

  7. Verknüpfen Sie alle Hyper-V-Hosts mit der Domäne.Join all Hyper-V hosts to the domain. Stellen Sie sicher, dass der DNS-Server Eintrag für den Netzwerkadapter mit einer dem Verwaltungs Netzwerk zugewiesenen IP-Adresse auf einen DNS-Server verweist, der den Domänen Namen auflösen kann.Ensure the DNS server entry for the network adapter that has an IP address assigned to the Management network points to a DNS server that can resolve the domain name.

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

    a.a. Klicken Sie mit der rechten Maustaste auf Start, klicken Sie auf System und dann auf Einstellungen ändern.Right-click Start, click System, and then click Change Settings. b.b. Klicken Sie auf Ändern.Click Change. c.c. Klicken Sie auf Domäne , und geben Sie den Domänen NamenClick Domain and specify the domain name. "" "" "d"."""" d. Klicken Sie auf OK.Click OK. e.e. Geben Sie bei entsprechender Aufforderung den Benutzernamen und das Kennwort ein.Type the user name and password credentials when prompted. f.f. Starten Sie den Server neu.Restart the server.

ÜberprüfenValidation

Mithilfe der folgenden Schritte können Sie überprüfen, ob das Host Netzwerk ordnungsgemäß eingerichtet ist.Use the following steps to validate that host networking is setup correctly.

  1. Stellen Sie sicher, dass der virtuelle Computer erfolgreich erstellt wurde:Ensure the VM Switch was created successfully:

    Get-VMSwitch "<switch name>"
    
  2. Vergewissern Sie sich, dass die Verwaltungs-vNIC auf dem VM-Switch mit dem Verwaltungs-VLAN verbunden ist:Verify that the Management vNIC on the VM Switch is connected to the Management VLAN:

    Hinweis

    Nur relevant, wenn der Verwaltungs-und Mandanten Datenverkehr dieselbe NIC gemeinsam verwenden.Relevant only if Management and Tenant traffic share the same NIC.

    Get-VMNetworkAdapterIsolation -ManagementOS
    
  3. Überprüfen Sie alle Hyper-V-Hosts und externen Verwaltungsressourcen, z. b. DNS-Server.Validate all Hyper-V hosts and external management resources, for example, DNS servers.

    Stellen Sie sicher, dass Sie über Ping über ihre Verwaltungs-IP-Adresse und/oder den voll qualifizierten Domänen Namen (FQDN) zugänglich sind.Ensure they are accessible via ping using their Management IP address and/or fully qualified domain name (FQDN).

    ping <Hyper-V Host IP>
    ping <Hyper-V Host FQDN>
    
  4. Führen Sie den folgenden Befehl auf dem Bereitstellungs Host aus, und geben Sie den FQDN jedes Hyper-V-Hosts an, um sicherzustellen, dass die verwendeten Kerberos-Anmelde Informationen Zugriff auf alle Server bieten.Run the following command on the deployment host and specify the FQDN of each Hyper-V host to ensure the Kerberos credentials used provides access to all the servers.

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

Ausführen von Sdn Express-SkriptsRun SDN Express scripts

  1. Wechseln Sie zum Microsoft Sdn GitHub-Repository für die Installationsdateien.Go to the Microsoft SDN GitHub Repository for the installation files.

  2. Laden Sie die Installationsdateien aus dem Repository auf den angegebenen Bereitstellungs Computer herunter.Download the installation files from the repository to the designated deployment computer. Klicken Sie auf Klonen oder herunterladen und dann auf ZIP herunterladen.Click Clone or download and then click Download ZIP.

    Hinweis

    Auf dem Bereitstellungscomputer muss Windows Server 2016 oder höher ausgeführt werden.The designated deployment computer must be running Windows Server 2016 or later.

  3. Erweitern Sie die ZIP-Datei, und kopieren Sie den Ordner sdnexpress in den Ordner des Bereitstellungs Computers C:\ .Expand the zip file and copy the SDNExpress folder to the deployment computer's C:\ folder.

  4. Geben C:\SDNExpress Sie den Ordner mitder Berechtigung für den Lese-/Schreibzugriff für alle Benutzer frei.Share the C:\SDNExpress folder as "SDNExpress" with permission for Everyone to Read/Write.

  5. Navigieren Sie zum Ordner C:\SDNExpress.Navigate to the C:\SDNExpress folder.

    Die folgenden Ordner werden angezeigt:You see the following folders:

    OrdnernameFolder Name BeschreibungDescription
    AgentconfAgentConf Enthält neue Kopien von ovsdb-Schemas, die vom Sdn-Host-Agent auf jedem Windows Server 2016 Hyper-V-Host zum Programmieren der Netzwerk Richtlinie verwendet werden.Holds fresh copies of OVSDB schemas used by the SDN Host Agent on each Windows Server 2016 Hyper-V host to program network policy.
    ZertifikateCerts Temporärer frei gegebener Speicherort für die NC-Zertifikat Datei.Temporary shared location for the NC certificate file.
    BilderImages Leer, platzieren Sie Ihr Windows Server 2016 vhdx-Abbild hier.Empty, place your Windows Server 2016 vhdx image here
    ToolsTools Dienstprogramme für Problembehandlung und Debuggen.Utilities for troubleshooting and debugging. Auf die Hosts und virtuellen Maschinen kopiert.Copied to the hosts and virtual machines. Es wird empfohlen, dass Sie hier Netzwerkmonitor oder wireshark platzieren, damit es bei Bedarf verfügbar ist.We recommend you place Network Monitor or Wireshark here so it is available if needed.
    SkriptsScripts Bereitstellungs Skripts.Deployment scripts.

    - SDNExpress.ps1- SDNExpress.ps1
    Stellt das Fabric bereit und konfiguriert es, einschließlich der virtuellen Computer des Netzwerk Controllers, der virtuellen SLB MUX-Computer, der gatewaypools und der virtuellen HNV-Gateway-Computer, die den Pools entsprechen.Deploys and configures the fabric, including the Network controller virtual machines, SLB Mux virtual machines, gateway pool(s) and the HNV gateway virtual machine(s) corresponding to the pool(s) .
    - FabricConfig.psd1- FabricConfig.psd1
    Eine Konfigurationsdatei Vorlage für das sdnexpress-Skript.A configuration file template for the SDNExpress script. Dies wird für Ihre Umgebung angepasst.You will customize this for your environment.
    - SDNExpressTenant.ps1- SDNExpressTenant.ps1
    Stellt eine Beispiel-Mandanten Arbeitsauslastung in einem virtuellen Netzwerk mit einer VIP mit Lastenausgleich bereit.Deploys a sample tenant workload on a virtual network with a load balanced VIP.
    Außerdem wird von eine oder mehrere Netzwerkverbindungen (IPSec S2S VPN, GRE, L3) auf den Edge-Gateways des Dienstanbieters bereitgestellt, die mit der zuvor erstellten Mandanten Arbeitsauslastung verbunden sind.Also provisions one or more network connections (IPSec S2S VPN, GRE, L3) on the service provider edge gateways which are connected to the previously created tenant workload. Die IPSec-und GRE-Gateways sind für Konnektivität über die entsprechende VIP-IP-Adresse und das L3-Weiterleitungs Gateway über den entsprechenden Adresspool verfügbar.The IPSec and GRE gateways are available for connectivity over the corresponding VIP IP Address, and the L3 forwarding gateway over the corresponding address pool.
    Dieses Skript kann auch verwendet werden, um die entsprechende Konfiguration mit einer Option zum Rückgängigmachen zu löschen.This script can be used to delete the corresponding configuration with an Undo option as well.
    - TenantConfig.psd1- TenantConfig.psd1
    Eine Vorlagen Konfigurationsdatei für die Mandanten Arbeitsauslastung und die S2S-Gatewaykonfiguration.A template configuration file for tenant workload and S2S gateway configuration.
    - SDNExpressUndo.ps1- SDNExpressUndo.ps1
    Bereinigt die Fabric-Umgebung und setzt Sie auf den Startzustand zurück.Cleans up the fabric environment and resets it to a starting state.
    - SDNExpressEnterpriseExample.ps1- SDNExpressEnterpriseExample.ps1
    Stellt eine oder mehrere Unternehmens Standort Umgebungen mit einem Remote Zugriffs Gateway und (optional) einem entsprechenden virtuellen Unternehmens Computer pro Standort bereit.Provisions one or more enterprise site environments with one Remote Access Gateway and (optionally) one corresponding enterprise virtual machine per site. Die IPSec-oder GRE Enterprise-Gateways verbinden sich mit der entsprechenden VIP-IP-Adresse des Dienstanbieter Gateways, um die S2S-Tunnel einzurichten.The IPSec or GRE enterprise gateways connects to the corresponding VIP IP address of the service provider gateway to establish the S2S tunnels. Das L3-Weiterleitungs Gateway verbindet sich über die entsprechende Peer-IP-Adresse.The L3 Forwarding Gateway connects over the corresponding Peer IP Address.
    Dieses Skript kann auch verwendet werden, um die entsprechende Konfiguration mit einer Option zum Rückgängigmachen zu löschen.This script can be used to delete the corresponding configuration with an Undo option as well.
    - EnterpriseConfig.psd1- EnterpriseConfig.psd1
    Eine Vorlagen Konfigurationsdatei für das Standort-zu-Standort-Gateway für Unternehmen und die Konfiguration der Client-VM.A template configuration file for the Enterprise site-to-site gateway and Client VM configuration.

    TenantappsTenantApps Zum Bereitstellen von Beispiel-mandantenworkloads verwendete Dateien.Files used to deploy example tenant workloads.
  6. Vergewissern Sie sich, dass sich die vhdx-Datei von Windows Server 2016 im Ordner Images befindet.Verify the Windows Server 2016 VHDX file is in the Images folder.

  7. Passen Sie die SDNExpress\scripts\FabricConfig.psd1-Datei an, indem Sie die << ersetzen >> Tags durch bestimmte Werte an Ihre Lab-Infrastruktur anpassen, einschließlich Hostnamen, Domänen Namen, Benutzernamen und Kenn Wörter sowie Netzwerkinformationen für die Netzwerke, die im Thema Planning Network aufgeführt sind.Customize the SDNExpress\scripts\FabricConfig.psd1 file by changing the << Replace >> tags with specific values to fit your lab infrastructure including host names, domain names, usernames and passwords, and network information for the networks listed in the Planning Network topic.

  8. Erstellen Sie einen Host a-Datensatz in DNS für networkcontrollerrestname (vollständig) und networkcontrollerrestip.Create a Host A record in DNS for the NetworkControllerRestName (FQDN) and NetworkControllerRestIP.

  9. Führen Sie das Skript als Benutzer mit Anmelde Informationen des Domänen Administrators aus:Run the script as a user with domain administrator credentials:

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile FabricConfig.psd1 -Verbose
    
  10. Um alle Vorgänge rückgängig zu machen, führen Sie den folgenden Befehl aus:To undo all operations, run the following command:

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

ÜberprüfenValidation

Vorausgesetzt, dass das Sdn Express-Skript bis zum Abschluss ausgeführt wurde, ohne Fehler zu melden, können Sie den folgenden Schritt ausführen, um sicherzustellen, dass die fabricressourcen ordnungsgemäß bereitgestellt und für die Mandanten BereitstellungAssuming that the SDN Express script ran to completion without reporting any errors, you can perform the following step to ensure the fabric resources have been deployed correctly and are available for tenant deployment.

Verwenden Sie Diagnosetools , um sicherzustellen, dass keine Fehler in Fabric-Ressourcen im Netzwerk Controller vorhanden sind.Use Diagnostic Tools to ensure there are no errors on any fabric resources in the network controller.

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

Bereitstellen einer Beispiel-Mandanten Arbeitsauslastung mit dem Software Load BalancerDeploy a sample tenant workload with the software load balancer

Nachdem nun Fabric-Ressourcen bereitgestellt wurden, können Sie die End-to-End-Bereitstellung Ihrer Sdn-Bereitstellung überprüfenNow that fabric resources have been deployed, you can validate your SDN deployment end-to-end by deploying a sample tenant workload. Diese Mandanten Arbeitsauslastung besteht aus zwei virtuellen Subnetzen (webetier-und Datenbankebene), die über Access Control List-Regeln (ACL) mithilfe der verteilten Sdn-Firewall geschützt sind.This tenant workload consists of two virtual subnets (web tier and database tier) protected via Access Control List (ACL) rules using the SDN distributed firewall. Der Zugriff auf das virtuelle Subnetz der webeebene erfolgt über SLB/MUX mithilfe einer virtuellen IP-Adresse (VIP).The web tier's virtual subnet is accessible through the SLB/MUX using a Virtual IP (VIP) address. Das Skript stellt automatisch zwei virtuelle Computer der webeebene und einen virtuellen Computer der Datenbankebene bereit und verbindet diese mit den virtuellen Subnetzen.The script automatically deploys two web tier virtual machines and one database tier virtual machine and connects these to the virtual subnets.

  1. Passen Sie die Datei SDNExpress\scripts\TenantConfig.psd1 an, indem Sie die << ersetzen >> Tags durch bestimmte Werte (z. b. VHD-Abbild Name, Netzwerk Controller-Rest-Name, vswitchname usw.) ändern, wie zuvor in der FabricConfig.psd1-Datei definiert).Customize the SDNExpress\scripts\TenantConfig.psd1 file by changing the << Replace >> tags with specific values (for example: VHD image name, network controller REST name, vSwitch Name, etc. as previously defined in the FabricConfig.psd1 file)

  2. Führen Sie das Skript aus.Run the script. Beispiel:For example:

    SDNExpress\scripts\SDNExpressTenant.ps1 -ConfigurationDataFile TenantConfig.psd1 -Verbose
    
  3. Um die Konfiguration rückgängig zu machen, führen Sie das gleiche Skript mit dem Parameter Rückgängig aus.To undo the configuration, run the same script with the undo parameter. Beispiel:For example:

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

ÜberprüfenValidation

Gehen Sie folgendermaßen vor, um zu überprüfen, ob die Mandanten Bereitstellung erfolgreich war:To validate that the tenant deployment was successful, do the following:

  1. Melden Sie sich bei dem virtuellen Computer der Datenbankebene an, und versuchen Sie, die IP-Adresse eines der virtuellen Computer der webeebene zu pingen. (stellen Sie sicher, dass die Windows-Firewall auf virtuellen Computern derLog into the database tier virtual machine and try to ping the IP address of one of the web tier virtual machines (ensure Windows Firewall is turned off in web tier virtual machines).

  2. Überprüfen Sie die Netzwerk Controller-Mandanten Ressourcen auf Fehler.Check the network controller tenant resources for any errors. Führen Sie auf jedem Hyper-V-Host mit Layer-3-Konnektivität mit dem Netzwerk Controller Folgendes aus:Run the following from any Hyper-V host with Layer-3 connectivity to the network controller:

    Debug-NetworkControllerConfigurationState -NetworkController <FQDN of Network Controller REST Name>
    
  3. Um zu überprüfen, ob der Load Balancer ordnungsgemäß ausgeführt wird, führen Sie auf jedem Hyper-V-Host Folgendes aus:To verify that the load balancer is running correctly, run the following from any Hyper-V host:

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

    <VIP IP address>dabei ist die IP-Adresse der webeebene, die Sie in der Datei TenantConfig.psd1 konfiguriert haben.where <VIP IP address> is the web tier VIP IP address you configured in the TenantConfig.psd1 file.

    Tipp

    Suchen Sie VIPIP in TenantConfig.psd1 nach der Variablen.Search for the VIPIP variable in TenantConfig.psd1.

    Führen Sie dies mehrmals aus, um den Lasten Ausgleichs Schalter zwischen den verfügbaren Dips anzuzeigen.Run this multiple times to see the load balancer switch between the available DIPs. Dieses Verhalten können Sie auch mithilfe eines Webbrowsers beobachten.You can also observe this behavior using a web browser. Navigieren Sie zu <VIP IP address>/unique.htm.Browse to <VIP IP address>/unique.htm. Schließen Sie den Browser, und öffnen Sie eine neue Instanz, und suchen Sie dann erneut.Close the browser and open a new instance and browse again. Die blaue Seite und die grüne Seite werden angezeigt, es sei denn, der Browser speichert die Seite vor dem Timeout des Caches zwischen.You will see the blue page and the green page alternate, except when the browser caches the page before the cache times out.