你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-AzureRmVirtualNetworkGateway

创建虚拟网络网关

警告

AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可运行,但不再受到维护或支持,任何继续使用的行为都由用户自行决定并自行承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

New-AzureRmVirtualNetworkGateway
   -Name <String>
   -ResourceGroupName <String>
   -Location <String>
   [-IpConfigurations <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGatewayIpConfiguration]>]
   [-GatewayType <String>]
   [-VpnType <String>]
   [-EnableBgp <Boolean>]
   [-EnableActiveActiveFeature]
   [-GatewaySku <String>]
   [-GatewayDefaultSite <PSLocalNetworkGateway>]
   [-VpnClientAddressPool <System.Collections.Generic.List`1[System.String]>]
   [-VpnClientProtocol <System.Collections.Generic.List`1[System.String]>]
   [-VpnClientRootCertificates <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSVpnClientRootCertificate]>]
   [-VpnClientRevokedCertificates <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSVpnClientRevokedCertificate]>]
   [-VpnClientIpsecPolicy <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSIpsecPolicy]>]
   [-Asn <UInt32>]
   [-PeerWeight <Int32>]
   [-Tag <Hashtable>]
   [-Force]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmVirtualNetworkGateway
   -Name <String>
   -ResourceGroupName <String>
   -Location <String>
   [-IpConfigurations <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGatewayIpConfiguration]>]
   [-GatewayType <String>]
   [-VpnType <String>]
   [-EnableBgp <Boolean>]
   [-EnableActiveActiveFeature]
   [-GatewaySku <String>]
   [-GatewayDefaultSite <PSLocalNetworkGateway>]
   [-VpnClientAddressPool <System.Collections.Generic.List`1[System.String]>]
   [-VpnClientProtocol <System.Collections.Generic.List`1[System.String]>]
   [-VpnClientRootCertificates <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSVpnClientRootCertificate]>]
   [-VpnClientRevokedCertificates <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSVpnClientRevokedCertificate]>]
   [-VpnClientIpsecPolicy <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSIpsecPolicy]>]
   [-Asn <UInt32>]
   [-PeerWeight <Int32>]
   [-Tag <Hashtable>]
   [-Force]
   -RadiusServerAddress <String>
   -RadiusServerSecret <SecureString>
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

虚拟网络网关是表示 Azure 中网关的对象。 New-AzureRmVirtualNetworkGateway cmdlet 基于名称、资源组名称、位置和 IP 配置以及网关类型和 VPN(如果为 VPN)在 Azure 中创建网关的对象。 还可以命名网关 SKU。 如果此网关用于点到站点连接,则还需要包括 VPN 客户端地址池,从中分配用于连接客户端的地址以及用于对连接到网关的 VPN 客户端进行身份验证的 VPN 客户端根证书。 还可以选择包括其他功能,例如 BGP 和 Active-Active。

示例

1:创建虚拟网络网关

New-AzureRmResourceGroup -Location "UK West" -Name "vnet-gateway"
$subnet = New-AzureRMVirtualNetworkSubnetConfig -Name 'gatewaysubnet' -AddressPrefix '10.254.0.0/27'

$ngwpip = New-AzureRMPublicIpAddress -Name ngwpip -ResourceGroupName "vnet-gateway" -Location "UK West" -AllocationMethod Dynamic
$vnet = New-AzureRmVirtualNetwork -AddressPrefix "10.254.0.0/27" -Location "UK West" -Name vnet-gateway -ResourceGroupName "vnet-gateway" -Subnet $subnet
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -name 'gatewaysubnet' -VirtualNetwork $vnet
$ngwipconfig = New-AzureRMVirtualNetworkGatewayIpConfig -Name ngwipconfig -SubnetId $subnet.Id -PublicIpAddressId $ngwpip.Id

New-AzureRmVirtualNetworkGateway -Name myNGW -ResourceGroupName vnet-gateway -Location "UK West" -IpConfigurations $ngwIpConfig  -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "Basic"

上述操作将创建资源组、请求公共 IP 地址、创建虚拟网络和子网,并在 Azure 中创建虚拟网络网关。 网关将在资源组“vnet-gateway”中称为“myNGW”,位置为“UK West”,其以前创建的 IP 配置保存在变量“ngwIPConfig”中,网关类型为“VPN”,VPN 类型为“RouteBased”,SKU 为“Basic”。

2:使用外部 Radius 配置创建虚拟网络网关

New-AzureRmResourceGroup -Location "UK West" -Name "vnet-gateway"
New-AzureRMVirtualNetworkSubnetConfig -Name 'gatewaysubnet' -AddressPrefix '10.254.0.0/27'

$ngwpip = New-AzureRMPublicIpAddress -Name ngwpip -ResourceGroupName "vnet-gateway" -Location "UK West" -AllocationMethod Dynamic
$vnet = New-AzureRmVirtualNetwork -AddressPrefix "10.254.0.0/27" -Location "UK West" -Name vnet-gateway -ResourceGroupName "vnet-gateway" -Subnet $subnet
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -name 'gatewaysubnet' -VirtualNetwork $vnet
$ngwipconfig = New-AzureRMVirtualNetworkGatewayIpConfig -Name ngwipconfig -SubnetId $subnet.Id -PublicIpAddressId $ngwpip.Id
$Secure_String_Pwd = ConvertTo-SecureString "TestRadiusServerPassword" -AsPlainText -Force

