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

在 Azure 环境中,可以使用多个网卡部署 Citrix ADC VPX 虚拟设备。每个 NIC 都可以有多个 IP 地址。本节介绍如何使用 PowerShell 命令部署具有单个网卡和多个 IP 地址的 Citrix ADC VPX 实例。您可以将同一脚本用于多 NIC 和多 IP 部署。

注意

在本文档中,IP-Config 是指与单个 NIC 关联的一对 IP 地址(公用 IP 和专用 IP)。有关详细信息,请参阅Azure 术语部分。

用例

在此用例中,单个网卡连接到虚拟网络 (VNET)。该 NIC 与三个 IP 配置相关联,如下表中所示。

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

注意

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

:拓扑

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

本地化后的图片

注意

在多网卡、多 IP Azure Citrix ADC VPX 部署中,与主(第一个)网卡的主(第一个)IPConfig 关联的专用 IP 地址将自动添加为设备的管理 NSIP 地址。与 IPConfigs 关联的剩余专用 IP 地址必须根据您的要求使用“ 添加 ns ip”命令作为 VIP 或剪切添加到 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”(此参数创建一个具有多达四个网卡的虚拟机。)

注意: VPX 实例的最低要求是 2 个虚拟 CPU 和 2GB RAM。

$publisher=”citrix”

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

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

$version=”latest”

$pubIPName1=”PIP1”

$pubIPName2=”PIP2”

$domName1=”multiipvpx1”

$domName2=”multiipvpx2”

$vmNamePrefix=”VPXMultiIP”

$osDiskSuffix=”osmultiipalbdiskdb1”

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

美元 NAME =“NSG 多 IP”

$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 的 subnet 1。
  • 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 实例时,需要追加“-Privic”。

  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 实例启动时,将添加与主网卡的主 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 地址