Verwenden virtueller Netzwerkgeräte in einem virtuellen NetzwerkUse network virtual appliances on a virtual network

Gilt für: Windows Server (halbjährlicher Kanal), Windows Server 2016Applies to: Windows Server (Semi-Annual Channel), Windows Server 2016

In diesem Thema erfahren Sie, wie Sie virtuelle Netzwerkgeräte in virtuellen Mandanten Netzwerken bereitstellen.In this topic, you learn how to deploy network virtual appliances on tenant virtual networks. Sie können virtuelle Netzwerkgeräte zu Netzwerken hinzufügen, die benutzerdefinierte Routing-und Port Spiegelungs Funktionen ausführen.You can add network virtual appliances to networks that perform user-defined routing and port mirroring functions.

Typen von virtuellen NetzwerkgerätenTypes of network virtual appliances

Sie können einen der beiden Typen von virtuellen Geräten verwenden:You can use one of the two types of virtual appliances:

  1. Benutzerdefiniertes Routing : ersetzt verteilte Router im virtuellen Netzwerk durch die Routing Funktionen des virtuellen Geräts.User defined routing - replaces distributed routers on the virtual network with the routing capabilities of the virtual appliance. Beim benutzerdefinierten Routing wird das virtuelle Gerät als Router zwischen den virtuellen Subnetzen im virtuellen Netzwerk verwendet.With user-defined routing, the virtual appliance gets used as a router between the virtual subnets on the virtual network.

  2. Port Spiegelung -der gesamte Netzwerk Datenverkehr, der den überwachten Port eingibt oder verlässt, wird dupliziert und zur Analyse an ein virtuelles Gerät gesendet.Port mirroring - all network traffic that is entering or leaving the monitored port is duplicated and sent to a virtual appliance for analysis.

Bereitstellen eines virtuellen NetzwerkgerätsDeploying a network virtual appliance

Zum Bereitstellen eines virtuellen Netzwerkgeräts müssen Sie zunächst einen virtuellen Computer erstellen, der das Gerät enthält, und dann die VM mit den entsprechenden Subnetzen des virtuellen Netzwerks verbinden.To deploy a network virtual appliance, you must first create a VM that contains the appliance, and then connect the VM to the appropriate virtual network subnets. Weitere Informationen finden Sie unter Erstellen eines virtuellen Mandanten Computers und Herstellen einer Verbindung mit einem Mandanten Virtual Network oder VLAN.For more details, see Create a Tenant VM and Connect to a Tenant Virtual Network or VLAN.

Für einige Geräte sind mehrere virtuelle Netzwerkadapter erforderlich.Some appliances require multiple virtual network adapters. Normalerweise ist dies ein Netzwerkadapter, der für die Geräteverwaltung reserviert ist, während zusätzliche Adapter Datenverkehr verarbeiten.Usually, one network adapter dedicated to the appliance management while additional adapters process traffic. Wenn für Ihr Gerät mehrere Netzwerkadapter erforderlich sind, müssen Sie jede Netzwerkschnittstelle im Netzwerk Controller erstellen.If your appliance requires multiple network adapters, you must create each network interface in Network Controller. Außerdem müssen Sie auf jedem Host eine Schnittstellen-ID für jeden der zusätzlichen Adapter zuweisen, die sich in verschiedenen virtuellen Subnetzen befinden.You must also assign an interface ID on each host for each of the additional adapters that are on different virtual subnets.

Nachdem Sie das virtuelle Netzwerkgerät bereitgestellt haben, können Sie das Gerät für das definierte Routing, das Portieren von Spiegelung oder beides verwenden.Once you've deployed the network virtual appliance, you can use the appliance for defined routing, porting mirroring, or both.

Beispiel: Benutzerdefiniertes RoutingExample: User-defined routing

