RouterOS 是由 MikroTik 公司开发的基于 Linux 内核的路由操作系统,是目前功能较强、应用较广的一款软路由系统,适用于中小企事业单位、网吧、宾馆和运营商。通过该软件可以将标准的 PC 电脑变成专业路由器,在软件的开发和应用上可以不断地更新和发展,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能。
本文旨在介绍在腾讯云轻量应用服务器上使用 MikroTik RouterOS CHR 6.48.1 在腾讯云新加坡数据中心和 AWS 新加坡数据中心的两台服务器上配置隧道。
需要注意的是,本文所操作的服务器均位于新加坡共和国,服务器之间的加密数据通信均属新加坡共和国国内通信交换,符合相关法律法规。
本文为《Lighthouse Router (一):在腾讯云轻量应用服务器上安装 MikroTik RouterOS 并配置简单的端口转发》一文的续集。若您尚未了解 MikroTik RouterOS 的安装和配置,请移步 https://cloud.tencent.com/developer/article/1917326 开始您的第一步。
一、服务器选用
一般情况下,在不支持 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 软件加密隧道在这种小带宽场景下依旧未损失多少性能,带宽依然相当充足。
鸣谢
- https://telegra.ph/MikroTik-RouterOS-1-10-23