New-AzureRmVirtualNetworkGateway -Name myNGW -ResourceGroupName vnet-gateway -Location "UK West" -IpConfigurations $ngwIpConfig  -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "Basic" -RadiusServerAddress "TestRadiusServer" -RadiusServerSecret $Secure_String_Pwd

上述操作将创建资源组、请求公共 IP 地址、创建虚拟网络和子网,并在 Azure 中创建虚拟网络网关。 网关将在资源组“vnet-gateway”中称为“myNGW”,位置为“UK West”,其以前创建的 IP 配置保存在变量“ngwIPConfig”中,网关类型为“VPN”,VPN 类型为“RouteBased”,SKU 为“Basic”。它还添加地址为“TestRadiusServer”的外部半径服务器

1:使用 P2S 设置创建虚拟网络网关

New-AzureRmResourceGroup -Location "UK West" -Name "vnet-gateway"
$subnet = New-AzureRMVirtualNetworkSubnetConfig -Name 'gatewaysubnet' -AddressPrefix '10.254.0.0/27'

$ngwpip = New-AzureRMPublicIpAddress -Name ngwpip -ResourceGroupName "vnet-gateway" -Location "UK West" -AllocationMethod Dynamic
$vnet = New-AzureRmVirtualNetwork -AddressPrefix "10.254.0.0/27" -Location "UK West" -Name vnet-gateway -ResourceGroupName "vnet-gateway" -Subnet $subnet
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -name 'gatewaysubnet' -VirtualNetwork $vnet
$ngwipconfig = New-AzureRMVirtualNetworkGatewayIpConfig -Name ngwipconfig -SubnetId $subnet.Id -PublicIpAddressId $ngwpip.Id
$rootCert = New-AzureRmVpnClientRootCertificate -Name $clientRootCertName -PublicCertData $samplePublicCertData
$vpnclientipsecpolicy = New-AzureRmVpnClientIpsecPolicy -IpsecEncryption AES256 -IpsecIntegrity SHA256 -SALifeTimeSeconds 86471 -SADataSizeKilobytes 429496 -IkeEncryption AES256 -IkeIntegrity SHA384 -DhGroup DHGroup2 -PfsGroup PFS2

New-AzureRmVirtualNetworkGateway -Name myNGW -ResourceGroupName vnet-gateway -Location "UK West" -IpConfigurations $ngwIpConfig  -GatewayType "Vpn" -VpnType "RouteBased" -GatewaySku "VpnGw1" -VpnClientProtocol IkeV2 -VpnClientAddressPool 201.169.0.0/16 -VpnClientRootCertificates $rootCert -VpnClientIpsecPolicy $vpnclientipsecpolicy

上述操作将创建资源组、请求公共 IP 地址、创建虚拟网络和子网,并使用 P2S 设置(例如 VpnProtocol、VpnClientAddressPool、VpnClientRootCertificates、VpnClientIpsecPolicy 等)创建虚拟网络网关。 网关将在资源组“vnet-gateway”中称为“myNGW”,位置为“UK West”,其以前创建的 IP 配置保存在变量“ngwIPConfig”中,网关类型为“VPN”,VPN 类型为“RouteBased”,SKU 为“VpnGw1”。Vpn 设置将在网关上设置,例如 VpnProtocol 设置为 Ikev2、VpnClientAddressPool 为“201.169.0.0/16”,VpnClientRootCertificate 设置为传递的一个:clientRootCertName 和自定义 vpn ipsec 策略在 object:$vpnclientipsecpolicy

参数

-AsJob

在后台运行 cmdlet

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Asn

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

类型:IAzureContextContainer
别名:AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableActiveActiveFeature

启用主动-主动功能。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableBgp

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Force

强制运行命令而不要求用户确认。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-GatewayDefaultSite

类型:PSLocalNetworkGateway
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-GatewaySku

类型:String
接受的值:Basic, Standard, HighPerformance, UltraPerformance, VpnGw1, VpnGw2, VpnGw3, VpnGw1AZ, VpnGw2AZ, VpnGw3AZ, ErGw1AZ, ErGw2AZ, ErGw3AZ
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-GatewayType

类型:String
接受的值:Vpn, ExpressRoute
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-IpConfigurations

类型:List<T>[PSVirtualNetworkGatewayIpConfiguration]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-Location

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Name

类型:String
别名:ResourceName
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-PeerWeight

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-RadiusServerAddress

P2S 外部 Radius 服务器地址。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-RadiusServerSecret

P2S 外部 Radius 服务器机密。

类型:SecureString
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ResourceGroupName

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Tag

以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}

类型:Hashtable
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VpnClientAddressPool

类型:List<T>[String]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VpnClientIpsecPolicy

P2S VPN 客户端隧道协议的 IPSec 策略列表。

类型:List<T>[PSIpsecPolicy]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VpnClientProtocol

P2S VPN 客户端隧道协议列表

类型:List<T>[String]
接受的值:SSTP, IkeV2, OpenVPN
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VpnClientRevokedCertificates

类型:List<T>[PSVpnClientRevokedCertificate]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VpnClientRootCertificates

类型:List<T>[PSVpnClientRootCertificate]
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VpnType

类型:String
接受的值:PolicyBased, RouteBased
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

List<T>[[Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGatewayIpConfiguration, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

Boolean

PSLocalNetworkGateway

List<T>[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSVpnClientRootCertificate, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSVpnClientRevokedCertificate, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSIpsecPolicy, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

UInt32

Int32

Hashtable

SecureString

输出

PSVirtualNetworkGateway