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

[复制链接]
查看: 8502   回复: 9
发表于 2022-12-27 06:19:54 | 显示全部楼层 |阅读模式
原载于 https://www.idc.moe/archives/qcloud-Lighthouse-RouterOS-2.html
作者: iks

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

一、服务器选用



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

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

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

进入轻量应用服务器管理界面,点击“防火墙”选项卡,创建对所有 (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” 按钮保存。

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

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



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



3.1.2 配置隧道双端的 IP 地址

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

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



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

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

在 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” 按钮保存。

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

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

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

双端出现 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” 按钮开始测速。

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

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

鸣谢
https://telegra.ph/MikroTik-RouterOS-1-10-23

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2022-12-27 06:20:09 | 显示全部楼层
好叼哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-27 06:20:40 | 显示全部楼层
6666
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-27 06:20:46 | 显示全部楼层
有点复杂,先略过吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-27 06:21:23 | 显示全部楼层
太长不看
回复 支持 反对

使用道具 举报

发表于 2022-12-27 06:21:48 | 显示全部楼层
有点复杂,先略过吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-27 06:22:07 | 显示全部楼层
太长不看
回复 支持 反对

使用道具 举报

发表于 2022-12-27 06:22:35 | 显示全部楼层
好贴,收藏了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-27 06:23:18 | 显示全部楼层
gre隧道几条命令搞成了大工程:lol
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-27 06:24:04 | 显示全部楼层
主要是小鸡单独做ros设备太浪费,有很多可用的资源闲置了。

个人更倾向于使用linux发行版实现网络功能,还可以榨干其他资源。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则