Citrix ADC

使用 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 配置相关联,如下表中所示。

IPConfig 关联到
IPConfig-1 静态公用 IP 地址;静态专用 IP 地址
IPConfig-2 静态公用 IP 地址;静态专用地址
IPConfig-3 静态专用 IP 地址

注意

IPConfig-3 不与任何公用 IP 地址相关联。

示意图:拓扑

下面是该用例的直观表示方式。

本地化后的图片

注意

在多 NIC、多 IP Azure Citrix ADC VPX 部署中,与主(第一个)NIC 的主(第一个)IPConfig 关联的专用 IP 地址会自动添加为设备的管理 NSIP 地址。而与 IPConfig 关联的其余专用 IP 地址,必须使用 “add ns ip” 命令作为 VIP 或 SNIP 添加到 VPX 实例中,具体取决于您的要求。

下面总结了为处于独立模式的 Citrix ADC VPX 虚拟设备配置多个 IP 地址所需的步骤:

  1. 创建资源组
  2. 创建存储帐户
  3. 创建可用性集
  4. 创建 NSG
  5. 创建虚拟网络
  6. 创建公用 IP 地址
  7. 分配 IP 配置
  8. 创建 NIC
  9. 创建 Citrix ADC VPX 实例
  10. 检查 NIC 配置
  11. 检查 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”(此参数会创建最多具有 4 个 NIC 的 VM。)

注意: 一个 VPX 实例的最低要求是 2 个 vCPU 和 2 GB RAM。

$publisher=”citrix”

$offer=”netscalervpx110-6531”(您可以使用不同的 offer。)

$sku=”netscalerbyol”(根据您的 offer,SKU 可以不同。)

$version=”latest”

$pubIPName1=”PIP1”

$pubIPName2=”PIP2”

$domName1=”multiipvpx1”

$domName2=”multiipvpx2”

$vmNamePrefix=”VPXMultiIP”

$osDiskSuffix=”osmultiipalbdiskdb1”

网络安全组 (NSG) 相关的信息

$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。因此,向 VPX 实例添加 NIC 时,需要附加 “-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 NIC 的 IPConfig 的 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 地址。有关如何在独立模式下为 Citrix ADC VPX 实例配置多个 IP 地址的其他信息,请参阅 Microsoft Azure 中的 Citrix ADC VPX 部署 视频。

使用 PowerShell 命令为 Citrix ADC VPX 独立实例配置多个 IP 地址