亚马逊AWS官方博客

借助 RouterOS 和 AWS 网络服务打造全球办公网络

背景介绍

在面向客户提供网络解决方案时,我们经常会遇到客户有比较复杂的网络连通需求。比如客户在中国有多个办公室(北京、上海、深圳),并且在云端同时使用了 AWS 中国区域和 Global Region 的资源,希望可以实现每个办公点以及 AWS Region 点到点的访问需求,从而达到全球一张网效果,同时兼顾安全、可靠、性能、合规等因素的考量。

针对这样复杂的网络情况,在 AWS 上可以借助 RouterOS 以及相关的网络服务来进行构建解决方案,以满足需求。

核心组件介绍

  • China Cross-border Direct Connection service

这是一种网络解决方案,以帮助客户通过优化的跨境 DX 在中国区域(北京或宁夏)和选定的 AWS 全球区域(美国东部和西部、法兰克福、东京、新加坡和香港)之间建立 VPC 对等连接。客户现在可以更快地在几天内(而不是几个月内)完成跨境 DX 订购和配置,并且 DX 合同期限(最短承诺为 1 个月)和带宽修改更加灵活。启用跨境 DX 连接后,客户可以在指定的中国区域和全球区域建立两个 VPC 之间的连接。跨境 DX 将按带宽收费,并由 AWS 全球区域合并计费,详细请参考链接

  • RouterOS

RouterOS 是 MikroTik 公司开发一种路由操作系统,是基于 Linux 核心开发的路由软件,通过该软件可以把标准 PC 电脑变成专业路由器,RouterOS 软件的开发和应用不断的更新和发展,软件经历了多次更新和改进,其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能,其极高的性价比,受到许多网络人士的青睐。

目前 AWS Global 账户可直接在 MarketPlace 中启动 RouterOS,AWS 中国区账户可在 MikroTik 官网下载 img 镜像制作 AMI。

RouterOS 免费版限制 1M 带宽,高于 1M 带宽采用永久授权方式。

RouterOS 价格说明

方案分析

在整个的网络设计中,可以从逻辑上拆为两个部分,第一个部分是中国各办公室到 AWS 中国区域的网络连接,这一部分可以使用专线或者 VPN 实现,第二部分是 AWS 中国区域到 AWS Global Region 的网络连接,这一部分可以借助 China Cross-border Direct Connection Service 实现。至于中国各办公室到 AWS Global Region 的网络连接,则可以基于 AWS 中国区域做为桥梁,使用 RouterOS 来进行路由转发,以满足从办公室到 AWS Global Region 的通信。

1. 中国办公室到 AWS 中国区域连接方案

由于 IPSEC VPN 只能将办公室 VPN Server 连接到 AWS 中国区域 VPC,无法将办公室网络中的其它 IP 传递到 VPC 网络,因此本方案需要使用办公室本地 RouterOS 设备与 AWS 中国区域 VPC 中的 RouterOS 服务器建立隧道连接,在 RouterOS 中设置路由策略进行转发。

1.1 GRE 隧道方案

针对 Office 有互联网出口固定公网 IP 的场景,可在 Office 到 AWS 中国区 VPC 中搭建 GRE 隧道。默认 GRE 不会对传输内容进行加密,如有加密需求可启用 GRE over IPSEC。

1.2 L2TP 隧道方案

针对 Office 无互联网出口固定公网 IP 的场景,可在 Office 到 AWS 中国区域 VPC 中搭建 L2TP 隧道。

2. AWS 中国区域到 AWS Global Region 连接方案

2.1 方案 1:使用专线连接 Transit Gateway

2.2 方案 2:使用专线连接 Virtual Private Gateway

方案对比

方案 1:使用 Transit Gateway 服务适用于多 VPC 的场景,方便配置路由符合 AWS 最佳实践。可直接传递办公室路由到专线链路,最终到达美国 VPC。缺点是 Transit Gateway 收取 Gateway 和处理流量费,成本较高。

方案 2:使用 Virtual Private Gateway 没有 Gateway 及流量处理费用,资源成本低。多个 VPC 场景需要单独配置,维护成本高。此外办公室路由无法通过 Virtual Private Gateway 转发到美国,需要在中国 VPC 和美国 VPC 间再建一条 GRE 隧道。

方案设计

考虑到办公室网络现状及成本,深圳办公室到中国区 VPC 使用 GRE 隧道连接,北京和西安办公室到中国区 VPC 采用 L2TP 隧道连接,专线采用 Virtual Private Gateway 方式接入。在中国区 VPC 和美国 VPC 的 RouterOS 基于专线网络做 GRE 隧道连接。

假定办公室及 VPC CIDR 如下:

位置 CIDR
AWS 中国 VPC 10.10.0.0/16
AWS 美国 VPC 10.30.0.0/16
办公室 1 10.50.0.0/16
办公室 2 10.60.0.0/16
办公室 3 10.70.0.0/16

