• 项目
  • 2017/07/11
  • 6分钟可浏览

作者丹尼尔·皮雷斯丹尼尔·毛瑟

介绍

在本文中,我们将向您展示如何使用 MikroTik 路由器在 Azure 和本地位置之间设置 IPSec 站点到站点 VPN。几年前发布了另一篇关于同一主题的博客文章使用 Windows Azure 和 MikroTik (RouterOS) 创建站点到站点 VPN。但是,我们在本文中有一些重大更新。首先,我们将使用 Azure 资源管理器门户(https://portal.azure.com )设置站点到站点 VPN),而原始文章使用经典 Azure 门户。其次,这篇博文中的 VPN 网关是基于路由的,它将利用 IKE 版本 2 (IKEv2),而第一篇文章中的基于策略的网关利用了 IKE 版本 1 (IKEv1)。如果您不熟悉 IPSec 参数的术语,尤其是 IKEv2,请查看以下文档About VPN devices and IPsec/IKE parameters for Site-to-Site VPN Gateway connections

设想

下面我们有一个分步介绍的场景图。

配置站点到站点 VPN 所需的上图中的相关信息。

蔚蓝的一面:

  • VNET 子网:10.4.0.0/16
  • Azure VPN网关公网IP:13.85.83.XX

本地方面:

  • 子网:192.168.88.0/24
  • On-Prem 网关的公共 IP:47.187.118.YY

Azure:配置基于路由的 IPSec 站点到站点 VPN

本节我们将逐步介绍如何在 Azure 端配置 Site-to-Site VPN。此处演示的步骤与官方文档中的相同:在 Azure 门户中创建站点到站点连接。因此,我们不会一步一步地介绍如何到达屏幕的具体步骤,您可以参考官方文档。此外,如果您已经熟悉这些步骤,请随意跳到下面的会话中:MikroTik(本地)配置 IPSec (IKEv2) 站点到站点 VPN

1.创建虚拟网络

2. 指定 DNS 服务器(可选,此演示不需要)

3. 创建网关子网:

一种。选择网关子网

湾。添加网关子网。在这种情况下,我将使用 10.4.0.0/16 内的最终 255 网络创建 32 个分配给 VPN 网关的地址,子网为:10.4.255.0.27

4. 创建虚拟网络网关。重要的是要强调我们将使用 VPN 类型:基于路由 此外,对于您的实验室目的,您可以使用 SKU Basic,对于生产工作负载,建议至少使用标准 SKU。有关 VPN 网关大小的更多信息,请参阅:网关 SKU

a) 创建名为 VNET1GW 的虚拟网关

b) 创建虚拟网络网关后,您可以看到状态以及将要使用的公共 IP:

5. 创建本地网络网关,需要您指定 VPN 设备的公共 IP (47.187.117.YY) 以及本地子网 (192.168.88.0/24)。

6. 配置您的 VPN 设备 – 请参阅部分:  MikroTik (On-Premises) 配置 IPSec (IKEv2) Site-to-Site VPN

7. 创建 VPN 连接

8.验证VPN连接

MikroTik(本地)配置 IPSec (IKEv2) 站点到站点 VPN

MikroTik RouterOS 有多种型号,并且有非常实惠的设备型号,您还可以使用它们来玩和学习如何使用 Azure 配置 Site-to-Site VPN。

免责声明:虽然我们在本文中演示了 Mikrotik,但重要的是要提到 Microsoft 不直接支持设备配置。如果您有问题,请联系设备制造商以获取更多支持和配置说明。

需要强调的重要一点是 IKEv2 已在 6.38 版中引入。因此,请确保您有一个兼容版本,以便能够继续我们使用的本文中演示的配置:RouterBOARD 750 和软件版本:RouterOS 6.39。

