实现基于 ExpressRoute 的加密
部署 Azure 虚拟 WAN,以通过 Azure ExpressRoute 线路的专用对等互连建立从本地网络到 Azure 的 IPsec/IKE VPN 连接。 此方法可以通过 ExpressRoute 在本地网络与 Azure 虚拟网络之间提供加密的传输,而无需通过公共 Internet 进行传输或使用公共 IP 地址。
拓扑和路由
该图显示了通过 ExpressRoute 专用对等互连连接到 Azure 中心 VPN 网关的本地网络中的某个网络。 连接的建立非常直接:
- 与 ExpressRoute 线路和专用对等互连建立 ExpressRoute 连接。
- 按照示例中所述建立 VPN 连接。
此配置的重要方面是通过 ExpressRoute 和 VPN 路径在本地网络和 Azure 之间进行路由。
从本地网络发往 Azure 的流量
对于从本地网络发往 Azure 的流量,Azure 前缀(包括虚拟中心以及连接到中心的所有辐射虚拟网络)通过 ExpressRoute 专用对等互连 BGP 和 VPN BGP 进行播发。 这会建立从本地网络到 Azure 的两个网络路由(路径):
- 一个路由是通过受 IPsec 保护的路径建立的
- 一个路由是通过不受 IPsec 保护的 ExpressRoute 直接建立的
若要将加密应用于通信,必须确保对于图中所示的已连接 VPN 的网络,优先使用通过本地 VPN 网关建立的 Azure 路由,而不是通过直接 ExpressRoute 路径建立的路由。
从 Azure 发往本地网络的流量
相同的要求适用于从 Azure 发往本地网络的流量。 为了确保优先使用 IPsec 路径而不是直接 ExpressRoute 路径(不受 IPsec 保护),可以采用两种做法:
在已连接 VPN 的网络的 VPN BGP 会话中播发更具体的前缀。 可以通过 ExpressRoute 专用对等互连播发包含已连接 VPN 的网络的更大范围,然后在 VPN BGP 会话中播发更具体的范围。 例如,通过 ExpressRoute 播发 10.0.0.0/16,通过 VPN 播发 10.0.1.0/24。
为 VPN 和 ExpressRoute 播发不相交的前缀。 如果已连接 VPN 的网络范围与已连接 ExpressRoute 的其他网络不相交,则可以分别在 VPN 和 ExpressRoute BGP 会话中播发这些前缀。 例如,通过 ExpressRoute 播发 10.0.0.0/24,通过 VPN 播发 10.0.1.0/24。
在这两个示例中,Azure 将通过 VPN 连接将流量发送到 10.0.1.0/24,而不是直接通过不受 VPN 保护的 ExpressRoute 发送。
开始之前
在开始配置之前,请验证是否符合以下条件:
- 如果已有要连接的虚拟网络,请验证本地网络的任何子网都没有与之重叠。 虚拟网络不需要网关子网,并且不能包含任何虚拟网络网关。 如果没有虚拟网络,可以使用本文中的步骤创建一个。
- 获取中心区域的 IP 地址范围。 中心是一个虚拟网络,为中心区域指定的地址范围不能与连接到的现有虚拟网络重叠。 此外,它也不能与连接到本地的地址范围重叠。 如果不熟悉本地网络配置中的 IP 地址范围,请咨询能够提供此类详细信息的人员。
- 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
1.创建带有网关的虚拟 WAN 和中心
在继续操作之前,必须准备好以下 Azure 资源和相应的本地配置:
- 一个 Azure 虚拟 WAN。
- 一个具有 ExpressRoute 和虚拟专用网网关的虚拟 WAN 中心。
2.为本地网络创建站点
站点资源与虚拟 WAN 的非 ExpressRoute VPN 站点相同。 本地 VPN 设备的 IP 地址现在可以是专用 IP 地址,也可以是本地网络中可通过之前创建的 ExpressRoute 专用对等互连配置访问的公共 IP 地址。
转到“你的虚拟 WAN”,然后转到 VPN 站点并为本地网络创建一个站点。 请记住以下设置值:
- 边界网关协议:如果本地网络使用 BGP,请选择“启用”。
- 专用地址空间:输入位于本地站点上的 IP 地址空间。 发往此地址空间的流量将通过 VPN 网关路由到本地网络。
选择“链路”以添加物理链路的信息。 请记住以下设置信息:
- 提供商名称:此站点的 Internet 服务提供商的名称。 对于 ExpressRoute 本地网络,该名称是 ExpressRoute 服务提供商的名称。
- 速度:Internet 服务链接或 ExpressRoute 线路的速度。
- IP 地址:驻留在本地站点上的 VPN 设备的公共 IP 地址。 对于本地 ExpressRoute,它是通过 ExpressRoute 连接的 VPN 设备的专用 IP 地址。
- 如果启用了 BGP,它将应用到在 Azure 中为此站点创建的所有连接。 在虚拟 WAN 上配置 BGP 等同于在 Azure VPN 网关上配置 BGP。
- 本地 BGP 对等方地址不能与连接到设备的 VPN 的 IP 地址或 VPN 站点的虚拟网络地址空间相同。 在 VPN 设备上对 BGP 对等节点 IP 使用不同的 IP 地址。 它可以是分配给该设备上环回接口的地址。 但是,该地址不能是 APIPA (169.254.x.x) 地址。 在表示该位置的相应 VPN 站点中指定此地址。
选择“下一步: 查看 + 创建 ”以检查设置值并创建 VPN 站点,然后“创建”站点。
接下来,将站点连接到中心。 更新网关最多可能需要 30 分钟。
3.将 VPN 连接设置更新为使用 ExpressRoute
创建 VPN 站点并连接到中心后,使用以下步骤将连接配置为使用 ExpressRoute 专用对等互连:
转到“虚拟中心”。 为此,可以转到虚拟 WAN 并选择中心以打开中心页,也可以从 VPN 站点转到连接的虚拟中心。
在“连接”下,选择“VPN (站点到站点)”。
选择省略号 (...),或右键单击通过 ExpressRoute 的 VPN 站点,然后选择“编辑与此中心的 VPN 连接”。
在“基本信息”页上,保留默认值。
在“链路连接 1”页上,配置以下设置:
- 对于“使用 Azure 专用 IP 地址”,请选择“是”。 此设置将中心 VPN 网关配置为对此连接使用网关上的中心地址范围内的专用 IP 地址,而不是使用公共 IP 地址。 这将确保来自本地网络的流量通过 ExpressRoute 专用对等互连路径,而不是对此 VPN 连接使用公共 Internet。
单击“创建”更新设置。 创建了设置后,中心 VPN 网关将使用 VPN 网关上的专用 IP 地址,通过 ExpressRoute 来与本地 VPN 设备建立 IPsec/IKE 连接。
4.获取中心 VPN 网关的专用 IP 地址
下载 VPN 设备配置,以获取中心 VPN 网关的专用 IP 地址。 需要使用这些地址来配置本地 VPN 设备。
- 在中心的页面上,选择“连接”下的“VPN (站点到站点)”。
- 在“概述”页的顶部,选择“下载 VPN 配置”。Azure 会在资源组“microsoft-network-[location]”中创建一个存储帐户,其中,location 是 WAN 的位置。 将配置应用到 VPN 设备后,可以删除此存储帐户。
- 创建文件后,选择相应的链接下载该文件。
- 将配置应用到 VPN 设备。
VPN 设备配置文件
设备配置文件包含配置本地 VPN 设备时要使用的设置。 查看此文件时,请留意以下信息:
vpnSiteConfiguration:此部分表示作为连接到虚拟 WAN 的站点设置的设备详细信息。 其中包括分支设备的名称和公共 IP 地址。
vpnSiteConnections:此节提供有关以下设置的信息:
- 虚拟中心的虚拟网络的地址空间。
示例:"AddressSpace":"10.51.230.0/24"
- 已连接到中心的虚拟网络的地址空间。
示例:"ConnectedSubnets":["10.51.231.0/24"]
- 虚拟中心 VPN 网关的 IP 地址。 由于 VPN 网关的每个连接由采用“主动 - 主动”配置的 2 个隧道构成,因此,此文件中列出了这两个 IP 地址。 在此示例中,你会看到每个站点的 Instance0 和 Instance1,它们是专用 IP 地址而不是公共 IP 地址。
示例:"Instance0":"10.51.230.4" "Instance1":"10.51.230.5"
- VPN 网关连接的配置详细信息,例如 BGP 和预共享密钥。 预共享密钥是系统自动生成的。 始终可以在自定义预共享密钥的“概述”页上编辑连接。
- 虚拟中心的虚拟网络的地址空间。
配置 VPN 设备
如需有关如何配置设备的说明,可以使用 VPN 设备配置脚本页中的说明,并注意以下事项:
- VPN 设备页上的说明不是针对虚拟 WAN 编写的。 但你可以使用配置文件中的虚拟 WAN 值来手动配置 VPN 设备。
- 适用于 VPN 网关的可下载设备配置脚本并不适用于虚拟 WAN,因为配置不同。
- 新的虚拟 WAN 可以支持 IKEv1 和 IKEv2。
- 虚拟 WAN 只能使用基于路由的 VPN 设备和设备说明。
5.查看虚拟 WAN
- 转到虚拟 WAN。
- 在“概述”页上,地图中的每个点表示一个中心。
- 在“中心和连接”部分,可以查看中心、站点、区域和 VPN 连接状态。 还可以查看传入与传出的字节数。
6.监视连接
创建一个连接,用于监视 Azure 虚拟机 (VM) 与远程站点之间的通信。