RouterOS (二):在腾讯云轻量上使用RouterOS在数据中心间建立隧道

作者: seamus 分类: 常用 发布时间: 2022-09-21 08:45

RouterOS 是由 MikroTik 公司开发的基于 Linux 内核的路由操作系统,是目前功能较强、应用较广的一款软路由系统,适用于中小企事业单位、网吧、宾馆和运营商。通过该软件可以将标准的 PC 电脑变成专业路由器,在软件的开发和应用上可以不断地更新和发展,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能。
本文旨在介绍在腾讯云轻量应用服务器上使用 MikroTik RouterOS CHR 6.48.1 在腾讯云新加坡数据中心和 AWS 新加坡数据中心的两台服务器上配置隧道。
需要注意的是,本文所操作的服务器均位于新加坡共和国,服务器之间的加密数据通信均属新加坡共和国国内通信交换,符合相关法律法规。
本文为《Lighthouse Router (一):在腾讯云轻量应用服务器上安装 MikroTik RouterOS 并配置简单的端口转发》一文的续集。若您尚未了解 MikroTik RouterOS 的安装和配置,请移步https://www.zajilu.com/2022/09/21/830.html开始您的第一步。

一、服务器选用

一般情况下,在不支持 IPSec 硬件加密的 CHR (Cloud Hosted Router) 上,实现安全通信隧道需要仰仗强大的算力支持,因此根据所需要的实时数据处理量来选购配置是十分重要的。本文因仅供测试,选用的是 24 元/月CPU:1核 (独享) 配置,可以处理一般的数据流。

二、安装和配置服务器
2.1 安装和初始化
RouterOS 的安装和基本配置请移步《Lighthouse Router (一):在腾讯云轻量应用服务器上安装 MikroTik RouterOS 并配置简单的端口转发》,请至少做到步骤《3.2.3 注册 RouterOS》。
2.2 放行端口

进入轻量应用服务器管理界面,点击“防火墙”选项卡,创建对所有 (ALL) 端口的放行规则。由于建立隧道需要用到多个端口,因此建议直接放行所有端口以保证的可用性。

在 AWS 数据中心的服务器上执行相同的操作。

三、创建隧道
3.1 创建 GRE Tunnel
3.1.1 创建 Interface for GRE

打开 WinBox 里的 Interface 界面,转到 GRE Tunnel 选项卡,单击左上角的“+”按钮。

在弹出的窗口中填写相应的信息,其中 Name 字段可以自定义,MTU 的值为 1500,Local Address 为本机的内网地址(在轻量应用服务器管理界面“概要”选项卡的“网络信息”一栏中有显示),Remote Address 为对端服务器的公网 IP 地址。单击右侧的 “OK” 按钮保存。

在 AWS 数据中心的服务器上执行相同的操作。其中 Local Address 和 Remote Address 需要修改。

双端出现 R 时,说明隧道已经建立。

3.1.2 配置隧道双端的 IP 地址

点选 IP – Address 后弹出 Address List 窗口。

单击左上角的“+”按钮,弹出 New Address 窗口。在其中填写相应的信息,其中Address 为自定义的内网 IP 地址,不要与已有的地址重复;Network 将会根据 Address 中填写的 IP/CIDR 自动计算;Interface 选择上一步骤中创建的 GRE 隧道的名称。单击右侧的 “OK” 按钮保存。

在 AWS 数据中心的服务器上执行相同的操作。其中 Address 需要与对端服务器在同一网段内。

隧道两端互相对 ping,可以看到数据包能够到达。

3.2 创建 IPIP Tunnel
3.2.1 创建 Interface for IPSec

打开 WinBox 里的 Interface 界面,转到 IP Tunnel 选项卡,单击左上角的“+”按钮。

在弹出的窗口中填写相应的信息,其中 Name 字段可以自定义,MTU 的值为 1480,Local Address 为步骤 3.1.2 中为本机设置的 IP 地址,Remote Address 为在步骤 3.1.2 中在对端服务器上设置的 IP 地址,IPSec Secret 请自定义,底部的 Allow Fast Path 请取消勾选(CHR 一般不支持 IPSec 硬件加速)。单击右侧的 “OK” 按钮保存。

在 AWS 数据中心的服务器上执行相同的操作。其中 Local Address 和 Remote Address 需要修改。

双端出现 R 时,说明隧道已经建立。

3.2.2 配置隧道双端的 IP 地址

点选 IP – Address 后弹出 Address List窗口。

单击左上角的“+”按钮,弹出 New Address 窗口。在其中填写相应的信息,其中Address 为自定义的内网 IP 地址,不要与已有的地址重复;Network 将会根据 Address 中填写的 IP/CIDR 自动计算;Interface 选择上一步骤中创建的 IPSec 隧道的名称。单击右侧的 “OK” 按钮保存。

在 AWS 数据中心的服务器上执行相同的操作。其中 Address 需要与对端服务器在同一网段内。

隧道两端互相对 ping,可以看到数据包能够到达。

四、测速
4.1 GRE 隧道测速

点选 Tools – Bandwidth Test 后弹出 Bandwidth Test 窗口。

与 iperf3 工具类似,Bandwidth Test 可进行发送方和接收方模式的测速,支持 TCP 和 UDP 协议。在 Test To 内填写在步骤 3.1.2 中在对端服务器上设置的 IP 地址,Direction 为测速的接受/发送方模式选择,输入对端服务器的 User 和 Password 后单击右侧的 “Start” 按钮开始测速。

收发带宽测试结果如图所示,可以说是跑满带宽了。

4.2 IPSec 隧道测速
将步骤 4.1 中的 Test To 地址改为步骤 3.2.2 中在对端服务器上设置的 IP 地址,单击右侧的 “Start” 按钮开始测速。

建立在 GRE 隧道内的 IPSec 软件加密隧道在这种小带宽场景下依旧未损失多少性能,带宽依然相当充足。