Condividi tramite


Creare una macchina virtuale e connettersi a una rete virtuale del tenant o VLAN

È possibile utilizzare questo argomento per creare una macchina virtuale tenant e connetterla a una rete virtuale creata con la virtualizzazione rete Hyper-V o a una rete locale virtuale (VLAN). È possibile usare i cmdlet del controller di rete di Windows PowerShell per connettersi a una rete virtuale o a NetworkControllerRESTWrappers per connettersi a una VLAN.

Usare i processi descritti in questo argomento per distribuire appliance virtuali. Con alcuni passaggi aggiuntivi, è possibile configurare dispositivi per elaborare o analizzare i pacchetti di dati che passano a o da altre macchine virtuali nella rete virtuale.

Le sezioni di questo argomento includono esempi di comandi Windows PowerShell che contengono valori di esempio per molti parametri. Assicurarsi di sostituire i valori di esempio in questi comandi con i valori appropriati per la distribuzione prima di eseguire questi comandi.

Prerequisiti

  1. Schede di rete macchine virtuali create con indirizzi MAC statici per la durata della macchina virtuale.

    Se l'indirizzo MAC cambia nel corso della durata della macchina virtuale, Controller di rete non può configurare i criteri necessari per la scheda di rete. Se i criteri per la scheda di rete non sono configurati, la scheda di rete non può elaborare il traffico di rete e tutte le comunicazioni con la rete hanno esito negativo.

  2. Se la macchina virtuale richiede l'accesso alla rete all'avvio, è importante non avviarla dopo aver configurato l'ID interfaccia nella porta della scheda di rete della macchina virtuale. Se si avvia la macchina virtuale prima di impostare l'ID interfaccia e l'interfaccia di rete non esiste, la macchina virtuale non può comunicare in rete nel Controller di rete e in tutti i criteri applicati.

  3. Se sono necessari ACL personalizzato per l'interfaccia di rete, quindi creare l'ACL ora utilizzando le istruzioni nell'argomento elenchi di controllo di accesso utilizzare (ACL) per gestire Data Center rete traffico

Assicurarsi che una rete virtuale è già stato creato prima di utilizzare questo comando di esempio. Per ulteriori informazioni, vedere Create, Delete o Update reti virtuali dei Tenant.

Creare una macchina Virtuale e connettersi a una rete virtuale utilizzando i cmdlet di Controller di rete di Windows PowerShell

  1. Creare una macchina virtuale con una scheda di rete che dispone di un indirizzo MAC statico.

    New-VM -Generation 2 -Name "MyVM" -Path "C:\VMs\MyVM" -MemoryStartupBytes 4GB -VHDPath "C:\VMs\MyVM\Virtual Hard Disks\WindowsServer2016.vhdx" -SwitchName "SDNvSwitch"
    
    Set-VM -Name "MyVM" -ProcessorCount 4
    
    Set-VMNetworkAdapter -VMName "MyVM" -StaticMacAddress "00-11-22-33-44-55"
    
  2. Ottenere la rete virtuale che contiene la subnet a cui si desidera connettere la scheda di rete.

    $vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "Contoso_WebTier"
    
  3. Creare un oggetto di interfaccia di rete nel Controller di rete.

    Suggerimento

    In questo passaggio si usa l'elenco di controllo di accesso personalizzato.

    $vmnicproperties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceProperties
    $vmnicproperties.PrivateMacAddress = "001122334455"
    $vmnicproperties.PrivateMacAllocationMethod = "Static"
    $vmnicproperties.IsPrimary = $true
    
    $vmnicproperties.DnsSettings = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceDnsSettings
    $vmnicproperties.DnsSettings.DnsServers = @("24.30.1.11", "24.30.1.12")
    
    $ipconfiguration = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfiguration
    $ipconfiguration.resourceid = "MyVM_IP1"
    $ipconfiguration.properties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfigurationProperties
    $ipconfiguration.properties.PrivateIPAddress = "24.30.1.101"
    $ipconfiguration.properties.PrivateIPAllocationMethod = "Static"
    
    $ipconfiguration.properties.Subnet = New-Object Microsoft.Windows.NetworkController.Subnet
    $ipconfiguration.properties.subnet.ResourceRef = $vnet.Properties.Subnets[0].ResourceRef
    
    $vmnicproperties.IpConfigurations = @($ipconfiguration)
    New-NetworkControllerNetworkInterface –ResourceID "MyVM_Ethernet1" –Properties $vmnicproperties –ConnectionUri $uri
    
  4. Ottenere l'ID istanza per l'interfaccia di rete dal Controller di rete.

     $nic = Get-NetworkControllerNetworkInterface -ConnectionUri $uri -ResourceId "MyVM_Ethernet1"
    
  5. Impostare l'ID di interfaccia per la porta della scheda di rete della macchina virtuale Hyper-V.

    Nota

    È necessario eseguire questi comandi nell'host Hyper-V in cui è installata la macchina Virtuale.

    #Do not change the hardcoded IDs in this section, because they are fixed values and must not change.
    
    $FeatureId = "9940cd46-8b06-43bb-b9d5-93d50381fd56"
    
    $vmNics = Get-VMNetworkAdapter -VMName "MyVM"
    
    $CurrentFeature = Get-VMSwitchExtensionPortFeature -FeatureId $FeatureId -VMNetworkAdapter $vmNics
    
    if ($CurrentFeature -eq $null) {
        $Feature = Get-VMSystemSwitchExtensionPortFeature -FeatureId $FeatureId
    
        $Feature.SettingData.ProfileId = "{$($nic.InstanceId)}"
        $Feature.SettingData.NetCfgInstanceId = "{56785678-a0e5-4a26-bc9b-c0cba27311a3}"
        $Feature.SettingData.CdnLabelString = "TestCdn"
        $Feature.SettingData.CdnLabelId = 1111
        $Feature.SettingData.ProfileName = "Testprofile"
        $Feature.SettingData.VendorId = "{1FA41B39-B444-4E43-B35A-E1F7985FD548}"
        $Feature.SettingData.VendorName = "NetworkController"
        $Feature.SettingData.ProfileData = 1
    
        Add-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature  $Feature -VMNetworkAdapter $vmNics
    } else {
        $CurrentFeature.SettingData.ProfileId = "{$($nic.InstanceId)}"
        $CurrentFeature.SettingData.ProfileData = 1
    
        Set-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature $CurrentFeature  -VMNetworkAdapter $vmNics
    }
    
  6. Avviare la VM.

     Get-VM -Name "MyVM" | Start-VM
    

