如何为 MikroTik 路由器配置基于动态路由的 AWS Site-to-Site VPN?

2 分钟阅读
0

我想使用 BGP 在 AWS 与 MikroTik 路由器之间配置 AWS 托管式站点到站点 VPN 连接。

解决方法

**注意:**有关如何优化 AWS VPN 性能的信息,请参阅 AWS Site-to-Site VPN,并选择合适的选项来优化性能

先决条件

在开始之前,请确保:

  • 您已配置了与虚拟专用网关关联或连接到中转网关的虚拟私有云(VPC)CIDR。
  • VPC CIDR 与本地网络 CIDR 不重叠。

为 MikroTik 路由器创建使用 BGP 路由的 AWS Site-to-Site VPN

  1. 按照 AWS Site-to-Site VPN 入门中的步骤 1 到 5 配置 VPN 连接的 AWS 端。注意:
    • 应验证您的客户网关设备的自治系统号(ASN)。如果您选择默认值,则 AWS 为您的客户网关提供的 ASN 为 65000。
    • 步骤 5 中将路由选项选为动态
  2. 打开 Amazon VPC 控制台。导航到站点到 VPN 连接
  3. 选择您的 VPN 连接并下载路由器的示例配置文件。 
    **注意:**使用此示例文件在路由器上配置 AWS Site-to-Site VPN。
  4. 使用 Winbox 登录 MikroTik 路由器的用户界面
  5. 按如下所示在 MikroTik 路由器上配置 IPSEC 提案:
    IPSEC 提案定义有关加密、身份验证、Diffie-Hellman 组和生命周期的 IPSEC 参数。
    转到“IP”选项卡 > IPsec > 提案
    选择 + 按钮。然后,输入以下内容:
    **名称:**ipsec-vpn-xxxxxxxxx-0
    **身份验证算法:**sha1
    **加密算法:**aes-128-cbc
    生命周期:01:00:00
    PFS 组:modp1024
    选择
    应用
    确定

    注意: 请将 <vpn-xxxxxxxxx-0> 替换为您的 Ipsec VPN 地址或 VPN 的名称。
  6. 通过以下方式在 MikroTik 路由器上创建 IPSEC 策略: IPSEC 策略允许流量从您的本地子网传输到 VPC 子网。IPSEC 策略还允许来自您的客户网关(MikroTik 路由器)的内部隧道 IP 和 AWS VPN 隧道端点的内部隧道 IP 的流量。MikroTik 路由器上的 IPSEC 策略中的流量选择器可以配置为任意(0.0.0.0/0)到任意(0.0.0.0/0)。
    转到“IP”选项卡 > IPsec > 策略
    选择 + 按钮。然后,输入以下内容:
    地址:0.0.0.0/0
    目标地址:0.0.0.0/0
    选择
    操作
    选项卡
    选择
    隧道
    。然后,按如下所示输入各项内容:
    **SA 源地址:**WAN/外部接口
    SA 目标地址:VGW 外部 IP
    提案:ipsec-vpn-xxxxxxxxx-0
    选择
    应用
    确定

    **注意:**请将 <vpn-xxxxxxxxx-0> 替换为您的 Ipsec VPN 地址或 VPN 的名称。
  7. 为 MikroTik 路由器创建互联网密钥交换(IKE)配置文件。IKE 配置文件定义有关加密、身份验证、Diffie-Hellman 组、身份验证密钥和生命周期的 IKE SA 或第 1 阶段 SA 参数。
    转到“IP”选项卡 > IPsec > 配置文件
    选择 + 按钮。按如下所示输入详细信息:
    **配置文件名称:**profile-vpn-xxxxxxxxx-0
    **哈希算法:**sha1
    **加密算法:**aes-128
    **DH 组:**modp1024
    **生命周期:**08:00:0
    DPD 间隔:10
    DPD 最大失败次数:3
    选择
    应用
    确定

    **注意:**请将 <profile-vpn-xxxxxxxxx-0> 替换为您的配置文件的 VPN 地址或配置文件的名称。
  8. 将 IKE 配置文件与 AWS VPN 端点(对等方)关联:
    转到“IP”选项卡 > IPsec > 对等。然后,按如下所示输入详细信息:
    地址: <AWS tunnel IP>
    本地地址:<MikroTik IP on the external interface>
    配置文件:profile-vpn-xxxxxxxxx-0
    交换模式:主要
    选择
    应用
    确定

    **注意:**请将 <AWS tunnel IP> 替换为您的 AWS 隧道 IP 地址和 <外部接口上的 MikroTik IP>(具有关联的 MikroTik IP 地址)。请将 <profile-vpn-xxxxxxxxx-0> 替换为您的配置文件的 VPN 地址或配置文件的名称。
  9. 添加用于验证对等方身份的预共享密钥。可从 AWS 管理控制台下载的示例配置文件获取预共享密钥。
    转到“IP”选项卡 > IPsec > 身份。然后,按如下所示输入详细信息:
    身份验证方法:预共享密钥
    密钥:AAAAAAAAAAAAAAAAAA
    选择
    应用
    确定
  10. 通过以下方式在 MikroTik 路由器上配置逻辑隧道接口: 来自本地专用网络的所有流量都将路由到逻辑隧道接口。然后,流量将被加密并发送到 VPC,反之亦然。
    转到“IP”选项卡 > 地址
    选择 + 按钮。然后,按如下所示输入详细信息:
    地址:169.254.X.X.30
    接口:WAN/外部接口
    选择
    应用
    确定
  11. 在 MikroTik 路由器上配置 BGP 对等方,以便在 AWS VPN 隧道端点(虚拟专用网关或中转网关)之间交换路由前缀,如下所示:
    转到路由 > BGP > 对等
    选择 + 按钮,然后选择常规选项卡。然后,按如下所示输入详细信息:
    **名称:**BGP-vpn-xxxxxxxxx-0
    **远程地址:**169.254.X.X
    **远程 AS:**64512
    保持时间:30
    保持连接时间:10
    选择
    应用
    确定

    **注意:**请将 <BGP-vpn-xxxxxxxxx-0> 替换为您的 BGP VPN 地址。
  12. 公布本地的本地前缀。您的客户网关(MikroTik 路由器)将向 AWS 播发本地前缀。子网/掩码为 10.0.0.0/16 的本地前缀示例如下所示:
    转到路由选项卡 > BGP > 网络
    选择 + 按钮。然后,按如下所示输入各项内容:
    网络:10.0.0.0/16
    选择
    应用
    确定
  13. 设置 NAT 免除。
    创建允许流量从本地子网传输到 VPC 的规则。
    注意:如果您要在客户网关上执行网络地址转换(NAT),则可能需要一个 NAT 免除规则来允许流量从本地子网传输到 VPC 子网,反之亦然。此示例规则允许流量从本地子网传输到 VPC 子网。
    转到“IP”选项卡 > 防火墙 > NAT
    选择 + 按钮,然后选择
    常规
    选项卡。然后,按如下所示输入各项内容:
    :srcnat
    源地址:本地子网/掩码
    目标地址:Amazon Virtual Private Cloud(Amazon VPC)本地子网/掩码
    选择
    操作
    选项卡。然后,按如下所示输入各项内容:
    操作 = 接受
    选择
    应用
    确定
  14. 创建防火墙规则,以允许流量从与您的客户网关关联的内部 IP(MikroTik 隧道 IP)传输到与 AWS 隧道关联的内部 IP(即虚拟专用网关或中转网关)。
    选择 + 按钮,然后选择“常规”选项卡。然后,按如下所示输入各项内容:
    链:srcnat
    源地址:169.254.X.X
    目标地址:169.254.X.X
    选择
    操作
    选项卡。
    操作 = 接受
    选择
    应用
    确定

    **注意:**您的客户网关可能有多个可能与 NAT 免除规则冲突的防火墙规则。为了避免发生策略冲突,请将 NAT 免除规则置于适当位置,使其按照您设置的顺序进行评估。
AWS 官方
AWS 官方已更新 1 年前