在本教程中, Winbox管理实用程序已用于执行 MikroTik 配置,以下是正确配置 MikroTik 的必要步骤:

  1. 通过选择菜单IPIPSec添加 IPSec 策略- 在策略选项卡上单击+(加号)以添加新策略。在常规选项卡上添加两个子网(来源:本地和目标:Azure),如图所示: 
  2. 在同一屏幕上,但操作选项卡 - 选择隧道并指定本地源公共 IP 和目标 Azure 网关公共 IP,可以在创建虚拟网络网关后获取(请参阅:Azure S2S VPN 部分 - 步骤 4b)
  3. Peers选项卡上 – 单击 +(加号)并添加一个新的 IPSec Peer。在 IPSec 术语中,我们正在此配置选项卡上处理 IKE 阶段 1(主模式)。这里我们需要 Azure 网关公共 IP,指定可以在第一部分 - 步骤 7(创建 VPN 连接)中指定的预共享密钥。注意:如果您的 MikroTik 不显示 IKEv2,请确保您至少拥有 RouteOS 版本:6.38。在该版本之前,只有 IKEv1 可用。
  4. 在同一屏幕上,转到“高级”选项卡,根据 Azure 官方文档IPSec/IKE 参数- SA(安全关联),用于 IKE Phase 1(主模式),将 Lifetime 调整为 8h = 28,800 秒。 
  5. Encryption选项卡上,您可以使用 Azure 支持的默认值,或者调整更强的哈希和加密(请参阅此处的详细信息:IPSec/IKE 参数)。本文选择了以下内容: 
  6. 现在,让我们继续讨论在 MikroTik 中由Proposals 表示的 IKE 阶段 2(快速模式)。对于这个,您可以创建一个新的(+ 号)或更改默认值。如果您创建一个新的,请确保更改第 2 步(IP Sec 策略)和操作选项卡并选择适当的建议。对于本文,我们将根据 Azure 官方信息为IPSec/IKE 参数中的 IKE Phase 2 更改默认的 IPSec Proposal : 
  7. 确保 VPN 将在 On-Prem 和 Azure 之间正确路由的最后一步是配置 NAT 规则。这是通过转到IP并选择防火墙- 选择NAT选项卡来完成的
    1. 将链添加为srcnat和两个子网(本地和 Azure 子网)。 
    2. 在操作选项卡上选择接受 

验证 IPSec 隧道

在每侧的两台计算机之间 Ping。在右侧本地计算机 (192.168.88.17) 中正确 ping Azure VM (10.4.0.4),反之亦然。

在两边,我们看到 TTL 为 126,这对应于两个跃点(两个网关)递减。Windows 机器的默认 TTL 为 128。

注意:默认情况下,ICMP 是禁用的。通过运行以下 PowerShell 命令确保允许 ICMP:
Set-NetfirewallRule -Name FPS-ICMP4-ERQ-In -Enable  True

在 Azure 一侧

在 Azure 门户上,您可以验证如第 8 项所示创建的全新隧道。验证上面的 VPN 连接。这也可以通过 PowerShell 使用以下命令进行验证:Get-AzureRmVirtualNetworkGatewayConnection -Name From-Azure-to-Mikrotik -ResourceGroupName S2SVPNDemo 

在 MikroTik 方面
有多种方法可以在 MikroTik 上验证与 Azure 的 IPSec VPN 连接。以下是一些方法:
1. IPSec –策略选项卡。它显示 IKE 阶段 2 是否正常工作。


2.远程对等选项卡。这显示 IKE 阶段 1(主模式)是否正常工作。


3.已安装的 SA选项卡显示当前的安全关联:

IPSec 故障排除

如果在您的配置过程中由于某种原因无法正常工作,您可以进行故障排除以确定发生了什么。MikroTik 为记录和排除 IPSec 故障提供了一个很好的界面,以防您想获得有关正在发生的事情的更多详细信息。事件可以在日志菜单中可视化,但为了确保您可以公开 IPSec 事件,您需要在日志配置(系统 - 日志)中进行简单更改并将 IPSec 添加为主题:

添加此新的日志记录规则后,您将看到以下详细的 IPSec 事件:

额外提示:请参阅读者分享的有关 TCP MSS Clamp 配置的评论。

结论

在本文中,我们演示了如何在 Azure 和 MikroTik RouterBoard 之间使用 IKEv2(基于路由)设置 IPSec 站点到站点 VPN。这些说明还可以帮助您设置与 Azure VPN 网关设置兼容的任何 IPSec 设备。我希望您喜欢这里分享的信息,如果您有其他问题,请在下面的评论中告诉我们。我要特别感谢 Azure 支持升级工程师 Daniel Pires,他与我共同撰写了这篇文章。谢谢!

作者 Qi, Asura

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注