È stata creata una macchina virtuale, è stata connessa a una rete virtuale del tenant e avviata in modo che possa elaborare carichi di lavoro tenant.

Creare una macchina Virtuale e connettersi a una VLAN utilizzando NetworkControllerRESTWrappers

  1. Creare la macchina virtuale e assegnarle un indirizzo MAC statico.

    New-VM -Generation 2 -Name "MyVM" -Path "C:\VMs\MyVM" -MemoryStartupBytes 4GB -VHDPath "C:\VMs\MyVM\Virtual Hard Disks\WindowsServer2016.vhdx" -SwitchName "SDNvSwitch"
    
    Set-VM -Name "MyVM" -ProcessorCount 4
    
    Set-VMNetworkAdapter -VMName "MyVM" -StaticMacAddress "00-11-22-33-44-55"
    
  2. Impostare l'ID VLAN nella scheda di rete della macchina virtuale.

    Set-VMNetworkAdapterIsolation –VMName "MyVM" -AllowUntaggedTraffic $true -IsolationMode VLAN -DefaultIsolationId 123
    
  3. Ottenere la subnet di rete logica e creare l'interfaccia di rete.

     $logicalnet = Get-NetworkControllerLogicalNetwork -ConnectionUri $uri -ResourceId "00000000-2222-1111-9999-000000000002"
    
     $vmnicproperties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceProperties
     $vmnicproperties.PrivateMacAddress = "00-1D-C8-B7-01-02"
     $vmnicproperties.PrivateMacAllocationMethod = "Static"
     $vmnicproperties.IsPrimary = $true
    
     $vmnicproperties.DnsSettings = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceDnsSettings
     $vmnicproperties.DnsSettings.DnsServers = $logicalnet.Properties.Subnets[0].DNSServers
    
     $ipconfiguration = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfiguration
     $ipconfiguration.resourceid = "MyVM_Ip1"
     $ipconfiguration.properties = New-Object Microsoft.Windows.NetworkController.NetworkInterfaceIpConfigurationProperties
     $ipconfiguration.properties.PrivateIPAddress = "10.127.132.177"
     $ipconfiguration.properties.PrivateIPAllocationMethod = "Static"
    
     $ipconfiguration.properties.Subnet = New-Object Microsoft.Windows.NetworkController.Subnet
     $ipconfiguration.properties.subnet.ResourceRef = $logicalnet.Properties.Subnets[0].ResourceRef
    
     $vmnicproperties.IpConfigurations = @($ipconfiguration)
     $vnic = New-NetworkControllerNetworkInterface –ResourceID "MyVM_Ethernet1" –Properties $vmnicproperties –ConnectionUri $uri
    
     $vnic.InstanceId
    
  4. Impostare l'ID istanza per la porta Hyper-V.

    #The hardcoded Ids in this section are fixed values and must not change.
    $FeatureId = "9940cd46-8b06-43bb-b9d5-93d50381fd56"
    
    $vmNics = Get-VMNetworkAdapter -VMName "MyVM"
    
    $CurrentFeature = Get-VMSwitchExtensionPortFeature -FeatureId $FeatureId -VMNetworkAdapter $vmNics
    
    if ($CurrentFeature -eq $null) {
        $Feature = Get-VMSystemSwitchExtensionFeature -FeatureId $FeatureId
    
        $Feature.SettingData.ProfileId = "{$InstanceId}"
        $Feature.SettingData.NetCfgInstanceId = "{56785678-a0e5-4a26-bc9b-c0cba27311a3}"
        $Feature.SettingData.CdnLabelString = "TestCdn"
        $Feature.SettingData.CdnLabelId = 1111
        $Feature.SettingData.ProfileName = "Testprofile"
        $Feature.SettingData.VendorId = "{1FA41B39-B444-4E43-B35A-E1F7985FD548}"
        $Feature.SettingData.VendorName = "NetworkController"
        $Feature.SettingData.ProfileData = 1
    
        Add-VMSwitchExtensionFeature -VMSwitchExtensionFeature  $Feature -VMNetworkAdapter $vmNics
    } else {
        $CurrentFeature.SettingData.ProfileId = "{$InstanceId}"
        $CurrentFeature.SettingData.ProfileData = 1
    
        Set-VMSwitchExtensionPortFeature -VMSwitchExtensionFeature $CurrentFeature  -VMNetworkAdapter $vmNics
    }
    
  5. Avviare la VM.

    Get-VM -Name "MyVM" | Start-VM
    

È stata creata una macchina virtuale, è stata connessa a una VLAN e avviata in modo che possa elaborare carichi di lavoro tenant.