本文介绍如何创建站点到站点 VPN,将 Azure Stack Hub 中的虚拟网络连接到 Azure 中的虚拟网络。
在您开始之前
若要完成连接配置,请确保在开始之前具有以下项:
- 直接连接到 Internet 的 Azure Stack Hub 集成系统(多节点)部署。 您的外部公网 IP 地址范围必须能够直接从公共互联网访问。
- 有效的 Azure 订阅。 如果没有 Azure 订阅,可以创建 试用订阅。
VPN 连接关系图
下图显示了完成后连接配置应有的样子:
网络配置示例值
网络配置示例表显示了本文中用于示例的值。 可以使用这些值,也可以参考这些值来更好地了解本文中的示例:
价值 | Azure Stack Hub | 蔚蓝 |
---|---|---|
虚拟网络名称 | Azs-VNet | AzureVNet |
虚拟网络地址空间 | 10.1.0.0/16 | 10.100.0.0/16 |
子网名称 | FrontEnd | FrontEnd |
子网地址范围 | 10.1.0.0/24 | 10.100.0.0/24 |
网关子网 | 10.1.1.0/24 | 10.100.1.0/24 |
在 Azure 中创建网络资源
首先,为 Azure 创建网络资源。 以下说明演示如何使用 Azure 门户创建资源。
创建虚拟网络和虚拟机(VM)子网
- 使用 Azure 帐户登录到 Azure 门户。
- 在用户门户中,选择“ + 创建资源”。
- 转到 市场,然后选择“ 网络”。
- 选择“虚拟网络”。
- 使用网络配置表中的信息来标识 Azure 名称、地址空间、子网名称和子网地址范围的值。
- 对于 资源组,请创建新的资源组,或者,如果已有资源组,请选择“ 使用现有资源组”。
- 选择 VNet 的位置。 如果使用示例值,请选择 “中国东部 ”或使用其他位置。
- 选择“固定到仪表板”。
- 选择 创建。
创建网关子网
从仪表板打开创建的虚拟网络资源(AzureVNet)。
在 “设置” 部分中,选择 “子网”。
选择 网关子网 ,将网关子网添加到虚拟网络。
默认情况下,子网的名称设置为 GatewaySubnet 。
重要
网关子网很特殊,必须具有此特定名称才能正常运行。
在 “地址范围 ”字段中,验证地址是否为 10.100.1.0/24。
选择“确定”创建网关子网。
创建虚拟网络网关
- 在 Azure 门户中,选择“ + 创建资源”。
- 转到 市场,然后选择“ 网络”。
- 在网络资源列表中,选择 “虚拟网络网关”。
- 在 “名称” 字段中,键入 Azure-GW。
- 若要选择虚拟网络,请选择 “虚拟网络”。 然后从列表中选择 AzureVnet 。
- 选择“公共 IP 地址”。 “ 选择公共 IP 地址 ”部分打开时,选择“ 新建”。
- 在 “名称 ”字段中,键入 Azure-GW-PiP,然后选择“ 确定”。
- 验证 订阅 和 位置 是否正确。 可将资源固定到仪表板。 选择 创建。
创建本地网络网关资源
在 Azure 门户中,选择“ + 创建资源”。
转到 市场,然后选择“ 网络”。
从资源列表中选择 “本地网络网关”。
在 “名称” 字段中,键入 Azs-GW。
在 “IP 地址 ”字段中,键入前面在网络配置表中列出的 Azure Stack Hub 虚拟网络网关的公共 IP 地址。
在 Azure Stack Hub 的“地址空间”字段中,键入 AzureVNet 的 10.1.0.0/24 和 10.1.1.0/24 地址空间。
验证 订阅、 资源组和 位置 是否正确,然后选择“ 创建”。
创建连接
在用户门户中,选择“ + 创建资源”。
转到 市场,然后选择“ 网络”。
从资源列表中选择 “连接”。
在“基本设置”部分的“连接类型”中,选择“站点到站点”(IPSec)。
选择 “订阅”、“ 资源组”和 “位置”,然后选择“ 确定”。
在 “设置” 部分中,选择 “虚拟网络网关”,然后选择 “Azure-GW”。
选择 “本地网络网关”,然后选择 “Azs-GW”。
在 “连接名称”中,键入 Azure-Azs。
在 共享密钥(PSK)中,键入 12345,然后选择“ 确定”。
注释
如果对共享密钥使用不同的值,请记住,它必须与在连接的另一端创建的共享密钥的值匹配。
查看 “摘要 ”部分,然后选择“ 确定”。
创建自定义 IPSec 策略
需要自定义 IPSec 策略才能使 Azure 与 Azure Stack Hub 匹配。
创建自定义策略:
$IPSecPolicy = New-AzIpsecPolicy -IkeEncryption AES256 -IkeIntegrity SHA384 -DhGroup ECP384 ` -IpsecEncryption GCMAES256 -IpsecIntegrity GCMAES256 -PfsGroup ECP384 -SALifeTimeSeconds 27000 ` -SADataSizeKilobytes 102400000
将策略应用于连接:
$Connection = Get-AzVirtualNetworkGatewayConnection -Name myTunnel -ResourceGroupName myRG Set-AzVirtualNetworkGatewayConnection -IpsecPolicies $IPSecPolicy -VirtualNetworkGatewayConnection $Connection
创建 VM
现在,在 Azure 中创建 VM,并将其放在虚拟网络中的 VM 子网上。
在 Azure 门户中,选择“ + 创建资源”。
转到“市场”,选择“计算”。
在 VM 映像列表中,选择 Windows Server 2016 Datacenter Eval 映像。
在 “基本信息 ”部分,对于 “名称”,键入 AzureVM。
键入有效的用户名和密码。 创建 VM 后,使用此帐户登录到 VM。
提供 订阅、 资源组和 位置,然后选择“ 确定”。
在“ 大小 ”部分中,选择此实例的 VM 大小,然后选择“ 选择”。
在 “设置” 部分中,可以使用默认设置。 在选择 “确定”之前,请确认:
- 已选择 AzureVnet 虚拟网络。
- 子网设置为 10.100.0.0/24。
选择“确定”。
查看 “摘要 ”部分中的设置,然后选择“ 确定”。
在 Azure Stack Hub 中创建网络资源
接下来,在 Azure Stack Hub 中创建网络资源。
以用户身份登录
服务管理员可以以用户身份登录,以测试其用户可能使用的计划、套餐和订阅。 如果还没有用户帐户,请在登录前 创建一个用户帐户 。
创建虚拟网络和 VM 子网
使用用户帐户登录到用户门户。
在用户门户中,选择“ + 创建资源”。
转到 市场,然后选择“ 网络”。
选择“虚拟网络”。
对于名称、地址空间、子网名称和子网地址范围,请使用网络配置表中的值。
在 “订阅”中,将显示之前创建的订阅。
对于 资源组,可以创建资源组,或者如果已有资源组,请选择“ 使用现有资源组”。
验证默认位置。
选择“固定到仪表板”。
选择 创建。
创建网关子网
在仪表板上,打开创建的 Azs-VNet 虚拟网络资源。
在 “设置” 部分中,选择 “子网”。
若要将网关子网添加到虚拟网络,请选择 “网关子网”。
默认情况下,子网名称设置为 GatewaySubnet。 若要使网关子网正常运行,必须使用 GatewaySubnet 名称。
在 地址范围内,验证地址是否为 10.1.1.0/24。
选择“确定”创建网关子网。
创建虚拟网络网关
在 Azure Stack Hub 门户中,选择“ + 创建资源”。
转到 市场,然后选择“ 网络”。
在网络资源列表中,选择 “虚拟网络网关”。
在 “名称”中,键入 Azs-GW。
选择 虚拟网络 项以选择虚拟网络。 从列表中选择 Azs-VNet 。
选择 “公共 IP 地址 ”菜单项。 “ 选择公共 IP 地址 ”部分打开时,选择“ 新建”。
在 “名称”中,键入 Azs-GW-PiP,然后选择“ 确定”。
对于“VPN 类型”,默认选择“基于路由”。 保留 基于路由的 VPN 类型。
验证 订阅 和 位置 是否正确。 可将资源固定到仪表板。 选择 创建。
创建本地网关
Azure Stack Hub 中 本地网关 的概念与 Azure 部署中的概念不同。
在 Azure 部署中,本地网络网关表示连接到 Azure 中的虚拟网络网关的本地(位于用户位置)物理设备。 但是,在 Azure Stack Hub 中,连接的两端都是虚拟网络网关。
更通用的说明是,本地网络网关资源始终指示连接的另一端的远程网关。
创建本地网络网关资源
登录到 Azure Stack Hub 门户。
在用户门户中,选择“ + 创建资源”。
转到 市场,然后选择“ 网络”。
从资源列表中选择 本地网络网关。
在 “名称” 字段中,键入 Azure-GW。
在 “IP 地址 ”字段中,键入 Azure Azure-GW-PiP 中虚拟网络网关的公共 IP 地址。 此地址显示在网络配置表中的前面。
在 “地址空间 ”字段中,对于创建的 Azure VNET 的地址空间,请键入 10.100.0.0/24 和 10.100.1.0/24。
验证 订阅、 资源组和 位置 值是否正确,然后选择“ 创建”。
创建连接
在用户门户中,选择“ + 创建资源”。
转到 市场,然后选择“ 网络”。
从资源列表中选择 “连接”。
在“基本信息设置”部分的“连接类型”中,选择“站点到站点”(IPSec)。
选择 “订阅”、“ 资源组”和 “位置”,然后选择“ 确定”。
在 “设置” 部分中,选择 “虚拟网络网关”,然后选择 “Azs-GW”。
选择 “本地网络网关”,然后选择 “Azure-GW”。
在 “连接名称”中,键入 Azs-Azure。
在 共享密钥(PSK)中,键入 12345,然后选择“ 确定”。
在“ 摘要 ”部分中,选择“ 确定”。
创建 VM
若要检查 VPN 连接,请创建两个 VM:一个在 Azure 中,一个在 Azure Stack Hub 中创建一个。 创建这些 VM 后,可以使用它们通过 VPN 隧道发送和接收数据。
在 Azure 门户中,选择“ + 创建资源”。
转到“市场”,选择“计算”。
在 VM 映像列表中,选择 Windows Server 2016 Datacenter Eval 映像。
在 “基本信息 ”部分的 “名称”中,键入 Azs-VM。
键入有效的用户名和密码。 创建 VM 后,使用此帐户登录到 VM。
提供 订阅、 资源组和 位置,然后选择“ 确定”。
在此实例的 “大小 ”部分中,选择 VM 大小,然后选择“ 选择”。
在 “设置” 部分中,接受默认值。 确保已选择 Azs-VNet 虚拟网络。 验证子网是否设置为 10.1.0.0/24。 然后选择“ 确定”。
在 “摘要 ”部分中,查看设置,然后选择“ 确定”。
测试连接
建立站点到站点连接后,应验证是否可以在两个方向流动数据。 测试连接的最简单方法是执行 ping 测试:
- 登录到您在 Azure Stack Hub 中创建的 VM,并在 Azure 中对该 VM 进行 ping 操作。
- 登录到在 Azure 中创建的 VM,并在 Azure Stack Hub 中 ping VM。
注释
为了确保发送的流量通过站点到站点连接,必须 ping 远程子网上 VM 的直接 IP (DIP) 地址,而不是 VIP。
登录到 Azure Stack Hub 中的用户 VM
登录到 Azure Stack Hub 门户。
在左侧导航栏中,选择 “虚拟机”。
在 VM 列表中,找到之前创建的 Azs-VM ,然后选择它。
在 VM 的部分中,选择 “连接”,然后打开 Azs-VM.rdp 文件。
使用创建 VM 时配置的帐户登录。
打开提升的Windows PowerShell提示符。
键入 ipconfig /all。
在输出中,找到 IPv4 地址,然后保存地址供以后使用。 这是要从 Azure ping 的地址。 在示例环境中,地址为 10.1.0.4,但在环境中可能有所不同。 它应位于之前创建的 10.1.0.0/24 子网内。
若要创建允许 VM 响应 ping 的防火墙规则,请运行以下 PowerShell 命令:
New-NetFirewallRule ` -DisplayName "Allow ICMPv4-In" ` -Protocol ICMPv4
登录到 Azure 中的租户 VM
登录到 Azure 门户。
在左侧导航栏中,选择 “虚拟机”。
从 VM 列表中,找到之前创建的 Azure VM ,然后选择它。
在 VM 的部分中,选择“ 连接”。
使用创建 VM 时配置的帐户登录。
打开提升的 Windows PowerShell 窗口。
键入 ipconfig /all。
应会看到 IPv4 地址位于 10.100.0.0/24 以内。 在示例环境中,地址为 10.100.0.4,但地址可能有所不同。
若要创建允许 VM 响应 ping 的防火墙规则,请运行以下 PowerShell 命令:
New-NetFirewallRule ` -DisplayName "Allow ICMPv4-In" ` -Protocol ICMPv4
在 Azure 上的 VM 中,通过隧道 ping Azure Stack Hub 中的 VM。 为此,请 ping 从 Azs-VM 中记录的 DIP。 在示例环境中,该地址为 10.1.0.4,但请确保 ping 实验室中记下的地址。 应会看到类似于以下屏幕截图的结果:
来自远程 VM 的答复表示测试成功。 可以关闭 VM 窗口。
还应执行更严格的数据传输测试(例如,在两个方向复制不同大小的文件)。
通过网关连接查看数据传输统计信息
如果想要了解通过站点到站点连接的数据量,可以在 “连接” 部分获取此信息。 此测试也是验证刚刚发送的 ping 实际通过 VPN 连接的另一种方法。
登录到 Azure Stack Hub 中的用户 VM 时,请使用用户帐户登录到用户门户。
转到 “所有资源”,然后选择 Azs-Azure 连接。 显示连接。
在 “连接” 部分中,将显示 “数据传入 ”和 “数据出” 的统计信息。 在以下屏幕截图中,大量数字归因于其他文件传输。 应会看到其中有一些非零值。