本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

配置 Vlan RRAS MTGW HYPER-V 主机

 

本主题可用于使用虚拟网络设置和将远程访问多租户网关的虚拟机 (VM) 中配置 HYPER-V 主机。

System_CAPS_important重要事项

在运行本主题中提供的脚本之前,必须在主机计算机上安装 HYPER-V。 若要安装 HYPER-V 并重新启动计算机,使用管理员特权打开 Windows PowerShell 并运行以下命令。

## Install Hyper-V ## get-windowsfeature *hyper* | install-windowsfeature ## Restart the computer immediately ## shutdown /r /t 0

本主题包含以下部分。

在名为"宏用于支持多租户 (MT) 云网关 (GW),"的脚本的第一节中的宏用于定义在该脚本中的 Windows PowerShell 命令中使用的变量。 例如,下面的宏定义 VM MTCloudGW 的名称:

$CloudGW_VM_Name = "MTCloudGW"

脚本命令不使用"MTCloudGW"的实际 VM 名称 ;而使用宏名称,"$CloudGW_VM_Name。" 如果需要,这允许您更改宏一次的值而不是在整个脚本整个不断变化的实际值。

确保以便它们适合于您的部署查看所有宏本部分中的值。

该脚本,"创建虚拟交换机、 虚拟机和路由的域映射"的第二个部分中创建一个新的虚拟交换机时,并创建具有 4 GB RAM MT GW VM 并将其连接到虚拟交换机。 此外,定义为 Contoso 和 Fabrikam 租户的路由域映射。

名为"清理云 VM 主机"的脚本的第三个部分中将从 HYPER-V 主机,包括网络虚拟化查找记录、 网络虚拟化客户路由,以及网络虚拟化提供程序地址删除任何现有的网络虚拟化设置。 清理将验证通过使用 Get 命令。

名为"配置 MTCloudGW HYPER-V 主机,"的脚本的第四个部分中为这两个租户创建网络虚拟化查找记录、 网络虚拟化客户路由和网络虚拟化提供程序地址。

下面是您可以运行的完整脚本以将主机配置为使用网络虚拟化和两个 VM 网络与每个 VM 网络的两个虚拟机的 HYPER-V 主机上。

若要在 HYPER-V 主机上运行此脚本

  1. 将示例公司名称、 Contoso 和 Fabrikam 更改为您实际的租户的名称。

  2. 更改其他参数值以匹配您的部署要求和环境。

  3. 确保该宏的值$CloudNIC与 HYPER-V 主机上的网络适配器的名称匹配。 如果没有,当运行此脚本将失败创建虚拟交换机和虚拟机。 如果您想要将现有的网络适配器的名称更改为新名称 CloudNic 以匹配该脚本,您可以添加与您的网络适配器配置相匹配的值后运行以下 Windows PowerShell 命令。

    Rename-NetAdapter [-Name] <String[]> [-NewName] CloudNic
    
  4. 确定提供程序地址、 客户地址、 虚拟子网 ID 和您喜欢使用其他值。 可以在脚本中保留的数值或您可以更改它们以满足您的部署。

  5. 如果更改此脚本或其他本文档中提供的脚本中的任何值,请确保在所有的脚本中更改了这些值。 例如,如果您想要将 Contoso 的租户名称更改为名称 Woodgrove (或其中一个实际的租户的名称),确保更改 Contoso 为 Woodgrove 中的所有脚本在运行它们之前。

  6. 将下面的 Windows PowerShell 脚本复制到多租户网关 HYPER-V 主机。

  7. 在 HYPER-V 主机上具有管理员权限打开 Windows PowerShell。 通过键入脚本的文件夹位置和文件名称运行该脚本。 例如,如果该脚本的文件名是 MTGWHostConfig.ps1 文件夹位置是 C:\Users\Administrator\Documents,键入C:\Users\Administrator\Documents\MTGWHostConfig.ps1,然后按 enter 键。