RouterOS 隧道网络

隧道 左侧 IP 右侧 IP 备注
办公室 1<->AWS 中国 100.0.1.1/24 100.0.1.2/24 L2TP
办公室 2<->AWS 中国 100.0.2.1/24 100.0.2.2/24 L2TP
办公室 3<->AWS 中国 100.0.3.1/24 100.0.3.2/24 GRE
AWS 中国<->AWS 美国 100.0.4.1/24 100.0.4.2/24 GRE
AWS 中国<->AWS 美国专线 100.0.5.1/24 100.0.5.2/24 BGP

ASN 配置

类型 ASN 备注
AWS 中国 Virtual Pravite Gateway 64516 可与 Direct Connect Gateway ASN 相同,也可不同
AWS 中国 Direct Connect Gateway 64516 和对端以及网络中 ASN 不冲突
AWS 美国 Direct Connect Gateway 64513 和对端以及网络中 ASN 不冲突
AWS 美国 Virtual Pravite Gateway 64513 可与 Direct Connect Gateway ASN 相同,也可不同

路由表概览

方案实施关键步骤配置

1. 专线配置

1.1 创建 Direct Connect Gateway

1.2 配置 Direct Connect Gateway 网关

1. 在允许的前缀输入允许通过的本地网络 CIDR,如下所示

10.50.0.0/16
10.60.0.0/16
10.70.0.0/16

2. 创建虚拟接口,选择对应的接口类型

3. 选择 DirectConnect 网关,输入 VLAN、BGP ASN 等信息

4. 输入路由器对等体 IP、BGP 身份验证密钥

5. 配置成功后 BGP 状态应为 up

2. 配置安装 RouterOS 的 EC2

通过 RouterOS AMI 启动 EC2 实例,关闭实例源地址/目标地址检查

3. RouterOS 配置

1. 安装管理客户端

RouterOS 配置可使用兼容 Windows 平台的配置工具 winbox https://download.mikrotik.com/routeros/winbox/3.40/winbox64.exe,也可使使用浏览器访问 RouterOS IP 进行配置。初始用户名为 admin,密码为空。

2. 首次登陆后提示更改密码

3. 修改密码后需重新登陆,选择 Session Disconnect,然后重新连接

4. 配置 GRE 隧道

点击菜单栏中 Interfaces,选择 GRE Tunnel 选项卡;点击+新增 GRE 使用的 Interface。

输入 GRE interface Name、对端 IP、IPsec 密钥信息,保持 Allow Fast Path 复选框为未选择状态。

5. 配置 GRE 隧道 IP

菜单栏中选择 IP – Addresses

点击 + 新增地址信息

输入规划中的 GRE 隧道 IP 地址,Interface 选择创建的 GRE interface。

6. 验证 GRE 隧道配置

配置完成后通过 Terminal,通过 ping 的方式检查 GRE 隧道建立情况。需注意运行 RouterOS 的 EC2 实例安全组应开放 ICMP 规则。

在 Terminal 中 ping GRE 对端 IP,如果 ping 通,代表 GRE 隧道建立成功。

7. 配置路由

GRE 隧道建立成功后,需根据路由规划在 RouterOS 配置路由。

在菜单中点击 IP – Routes 进入到路由配置界面

在 Route List 窗口点击 + 新增路由

配置对端 CIDR、Gateway、VRF Interface 信息,点击 OK 完成此条路由配置。

配置完每台 RouterOS 路由、Transit Gateway 路由表、子网路由表和线下路由器路由表的所有路由后,即可完成整个组网配置。

总结

在进行复杂的网络方案设计时,比如多数据中心、Office、云端等网络连接,需要充分的考量点与点之间连接方案,这里需要去结合安全、稳定、成本、易用等因素。

对于云下与云上之间的连接,主要就是专线或者 VPN,再结合现实情况去使用合适的隧道方案。对于 AWS 中国区与 AWS Global Region 的连接,可以借助 China Cross-border Direct Connection service 来满足功能以及合规需求,然后从成本、易用等方面去考虑使用 Transit Gateway 还是 Virtual Private Gateway。

在点与点之间的连接满足后,后面的难点在于点与点之间的路由传递,比如 A 点可以连接 B 点,B 点可以连接 C 点,但这里不代表 A 点就可以直接去连接 C 点,因此可以借助 RouterOS 来进行路由转发,满足各点的连接。

本篇作者

杨月威

西云数据解决方案架构师,15+ 产品研发和解决方案咨询经验。专注计算、操作系统、数据处理、AI 等技术。

谭志强

亚马逊云科技迁移解决方案架构师,主要负责企业级客户的上云或跨云迁移工作,具有十几年 IT 专业服务经验,历任程序设计师、项目经理、技术顾问、解决方案架构师。