In den meisten Umgebungen benötigen Sie nur die System Routen, die bereits vom verteilten Router des virtuellen Netzwerks definiert wurden.For most environments, you only need the system routes already defined by the virtual network's distributed router. Möglicherweise müssen Sie jedoch eine Routing Tabelle erstellen und eine oder mehrere Routen in bestimmten Fällen hinzufügen, z. b.:However, you might need to create a routing table and add one or more routes in specific cases, such as:

  • Erzwingen Sie Tunnelung zum Internet über das lokale Netzwerk.Force tunneling to the Internet via your on-premises network.
  • Verwendung von virtuellen Geräten in Ihrer Umgebung.Use of virtual appliances in your environment.

In diesen Szenarien müssen Sie eine Routing Tabelle erstellen und der Tabelle benutzerdefinierte Routen hinzufügen.For these scenarios, you must create a routing table and add user-defined routes to the table. Sie können über mehrere Routing Tabellen verfügen, und Sie können dieselbe Routing Tabelle einem oder mehreren Subnetzen zuordnen.You can have multiple routing tables, and you can associate the same routing table to one or more subnets. Sie können jedes Subnetz nur einer Routing Tabelle zuordnen.You can only associate each subnet to a single routing table. Alle VMs in einem Subnetz verwenden die Routing Tabelle, die dem Subnetz zugeordnet ist.All VMs in a subnet use the routing table associated to the subnet.

Subnetze basieren auf System Routen, bis eine Routing Tabelle dem Subnetz zugeordnet wird.Subnets rely on system routes until a routing table gets associated to the subnet. Nachdem eine Zuordnung vorhanden ist, erfolgt das Routing basierend auf der längsten Präfix Übereinstimmung (LPM) zwischen benutzerdefinierten Routen und System Routen.After an association exists, routing is done based on Longest Prefix Match (LPM) among both user-defined routes and system routes. Wenn mehrere Routen mit derselben LPM-Übereinstimmung vorhanden sind, wird die benutzerdefinierte Route zuerst vor der System Route ausgewählt.If there is more than one route with the same LPM match, then the user defined route is selected first - before the system route.

DringlichkeitProcedure:

  1. Erstellen Sie die Eigenschaften der Routing Tabelle, die alle benutzerdefinierten Routen enthält.Create the route table properties, which contains all of the user defined routes.

    System Routen gelten weiterhin gemäß den oben definierten Regeln.System routes still apply according to the rules defined above.

     $routetableproperties = new-object Microsoft.Windows.NetworkController.RouteTableProperties
    
  2. Fügen Sie den Routing Tabellen Eigenschaften eine Route hinzu.Add a route to the routing table properties.

    Jede Route, die für das 12.0.0.0/8-Subnetz bestimmt ist, wird unter 192.168.1.10 an das virtuelle Gerät weitergeleitet.Any route destined for 12.0.0.0/8 subnet gets routed to the virtual appliance at 192.168.1.10. Die Appliance muss über einen virtuellen Netzwerkadapter verfügen, der mit dem virtuellen Netzwerk verbunden ist, wobei diese IP-Adresse einer Netzwerkschnittstelle zugewiesen ist.The appliance must have a virtual network adapter attached to the virtual network with that IP assigned to a network interface.

     $route = new-object Microsoft.Windows.NetworkController.Route
     $route.ResourceID = "0_0_0_0_0"
     $route.properties = new-object Microsoft.Windows.NetworkController.RouteProperties
     $route.properties.AddressPrefix = "0.0.0.0/0"
     $route.properties.nextHopType = "VirtualAppliance"
     $route.properties.nextHopIpAddress = "192.168.1.10"
     $routetableproperties.routes += $route
    

    Tipp

    Wenn Sie weitere Routen hinzufügen möchten, wiederholen Sie diesen Schritt für jede Route, die Sie definieren möchten.If you want to add more routes, repeat this step for each route you want to define.

  3. Fügen Sie die Routing Tabelle dem Netzwerk Controller hinzu.Add the routing table to Network Controller.

     $routetable = New-NetworkControllerRouteTable -ConnectionUri $uri -ResourceId "Route1" -Properties $routetableproperties
    
  4. Wenden Sie die Routing Tabelle auf das virtuelle Subnetz an.Apply the routing table to the virtual subnet.

    Wenn Sie die Routing Tabelle auf das virtuelle Subnetz anwenden, verwendet das erste virtuelle Subnetz im Netzwerk Tenant1_Vnet1 die Routing Tabelle.When you apply the route table to the virtual subnet, the first virtual subnet in the Tenant1_Vnet1 network uses the route table. Sie können die Routentabelle beliebig viele Subnetze im virtuellen Netzwerk zuweisen.You can assign the route table to as many of the subnets in the virtual network as you want.

     $vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "Tenant1_VNet1"
     $vnet.properties.subnets[0].properties.RouteTable = $routetable
     new-networkcontrollervirtualnetwork -connectionuri $uri -properties $vnet.properties -resourceId $vnet.resourceid
    