##### Macros for Multitenant (MT) Cloud Gateway (GW) Hyper-V Host Configuration ##### $CloudGW_VM_Name = "MTCloudGW" $VHDPath = "C:\VMs\MTCloudGW\MTCloudGW.vhd" $SwitchName = "CloudSwitch" $CloudNIC = "CloudNic" $Cloud_GW_ProviderAddress = "192.168.0.11" $Cloud_VM_ProviderAddress = "192.168.0.22" $Contoso_CloudGW_IP = "10.0.2.2" $Fabrikam_CloudGW_IP = "10.0.2.2" $Contoso_CloudGW_DefaultGW = "10.0.2.1" $Fabrikam_CloudGW_DefaultGW = "10.0.2.1" $Contoso_CloudGW_Subnet = "10.0.2.0/24" $Fabrikam_CloudGW_Subnet = "10.0.2.0/24" $Contoso_CloudVM_IP = "10.0.1.101" $Contoso_CloudVM2_IP = "10.0.1.111" $Fabrikam_CloudVM_IP = "10.0.1.101" $Fabrikam_CloudVM2_IP = "10.0.1.111" $Contoso_CloudVM_DefaultGW = "10.0.1.1" $Fabrikam_CloudVM_DefaultGW = "10.0.1.1" $Contoso_CloudVM_Subnet = "10.0.1.0/24" $Fabrikam_CloudVM_Subnet = "10.0.1.0/24" $ContosoVMNicMac = "00155DE2AB00" $ContosoVM2NicMac = "00155DE2AB01" $ContosoDefaultNicMac = "001122334455" $ContosoRoutinGDomainGuid = "{12345678-1000-2000-3000-123456780001}" $ContosoVSID_GW = "3001" $ContosoVSID_VM = "3000" $FabrikamVMNicMac = "00155DE2AB02" $FabrikamVM2NicMac = "00155DE2AB03" $FabrikamDefaultNicMac = "001122334466" $FabrikamRoutinGDomainGuid = "{12345678-1000-2000-3000-123456780002}" $FabrikamVSID_GW = "4001" $FabrikamVSID_VM = "4000" ##### Create virtual switch, VM, and routing domain mappings ##### New-VMSwitch $SwitchName -NetAdapterName $CloudNIC -AllowManagementOS $false New-VM $CloudGW_VM_Name -MemoryStartupBytes 4GB -VHDPath $VHDPath -SwitchName $SwitchName Rename-VMNetworkAdapter -VMName $CloudGW_VM_Name -Name "Network Adapter" -NewName "CloudNic" Set-VmNetworkAdapterIsolation –VMName $CloudGW_VM_Name –VMNetworkAdapterName “CloudNic” –MultiTenantStack on –IsolationMode VLAN Add-VmNetworkAdapterRoutingDomainMapping -VMName $CloudGW_VM_Name -VMNetworkAdapterName "CloudNic" -RoutingDomainId $ContosoRoutinGDomainGuid  -RoutingDomainName "ContosoTenant" -IsolationId $ContosoVSID_GW -IsolationName "ContosoGWSubnet" Add-VmNetworkAdapterRoutingDomainMapping -VMName $CloudGW_VM_Name -VMNetworkAdapterName "CloudNic" -RoutingDomainId $FabrikamRoutinGDomainGuid  -RoutingDomainName "FabrikamTenant" -IsolationId $FabrikamVSID_GW -IsolationName "FabrikamGWSubnet" ##### Cleanup MTCloudGW Hyper-V Host ##### Remove-NetVirtualizationCustomerRoute Remove-NetVirtualizationLookupRecord Remove-NetVirtualizationProviderAddress Get-NetVirtualizationCustomerRoute Get-NetVirtualizationLookupRecord Get-NetVirtualizationProviderAddress ##### Configure MTCloudGW Hyper-V Host ##### #### Provider Address Configuration #### $MTNic = Get-NetAdapter $CloudNIC New-NetVirtualizationProviderAddress -ProviderAddress $Cloud_GW_ProviderAddress -InterfaceIndex $MTNic.InterfaceIndex -PrefixLength 24 #### Lookup and Customer Records Configuration #### $MTVMNic = Get-VMNetworkAdapter -VMName "MTCloudGW" -Name "CloudNic" $MTNicMac = $MTVMNic.MacAddress ## Contoso Tenant lookup record configuration ## New-NetVirtualizationLookupRecord -CustomerAddress $Contoso_CloudGW_IP -VirtualSubnetID $ContosoVSID_GW -MACAddress $MTNicMac -ProviderAddress $Cloud_GW_ProviderAddress -Rule "TranslationMethodEncap" -Context "ContosoSubnet" New-NetVirtualizationLookupRecord -CustomerAddress $Contoso_CloudGW_DefaultGW -VirtualSubnetID $ContosoVSID_GW -MACAddress $ContosoDefaultNicMac -ProviderAddress $Cloud_GW_ProviderAddress -Rule "TranslationMethodEncap" -Context "ContosoDefaultGW" New-NetVirtualizationLookupRecord -CustomerAddress 0.0.0.0 -VirtualSubnetID $ContosoVSID_GW -MACAddress $MTNicMac -ProviderAddress $Cloud_GW_ProviderAddress -Rule "TranslationMethodEncap" -Context "ContosoWildcard" -Type "GatewayWildcard" New-NetVirtualizationLookupRecord -CustomerAddress $Contoso_CloudVM_IP -VirtualSubnetID $ContosoVSID_VM -MACAddress $ContosoVMNicMac -ProviderAddress $Cloud_VM_ProviderAddress -Rule "TranslationMethodEncap" -Context "ContosoVM1" New-NetVirtualizationLookupRecord -CustomerAddress $Contoso_CloudVM2_IP -VirtualSubnetID $ContosoVSID_VM -MACAddress $ContosoVM2NicMac -ProviderAddress $Cloud_VM_ProviderAddress -Rule "TranslationMethodEncap" -Context "ContosoVM2" New-NetVirtualizationCustomerRoute -RoutingDomainID $ContosoRoutinGDomainGuid -VirtualSubnetID $ContosoVSID_GW -DestinationPrefix $Contoso_CloudGW_Subnet -NextHop 0.0.0.0 New-NetVirtualizationCustomerRoute -RoutingDomainID $ContosoRoutinGDomainGuid -VirtualSubnetID $ContosoVSID_VM -DestinationPrefix $Contoso_CloudVM_Subnet -NextHop 0.0.0.0 ## Fabrikam Tenant lookup record configuration ## New-NetVirtualizationLookupRecord -CustomerAddress $Fabrikam_CloudGW_IP -VirtualSubnetID $FabrikamVSID_GW -MACAddress $MTNicMac -ProviderAddress $Cloud_GW_ProviderAddress -Rule "TranslationMethodEncap" -Context "FabrikamSubnet" New-NetVirtualizationLookupRecord -CustomerAddress $Fabrikam_CloudGW_DefaultGW -VirtualSubnetID $FabrikamVSID_GW -MACAddress $FabrikamDefaultNicMac -ProviderAddress $Cloud_GW_ProviderAddress -Rule "TranslationMethodEncap" -Context "FabrikamDefaultGW" New-NetVirtualizationLookupRecord -CustomerAddress 0.0.0.0 -VirtualSubnetID $FabrikamVSID_GW -MACAddress $MTNicMac -ProviderAddress $Cloud_GW_ProviderAddress -Rule "TranslationMethodEncap" -Context "FabrikamWildcard" -Type "GatewayWildcard" New-NetVirtualizationLookupRecord -CustomerAddress $Fabrikam_CloudVM_IP -VirtualSubnetID $FabrikamVSID_VM -MACAddress $FabrikamVMNicMac -ProviderAddress $Cloud_VM_ProviderAddress -Rule "TranslationMethodEncap" -Context "FabrikamVM1" New-NetVirtualizationLookupRecord -CustomerAddress $Fabrikam_CloudVM2_IP -VirtualSubnetID $FabrikamVSID_VM -MACAddress $FabrikamVM2NicMac -ProviderAddress $Cloud_VM_ProviderAddress -Rule "TranslationMethodEncap" -Context "FabrikamVM2" New-NetVirtualizationCustomerRoute -RoutingDomainID $FabrikamRoutinGDomainGuid -VirtualSubnetID $FabrikamVSID_GW -DestinationPrefix $Fabrikam_CloudGW_Subnet -NextHop 0.0.0.0 New-NetVirtualizationCustomerRoute -RoutingDomainID $FabrikamRoutinGDomainGuid -VirtualSubnetID $FabrikamVSID_VM -DestinationPrefix $Fabrikam_CloudVM_Subnet -NextHop 0.0.0.0

本主题中的脚本使用以下 Windows PowerShell 命令。 单击链接以打开该命令的帮助主题。

显示: