使用 PowerShell 修改本地网络网关设置

有时本地网络网关 AddressPrefix 或 GatewayIPAddress 的设置会变更。 本文演示如何修改本地网络网关设置。 还可以通过选择以下列表中的其他选项,使用另一种方法来修改这些设置:

开始之前

安装最新版本的 Azure Resource Manager PowerShell cmdlet。 有关安装 PowerShell cmdlet 的详细信息,请参阅 如何安装和配置 Azure PowerShell

修改 IP 地址前缀

修改本地网关 IP 地址前缀 - 无网关连接

  • 添加其他地址前缀:

    $local = Get-AzureRmLocalNetworkGateway -Name MyLocalNetworkGWName -ResourceGroupName MyRGName `
    Set-AzureRmLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.0.0.0/24','20.0.0.0/24','30.0.0.0/24')
    
  • 删除地址前缀:
    省去你不再需要的前缀。 在此示例中,我们不再需要前缀 20.0.0.0/24(来自前面的示例),因此我们将更新本地网关,排除该前缀。

    $local = Get-AzureRmLocalNetworkGateway -Name MyLocalNetworkGWName -ResourceGroupName MyRGName `
    Set-AzureRmLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.0.0.0/24','30.0.0.0/24')
    

修改本地网关 IP 地址前缀 - 现有网关连接

如果有一个网关连接并且想要添加或删除包含在本地网关中的 IP 地址前缀,将需要按顺序执行以下步骤。 这将导致 VPN 连接中断一段时间。 修改 IP 地址前缀时,不需删除 VPN 网关。 只需删除连接。

  1. 删除连接。

    Remove-AzureRmVirtualNetworkGatewayConnection -Name MyGWConnectionName -ResourceGroupName MyRGName
    
  2. 修改本地网关的地址前缀。

    设置 LocalNetworkGateway 的变量。

    $local = Get-AzureRmLocalNetworkGateway -Name MyLocalNetworkGWName -ResourceGroupName MyRGName
    

    修改前缀。

    Set-AzureRmLocalNetworkGateway -LocalNetworkGateway $local `
    -AddressPrefix @('10.0.0.0/24','20.0.0.0/24','30.0.0.0/24')
    
  3. 创建连接。 在此示例中,我们配置 IPsec 连接类型。 重新创建连接时,请使用针对配置指定的连接类型。 有关其他连接类型,请参阅 PowerShell cmdlet 页面。

    设置 VirtualNetworkGateway 的变量。

    $gateway1 = Get-AzureRmVirtualNetworkGateway -Name RMGateway  -ResourceGroupName MyRGName
    

    创建连接。 此示例使用在步骤 2 中设置的变量 $local。

    New-AzureRmVirtualNetworkGatewayConnection -Name MyGWConnectionName `
    -ResourceGroupName MyRGName -Location 'China North' `
    -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local `
    -ConnectionType IPsec `
    -RoutingWeight 10 -SharedKey 'abc123'
    

修改网关 IP 地址

修改本地网关的“GatewayIpAddress”- 无网关连接

如果要连接的 VPN 设备已更改其公共 IP 地址,则需根据该更改修改本地网关。 请使用此示例修改没有网关连接的本地网关。

修改此值时,还可同时修改地址前缀。 请务必使用本地网关的现有名称来覆盖当前设置。 如果使用其他名称,请创建一个新的本地网关,而不是覆盖现有本地网关。

New-AzureRmLocalNetworkGateway -Name MyLocalNetworkGWName `
-Location "China North" -AddressPrefix @('10.0.0.0/24','20.0.0.0/24','30.0.0.0/24') `
-GatewayIpAddress "5.4.3.2" -ResourceGroupName MyRGName

修改本地网关的“GatewayIpAddress”- 现有网关连接

如果要连接的 VPN 设备已更改其公共 IP 地址,则需根据该更改修改本地网关。 如果网关连接已存在,首先需要删除该连接。 删除连接后,可修改网关 IP 地址并重新创建一个新的连接。 此外可同时修改地址前缀。 这将导致 VPN 连接中断一段时间。 修改网关 IP 地址时,不需删除 VPN 网关。 只需删除连接。

  1. 删除连接。 可以使用“Get-AzureRmVirtualNetworkGatewayConnection”cmdlet 查找连接的名称。

    Remove-AzureRmVirtualNetworkGatewayConnection -Name MyGWConnectionName `
    -ResourceGroupName MyRGName
    
  2. 修改“GatewayIpAddress”值。 此外可同时修改地址前缀。 请务必使用本地网关的现有名称来覆盖当前设置。 如果不这样做,请创建一个新的本地网关,而不是覆盖现有本地网关。

    New-AzureRmLocalNetworkGateway -Name MyLocalNetworkGWName `
    -Location "China North" -AddressPrefix @('10.0.0.0/24','20.0.0.0/24','30.0.0.0/24') `
    -GatewayIpAddress "104.40.81.124" -ResourceGroupName MyRGName
    
  3. 创建连接。 在此示例中,我们配置 IPsec 连接类型。 重新创建连接时,请使用针对配置指定的连接类型。 有关其他连接类型,请参阅 PowerShell cmdlet 页面。 若要获取 VirtualNetworkGateway 名称,可运行“Get-AzureRmVirtualNetworkGateway”cmdlet。

    设置变量。

    $local = Get-AzureRMLocalNetworkGateway -Name MyLocalNetworkGWName -ResourceGroupName MyRGName `
    $vnetgw = Get-AzureRmVirtualNetworkGateway -Name RMGateway -ResourceGroupName MyRGName
    

    创建连接。

    New-AzureRmVirtualNetworkGatewayConnection -Name MyGWConnectionName -ResourceGroupName MyRGName `
    -Location "China North" `
    -VirtualNetworkGateway1 $vnetgw `
    -LocalNetworkGateway2 $local `
    -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'
    

后续步骤

可验证网关连接。 请参阅验证网关连接