Share via


使用 PowerShell 來建立路由型 VPN 閘道

本文將協助您使用 PowerShell 來快速建立路由型 Azure VPN 閘道。 建立與內部部署網路的 VPN 連線時,會使用 VPN 閘道。 您也可以使用 VPN 閘道來連線至 VNet。

VPN 閘道只是連線架構的一部分,可協助您安全地存取虛擬網路內的資源。

顯示虛擬網路和 VPN 閘道的圖表。

  • 圖表左側會顯示您使用本文步驟所建立的虛擬網路和 VPN 閘道。
  • 您稍後可以新增不同連線類型,如圖表右側所示。 例如,您可以建立站對站點對站連線。 若要檢視您可以組建的不同設計結構,請參閱 VPN 閘道設計

開始之前

本文中的步驟將會建立 VNet、子網路、閘道子網路,以及路由型 VPN 閘道 (虛擬網路閘道)。 完成閘道建立之後,您接著就可建立連線。 這些步驟需要 Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

使用 Azure PowerShell

本文使用 PowerShell Cmdlet。 若要執行 Cmdlet,您可以使用 Azure Cloud Shell。 Cloud Shell 是免費的互動式殼層,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。

若要開啟 Cloud Shell,只要選取程式碼區塊右上角的 [開啟 Cloudshell] 即可。 您也可以移至 https://shell.azure.com/powershell,在個別的瀏覽器索引標籤上開啟 Cloud Shell。 選取 [複製] 以複製程式碼區塊、將它們貼上到 Cloud Shell 中,然後選取 Enter 鍵以執行它們。

您也可以在本機電腦上安裝並執行 Azure PowerShell Cmdlet。 PowerShell Cmdlet 會經常更新。 如果您尚未安裝最新版本,指示中指定的值可能會失敗。 若要尋找電腦上安裝的 Azure PowerShell 版本,請使用 Get-Module -ListAvailable Az Cmdlet。 若要安裝或更新,請參閱安裝 Azure PowerShell 模組

建立資源群組

使用 New-AzResourceGroup 來建立 Azure 資源群組。 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 如果您在本機執行 PowerShell,請以提高的權限開啟 PowerShell 主控台,並使用 Connect-AzAccount 命令連線至 Azure。

New-AzResourceGroup -Name TestRG1 -Location EastUS

建立虛擬網路

使用 New-AzVirtualNetwork 建立虛擬網路。 下列範例會在 EastUS 位置中建立名為 VNet1 的虛擬網路:

$virtualNetwork = New-AzVirtualNetwork `
  -ResourceGroupName TestRG1 `
  -Location EastUS `
  -Name VNet1 `
  -AddressPrefix 10.1.0.0/16

使用 New-AzVirtualNetworkSubnetConfig Cmdlet 來建立子網路設定。

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Frontend `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualNetwork

使用 Set-AzVirtualNetwork Cmdlet 來設定虛擬網路的子網路設定。

$virtualNetwork | Set-AzVirtualNetwork

新增閘道子網路

閘道子網路包含虛擬網路閘道服務所使用的保留 IP 位址。 請使用下列範例來新增閘道子網路:

設定 VNet 的變數。

$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1

使用 Add-AzVirtualNetworkSubnetConfig Cmdlet 來建立閘道子網路。

Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet

使用 Set-AzVirtualNetwork Cmdlet 來設定虛擬網路的子網路設定。

$vnet | Set-AzVirtualNetwork

要求公用 IP 位址

VPN 閘道必須具有已配置的公用 IP 位址。 當您建立與 VPN 閘道的連線時,這就是您指定的 IP 位址。 請使用下列範例來要求公用 IP 位址。 請注意,如果您想要使用基本閘道 SKU 建立 VPN 閘道,請在要求公用 IP 位址時使用下列值: -AllocationMethod Dynamic -Sku Basic

$gwpip = New-AzPublicIpAddress -Name "VNet1GWIP" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static

建立閘道 IP 位址設定

閘道器組態定義要使用的子網路和公用 IP 位址。 使用下列範例來建立閘道組態:

$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
$gwipconfig = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gwpip.Id

建立 VPN 閘道

建立閘道通常可能需要 45 分鐘或更久,視選取的閘道 SKU 而定。 閘道建立完成之後,您便可以在您的虛擬網路與另一個 VNet 之間建立連線。 或是在您的虛擬網路與內部部署位置之間建立連線。 請使用 New-AzVirtualNetworkGateway Cmdlet 來建立 VPN 閘道。

New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig -GatewayType "Vpn" `
-VpnType "RouteBased" -GatewaySku VpnGw2 -VpnGatewayGeneration "Generation2"

檢視 VPN 閘道

您可以使用 Get-AzVirtualNetworkGateway Cmdlet 來檢視 VPN 閘道。

Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1

檢視公用 IP 位址

若要檢視 VPN 閘道的公用 IP 位址,請使用 Get-AzPublicIpAddress Cmdlet。

Get-AzPublicIpAddress -Name VNet1GWIP -ResourceGroupName TestRG1

清除資源

當您不再需要先前建立的資源時,請使用 Remove-AzResourceGroup 命令刪除資源群組。 這會刪除資源群組及其包含的所有資源。

Remove-AzResourceGroup -Name TestRG1

下一步

閘道建立完成之後,您便可在您的虛擬網路與另一個 VNet 之間建立連線。 或是在您的虛擬網路與內部部署位置之間建立連線。