Sobald Sie die Routing Tabelle auf das virtuelle Netzwerk anwenden, wird der Datenverkehr an das virtuelle Gerät weitergeleitet.As soon as you apply the routing table to the virtual network, traffic gets forwarded to the virtual appliance. Sie müssen die Routing Tabelle auf dem virtuellen Gerät so konfigurieren, dass der Datenverkehr auf eine Weise weitergeleitet wird, die für Ihre Umgebung geeignet ist.You must configure the routing table in the virtual appliance to forward the traffic, in a manner that is appropriate for your environment.

Beispiel: Port SpiegelungExample: Port mirroring

In diesem Beispiel konfigurieren Sie den Datenverkehr für MyVM_Ethernet1, um Appliance_Ethernet1 zu spiegeln.In this example, you configure the traffic for MyVM_Ethernet1 to mirror Appliance_Ethernet1. Wir gehen davon aus, dass Sie zwei VMS bereitgestellt haben, eine als Appliance und die andere als die VM, die mit Spiegelung überwacht werden soll.We assume that you've deployed two VMs, one as the appliance and the other as the VM to monitor with mirroring.

Die Appliance muss über eine zweite Netzwerkschnittstelle für die Verwaltung verfügen.The appliance must have a second network interface for management. Nachdem Sie die Spiegelung als Ziel auf Appliciance_Ethernet1 aktiviert haben, empfängt Sie keinen Datenverkehr mehr, der für die hier konfigurierte IP-Schnittstelle bestimmt ist.After you enable mirroring as a destination on Appliciance_Ethernet1, it no longer receives traffic destined for the IP interface configured there.

