这篇文章已经过机器翻译.放弃
使用 PowerShell 命令为 Citrix ADC VPX 独立实例配置多个 IP 地址
在 Azure 环境中,可以为 Citrix ADC VPX 虚拟设备部署多个 NIC。 每个 NIC 都可以有多个 IP 地址。 本部分内容介绍了如何使用 PowerShell 命令为 Citrix ADC VPX 实例部署一个 NIC 和多个 IP 地址。 您可以将同一脚本用于多 NIC 和多 IP 部署。
注意:
在本文档中,IP-Config 是指与单个 NIC 关联的一对 IP 地址,即公共 IP 和私有 IP。 有关更多信息,请参阅 Azure 术语 部分。
用例
在此用例中,一个 NIC 连接到虚拟网络 (VNET)。 该 NIC 与三个 IP 配置相关联,如下表中所示。
IP配置 | 与…相关 |
---|---|
IPConfig-1 | 静态公用 IP 地址;静态专用 IP 地址 |
IPConfig-2 | 静态公用 IP 地址;静态专用地址 |
IPConfig-3 | 静态私有 IP 地址 |
注意:
IPConfig-3 不与任何公共 IP 地址关联。
示意图:拓扑
以下是用例的直观表示。
注意:
在多 NIC、多 IP Azure Citrix ADC VPX 部署中,与主(第一个)NIC 的主(第一个)IPConfig 关联的私有 IP 地址会自动添加为设备的管理 NSIP 地址。 必须根据您的要求,使用“add ns ip”命令将与 IPConfigs 关联的其余私有 IP 地址作为 VIP 或 SNIP 添加到 VPX 实例中。
下面总结了为处于独立模式的 Citrix ADC VPX 虚拟设备配置多个 IP 地址所需的步骤:
- 创建资源组
- 创建存储帐户
- 创建可用性集
- 创建 NSG
- 创建虚拟网络
- 创建公用 IP 地址
- 分配 IP 配置
- 创建 NIC
- 创建 Citrix ADC VPX 实例
- 检查 NIC 配置
- 检查 VPX 端配置
脚本
参数
下面是本文档中用例的示例参数设置。
$locName="westcentralus"
$rgName="Azure-MultiIP"
$nicName1="VM1-NIC1"
$vNetName="Azure-MultiIP-vnet"
$vNetAddressRange="11.6.0.0/16"
$frontEndSubnetName="frontEndSubnet"
$frontEndSubnetRange="11.6.1.0/24"
$prmStorageAccountName="multiipstorage"
$avSetName="multiip-avSet"
$vmSize="Standard\_DS4\_V2" (This parameter creates a VM with upto four NICs.)
注意:
VPX 实例的最低要求是 2 个 vCPU 和 2GB RAM。
$publisher="citrix"
$offer="netscalervpx110-6531" (You can use different offers.)
$sku="netscalerbyol" (According to your offer, the SKU can be different.)
$version="latest"
$pubIPName1="PIP1"
$pubIPName2="PIP2"
$domName1="multiipvpx1"
$domName2="multiipvpx2"
$vmNamePrefix="VPXMultiIP"
$osDiskSuffix="osmultiipalbdiskdb1"
**Network Security Group (NSG)-related information**:
$nsgName="NSG-MultiIP"
$rule1Name="Inbound-HTTP"
$rule2Name="Inbound-HTTPS"
$rule3Name="Inbound-SSH"
$IpConfigName1="IPConfig1"
$IPConfigName2="IPConfig-2"
$IPConfigName3="IPConfig-3"
1. 创建资源组
New-AzureRmResourceGroup -Name $rgName -Location $locName
2. 创建存储帐户
$prmStorageAccount = New-AzureRMStorageAccount -Name $prmStorageAccountName -ResourceGroupName $rgName -Type Standard_LRS -Location $locName
3\。 创建可用性集
$avSet = New-AzureRMAvailabilitySet -Name $avSetName -ResourceGroupName $rgName -Location $locName
4. 创建网络安全组 (NSG)
1. 添加规则。 您必须为任何提供流量服务的端口向 NSG 添加规则。
$rule1=New-AzureRmNetworkSecurityRuleConfig -Name $rule1Name -Description "Allow HTTP" -Access Allow -Protocol Tcp -Direction Inbound -Priority 101 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 80
$rule2=New-AzureRmNetworkSecurityRuleConfig -Name $rule2Name -Description "Allow HTTPS" -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 443
$rule3=New-AzureRmNetworkSecurityRuleConfig -Name $rule3Name -Description "Allow SSH" -Access Allow -Protocol Tcp -Direction Inbound -Priority 120 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 22
2. 创建 NSG 对象。
$nsg=New-AzureRmNetworkSecurityGroup -ResourceGroupName $rgName -Location $locName -Name $nsgName -SecurityRules $rule1,$rule2,$rule3
5\。 创建虚拟网络
1. 添加子网。
$frontendSubnet=New-AzureRmVirtualNetworkSubnetConfig -Name $frontEndSubnetName -AddressPrefix $frontEndSubnetRange
2. 添加虚拟网络对象。
$vnet=New-AzureRmVirtualNetwork -Name $vNetName -ResourceGroupName $rgName -Location $locName -AddressPrefix $vNetAddressRange -Subnet $frontendSubnet
3\。 检索子网。
$subnetName="frontEndSubnet"
\$subnet1=\$vnet.Subnets|?{\$\_.Name -eq \$subnetName}
6\。 创建公用 IP 地址
$pip1=New-AzureRmPublicIpAddress -Name $pubIPName1 -ResourceGroupName $rgName -DomainNameLabel $domName1 -Location $locName -AllocationMethod Static
$pip2=New-AzureRmPublicIpAddress -Name $pubIPName2 -ResourceGroupName $rgName -DomainNameLabel $domName2 -Location $locName -AllocationMethod Static
注意:
在使用前先检查域名的可用性。
IP 地址分配方法可以是动态的,也可以是静态的。
7. 分配 IP 配置
在此用例中,请在分配 IP 地址之前考虑以下几点:
- IPConfig-1 属于 VPX1 的 subnet1。
- IPConfig-2 属于 VPX1 的 subnet 1。
- IPConfig-3 属于 VPX1 的 subnet 1。
注意:
为 NIC 分配多个 IP 配置时,必须将一个配置分配为主配置。
$IPAddress1="11.6.1.27"
$IPConfig1=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName1 -Subnet $subnet1 -PrivateIpAddress $IPAddress1 -PublicIpAddress $pip1 –Primary
$IPAddress2="11.6.1.28"
$IPConfig2=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName2 -Subnet $subnet1 -PrivateIpAddress $IPAddress2 -PublicIpAddress $pip2
$IPAddress3="11.6.1.29"
$IPConfig3=New-AzureRmNetworkInterfaceIpConfig -Name $IPConfigName3 -Subnet $subnet1 -PrivateIpAddress $IPAddress3 -Primary
使用满足您的子网要求的有效 IP 地址,并检查其可用性。
8\。 创建 NIC
$nic1=New-AzureRmNetworkInterface -Name $nicName1 -ResourceGroupName $rgName -Location $locName -IpConfiguration $IpConfig1,$IpConfig2,$IPConfig3 -NetworkSecurityGroupId $nsg.Id
9\。 创建 Citrix ADC VPX 实例
1. 初始化变量。
$suffixNumber = 1
$vmName = $vmNamePrefix + $suffixNumber
2. 创建 VM 配置对象。
$vmConfig=New-AzureRMVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id
3\。 设置凭据、操作系统和映像.
$cred=Get-Credential -Message "Type the name and password for VPX login."
$vmConfig=Set-AzureRMVMOperatingSystem -VM $vmConfig -Linux -ComputerName $vmName -Credential $cred
$vmConfig=Set-AzureRMVMSourceImage -VM $vmConfig -PublisherName $publisher -Offer $offer -Skus $sku -Version $version
4. 添加 NIC。
$vmConfig=Add-AzureRMVMNetworkInterface -VM $vmConfig -Id $nic1.Id -Primary
注意:
在多 NIC VPX 部署中,一个 NIC 应该是主 NIC。 因此,将该 NIC 添加到 VPX 实例时需要添加“-Primary”。
5\。 指定操作系统磁盘并创建 VM。
$osDiskName=$vmName + "-" + $osDiskSuffix1
$osVhdUri=$prmStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $osDiskName + ".vhd"
$vmConfig=Set-AzureRMVMOSDisk -VM $vmConfig -Name $osDiskName -VhdUri $osVhdUri -CreateOption fromImage
Set-AzureRmVMPlan -VM $vmConfig -Publisher $publisher -Product $offer -Name $sku
New-AzureRMVM -VM $vmConfig -ResourceGroupName $rgName -Location $locName
10\。 检查 NIC 配置
VPX实例启动后,您可以使用以下命令检查分配给VPX网卡的IPConfigs的IP地址。
$nic.IPConfig
11\。 检查 VPX 端配置
当 Citrix ADC VPX 实例启动时,与主 NIC 的主 IPconfig 关联的私有 IP 地址将添加为 NSIP 地址。 其余专用 IP 地址必须添加为 VIP 或 SNIP 地址,具体取决于您的要求。 使用的命令如下。
add nsip <Private IPAddress><netmask> -type VIP/SNIP
您现在已为处于独立模式的 Citrix ADC VPX 实例配置多个 IP 地址。