本文介绍如何使用虚拟 WAN 连接到 Azure 中的资源。 在本文中,你将使用 PowerShell 通过 OpenVPN 或 IPsec/IKE (IKEv2) 创建点到站点用户 VPN 连接。 此类连接要求在每个正在连接的客户端计算机上配置本机 VPN 客户端。
先决条件
你有一个 Azure 订阅。 如果没有 Azure 订阅,请创建一个试用版版订阅。
有一个要连接到的虚拟网络。
- 确认本地网络的任何子网都不会与要连接到的虚拟网络重叠。
- 若要在 Azure 门户中创建虚拟网络,请参阅快速入门一文。
虚拟网络不能包含任何现有虚拟网络网关。
- 如果虚拟网络已有网关(VPN 或 ExpressRoute),必须先删除所有网关再继续。
- 此配置要求虚拟网络仅连接到虚拟 WAN 中心网关。
确定要用于虚拟中心专用地址空间的 IP 地址范围。 配置虚拟中心时,将使用此信息。 虚拟中心是虚拟 WAN 创建和使用的虚拟网络。 这是区域中虚拟 WAN 网络的核心。 地址空间范围必须符合某些规则:
- 为中心指定的地址范围不能与连接到的任何现有虚拟网络重叠。
- 地址范围不能与连接到的本地地址范围重叠。
- 如果不熟悉本地网络配置中的 IP 地址范围,请咨询能够提供此类详细信息的人员。
Azure PowerShell
可以在计算机本地安装并运行 Azure PowerShell cmdlet。 PowerShell cmdlet 经常更新。 如果尚未安装最新版本,说明中指定的值可能会失败。 若要查找计算机上安装的 Azure PowerShell 版本,请使用 Get-Module -ListAvailable Az cmdlet。 若要进行安装或更新,请参阅安装 Azure PowerShell 模块。
登录
使用提升的权限打开 PowerShell 控制台,并连接到 Azure 帐户。
Connect-AzAccount -Environment AzureChinaCloud cmdlet 将提示你输入凭据。 进行身份验证后,它会下载帐户设置,以便 Azure PowerShell 可以使用这些设置。 可以使用 Get-AzSubscription 和 Select-AzSubscription -SubscriptionName "Name of subscription" 更改订阅。
创建虚拟 WAN
创建虚拟 WAN 之前,必须先创建资源组来托管虚拟 WAN 或使用现有的资源组。 使用 New-AzResourceGroup 创建资源组。 此示例在“中国东部 2”位置创建一个名为 testRG 的新资源组:
创建资源组:
New-AzResourceGroup -Location "chinaeast2" -Name "testRG"创建虚拟 WAN:
$virtualWan = New-AzVirtualWan -ResourceGroupName testRG -Name myVirtualWAN -Location "chinaeast2"
创建用户 VPN 配置
用户 VPN (P2S) 配置定义参数以便远程客户端进行连接。 遵循的说明取决于要使用的身份验证方法。
在以下步骤中,选择身份验证方法时,有三种选择。 每种方法都有特定的要求。 选择以下某种方法,然后完成步骤。
Azure 证书: 此配置需要证书。 你需要生成或获取证书。 每个客户端都需要客户端证书。 此外,需要上传根证书信息(公钥)。 有关所需证书的详细信息,请参阅生成和导出证书。
基于 RADIUS 的身份验证: 获取 RADIUS 服务器 IP、RADIUS 服务器机密和证书信息。
Microsoft Entra 身份验证:请参阅配置用户 VPN 连接 - Microsoft Entra 身份验证。
使用 Azure 证书身份验证的配置步骤
用户 VPN(点到站点)连接可使用证书进行身份验证。 若要使用 PowerShell 创建自签名根证书并生成客户端证书,请参阅生成并导出证书。
生成并导出自签名根证书后,需要引用证书存储位置。 此步骤无法使用 Azure 本地 Shell 完成,因为无法通过本地 Shell 界面上传证书文件。 若要执行本节中的后续步骤,需要安装 Azure PowerShell cmdlet 并在本地使用 PowerShell,或者使用 Azure 门户。
$VpnServerConfigCertFilePath = Join-Path -Path /home/name -ChildPath "\P2SRootCert1.cer" $listOfCerts = New-Object "System.Collections.Generic.List[String]" $listOfCerts.Add($VpnServerConfigCertFilePath)创建用户 VPN 服务器配置。 对于 VPN 协议,可以选择 IKEv2 VPN、OpenVPN 以及 OpenVPN 和 IKEv2,具体取决于你的需求。
New-AzVpnServerConfiguration -Name testconfig -ResourceGroupName testRG -VpnProtocol IkeV2 -VpnAuthenticationType Certificate -VpnClientRootCertificateFilesList $listOfCerts -VpnClientRevokedCertificateFilesList $listOfCerts -Location chinaeast2
创建中心和点到站点网关
创建虚拟中心。
New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "testRG" -Name "chinaeast2hub" -AddressPrefix "10.11.0.0/24" -Location "chinaeast2"声明现有资源的变量,并指定自动将 IP 地址分配到 VPN 客户端的客户端地址池。
$virtualHub = Get-AzVirtualHub -ResourceGroupName testRG -Name chinaeast2hub $vpnServerConfig = Get-AzVpnServerConfiguration -ResourceGroupName testRG -Name testconfig $vpnClientAddressSpaces = New-Object string[] 1 $vpnClientAddressSpaces[0] = "192.168.2.0/24"对于点到站点网关,需要指定网关缩放单元,并引用前面创建的用户 VPN 服务器配置。 创建点到站点网关可能需要 30 分钟或更久。
$P2SVpnGateway = New-AzP2sVpnGateway -ResourceGroupName testRG -Name p2svpngw -VirtualHub $virtualHub -VpnGatewayScaleUnit 1 -VpnClientAddressPool $vpnClientAddressSpaces -VpnServerConfiguration $vpnServerConfig -EnableInternetSecurityFlag -EnableRoutingPreferenceInternetFlag
生成客户端配置文件
使用用户 VPN (P2S) 连接到 VNet 时,可以使用在连接的操作系统上本机安装的 VPN 客户端。 VPN 客户端的所有必需配置设置都包含在 VPN 客户端 zip 配置文件中。 zip 文件中的设置有助于轻松配置 VPN 客户端。 生成的 VPN 客户端配置文件特定于网关的用户 VPN 配置。 在本部分中,运行脚本获取配置文件 URL,以生成和下载用于配置 VPN 客户端的文件。
Get-AzVirtualWanVpnServerConfigurationVpnProfile -Name myVirtualWAN -ResourceGroupName testRG -VpnServerConfiguration $vpnServerConfig -AuthenticationMethod EAPTLS
配置 VPN 客户端
使用下载的配置文件包配置远程访问 VPN 客户端。 每个操作系统的过程各不相同。 按照适用于你的系统的说明进行操作。 完成客户端配置后,即可连接。
IKEv2
在用户 VPN 配置中,如果指定了 IKEv2 VPN 隧道类型,则可以配置本机 VPN 客户端(Windows 和 macOS Catalina 或更高版本)。
以下步骤适用于 Windows。 对于 macOS,请参阅配置 P2S 用户 VPN 客户端 - 本机 VPN 客户端 - macOS 步骤。
根据 Windows 计算机的体系结构选择 VPN 客户端配置文件。 对于 64 位处理器体系结构,请选择“VpnClientSetupAmd64”安装程序包。 对于 32 位处理器体系结构,请选择“VpnClientSetupX86”安装程序包。
双击所需的包进行安装。 如果看到弹出 SmartScreen,选择“详细信息”,然后选择“仍要运行” 。
在客户端计算机上,导航到“网络设置”,并选择“VPN” 。 VPN 连接显示所连接到的虚拟网络的名称。
在要通过此用户 VPN 配置连接的每台计算机上安装客户端证书。 使用本机 Azure 证书身份验证类型时,客户端证书是身份验证必需的。 有关生成证书的详细信息,请参阅生成证书。 有关如何安装客户端证书的信息,请参阅安装客户端证书。
OpenVPN
在用户 VPN 配置中,如果指定了 OpenVPN 隧道类型,则可以下载并配置 Azure VPN 客户端,或者在某些情况下,可以使用 OpenVPN 客户端软件。 有关步骤,请使用与配置对应的链接。
将 VNet 连接到中心
声明一个变量,以获取现有的虚拟网络。
$remoteVirtualNetwork = Get-AzVirtualNetwork -Name "testRGvnet" -ResourceGroupName "testRG"创建虚拟中心与 VNet 之间的连接。
New-AzVirtualHubVnetConnection -ResourceGroupName "testRG" -VirtualHubName "chinaeast2hub" -Name "testvnetconnection" -RemoteVirtualNetwork $remoteVirtualNetwork
清理资源
当不再需要所创建的资源时,请将其删除。 由于存在依赖关系,必须按特定顺序删除某些虚拟 WAN 资源。 大约需要 30 分钟才能完成删除。
按以下顺序删除点到站点 VPN 配置的所有网关实体。 此步骤可能最多需要 30 分钟才能完成。
删除点到站点 VPN 网关。
Remove-AzP2sVpnGateway -Name "p2svpngw" -ResourceGroupName "testRG"删除用户 VPN 服务器配置。
Remove-AzVpnServerConfiguration -Name "testconfig" -ResourceGroupName "testRG"可以删除整个资源组,以删除其中包含的所有剩余资源,包括中心、站点和虚拟 WAN。
Remove-AzResourceGroup -Name "testRG"或者,可以选择删除资源组中的每个资源。
删除虚拟中心。
Remove-AzVirtualHub -ResourceGroupName "testRG" -Name "chinaeast2hub"删除虚拟 WAN。
Remove-AzVirtualWan -Name "MyVirtualWan" -ResourceGroupName "testRG"
后续步骤
接下来,若要详细了解虚拟 WAN,请参阅虚拟 WAN 常见问题解答。