DringlichkeitProcedure:

  1. Holen Sie sich das virtuelle Netzwerk, in dem sich ihre VMs befinden.Get the virtual network on which your VMs are located.

    $vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "Tenant1_VNet1"
    
  2. Beziehen Sie die Netzwerkschnittstellen des Netzwerk Controllers für die Spiegelungs Quelle und das Ziel.Get the Network Controller network interfaces for the mirroring source and destination.

    $dstNic = get-networkcontrollernetworkinterface -ConnectionUri $uri -ResourceId "Appliance_Ethernet1"
    $srcNic = get-networkcontrollernetworkinterface -ConnectionUri $uri -ResourceId "MyVM_Ethernet1"
    
  3. Erstellen Sie ein serviceinsertionproperties-Objekt, das die Port Spiegelungs Regeln und das-Element enthält, das die Ziel Schnittstelle darstellt.Create a serviceinsertionproperties object to contain the port mirroring rules and the element which represents the destination interface.

    $portmirror = [Microsoft.Windows.NetworkController.ServiceInsertionProperties]::new()
    $portMirror.Priority = 1
    
  4. Erstellen Sie ein serviceinsertionrules-Objekt, das die Regeln enthält, die abgeglichen werden müssen, damit der Datenverkehr an das Gerät gesendet wird.Create a serviceinsertionrules object to contain the rules that must be matched in order for the traffic to be sent to the appliance.

    Die unten definierten Regeln entsprechen dem gesamten eingehenden und ausgehenden Datenverkehr, der einen herkömmlichen Spiegel darstellt.The rules defined below match all traffic, both inbound and outbound, which represents a traditional mirror. Sie können diese Regeln anpassen, wenn Sie an der Spiegelung eines bestimmten Ports oder bestimmter Quellen/Ziele interessiert sind.You can adjust these rules if you are interested in mirroring a specific port, or specific source/destinations.

    $portmirror.ServiceInsertionRules = [Microsoft.Windows.NetworkController.ServiceInsertionRule[]]::new(1)
    
    $portmirror.ServiceInsertionRules[0] = [Microsoft.Windows.NetworkController.ServiceInsertionRule]::new()
    $portmirror.ServiceInsertionRules[0].ResourceId = "Rule1"
    $portmirror.ServiceInsertionRules[0].Properties = [Microsoft.Windows.NetworkController.ServiceInsertionRuleProperties]::new()
    
    $portmirror.ServiceInsertionRules[0].Properties.Description = "Port Mirror Rule"
    $portmirror.ServiceInsertionRules[0].Properties.Protocol = "All"
    $portmirror.ServiceInsertionRules[0].Properties.SourcePortRangeStart = "0"
    $portmirror.ServiceInsertionRules[0].Properties.SourcePortRangeEnd = "65535"
    $portmirror.ServiceInsertionRules[0].Properties.DestinationPortRangeStart = "0"
    $portmirror.ServiceInsertionRules[0].Properties.DestinationPortRangeEnd = "65535"
    $portmirror.ServiceInsertionRules[0].Properties.SourceSubnets = "*"
    $portmirror.ServiceInsertionRules[0].Properties.DestinationSubnets = "*"
    
  5. Erstellen Sie ein serviceinsertionelements-Objekt, das die Netzwerkschnittstelle des gespiegelten Geräts enthält.Create a serviceinsertionelements object to contain the network interface of the mirrored appliance.

    $portmirror.ServiceInsertionElements = [Microsoft.Windows.NetworkController.ServiceInsertionElement[]]::new(1)
    
    $portmirror.ServiceInsertionElements[0] = [Microsoft.Windows.NetworkController.ServiceInsertionElement]::new()
    $portmirror.ServiceInsertionElements[0].ResourceId = "Element1"
    $portmirror.ServiceInsertionElements[0].Properties = [Microsoft.Windows.NetworkController.ServiceInsertionElementProperties]::new()
    
    $portmirror.ServiceInsertionElements[0].Properties.Description = "Port Mirror Element"
    $portmirror.ServiceInsertionElements[0].Properties.NetworkInterface = $dstNic
    $portmirror.ServiceInsertionElements[0].Properties.Order = 1
    
  6. Fügen Sie das Dienst Einfügungs Objekt im Netzwerk Controller hinzu.Add the service insertion object in Network Controller.

    Wenn Sie diesen Befehl ausgeben, wird der gesamte Datenverkehr an die Geräte Netzwerkschnittstelle, die im vorherigen Schritt angegeben ist, beendet.When you issue this command, all traffic to the appliance network interface specified in the previous step stops.

    $portMirror = New-NetworkControllerServiceInsertion -ConnectionUri $uri -Properties $portmirror -ResourceId "MirrorAll"
    
  7. Aktualisieren Sie die Netzwerkschnittstelle der Quelle, die gespiegelt werden soll.Update the network interface of the source to be mirrored.

    $srcNic.Properties.IpConfigurations[0].Properties.ServiceInsertion = $portMirror
    $srcNic = New-NetworkControllerNetworkInterface -ConnectionUri $uri  -Properties $srcNic.Properties -ResourceId $srcNic.ResourceId
    

Nachdem Sie diese Schritte ausgeführt haben, spiegelt die Appliance_Ethernet1-Schnittstelle den Datenverkehr von der MyVM_Ethernet1-Schnittstelle.After completing these steps, the Appliance_Ethernet1 interface mirrors the traffic from the MyVM_Ethernet1 interface.