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

2021-12-12 18:25:19 浏览数 (1)

  RouterOS 是由 MikroTik 公司开发的基于 Linux 内核的路由操作系统,是目前功能较强、应用较广的一款软路由系统,适用于中小企事业单位、网吧、宾馆和运营商。通过该软件可以将标准的 PC 电脑变成专业路由器,在软件的开发和应用上可以不断地更新和发展,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能。

  本文旨在介绍在腾讯云轻量应用服务器上使用 MikroTik RouterOS CHR 6.48.1 在腾讯云新加坡数据中心和 AWS 新加坡数据中心的两台服务器上配置隧道。

  需要注意的是,本文所操作的服务器均位于新加坡共和国,服务器之间的加密数据通信均属新加坡共和国国内通信交换,符合相关法律法规。

  本文为《Lighthouse Router (一):在腾讯云轻量应用服务器上安装 MikroTik RouterOS 并配置简单的端口转发》一文的续集。若您尚未了解 MikroTik RouterOS 的安装和配置,请移步 https://cloud.tencent.com/developer/article/1917326 开始您的第一步。

一、服务器选用

qcloud-Lighthouse-RouterOS-2-achat-serveurqcloud-Lighthouse-RouterOS-2-achat-serveur

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

二、安装和配置服务器

2.1 安装和初始化

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

2.2 放行端口

qcloud-Lighthouse-RouterOS-2-port-lhqcloud-Lighthouse-RouterOS-2-port-lh

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

qcloud-Lighthouse-RouterOS-2-port-awsqcloud-Lighthouse-RouterOS-2-port-aws

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

三、创建隧道

3.1 创建 GRE Tunnel

3.1.1 创建 Interface for GRE

qcloud-Lighthouse-RouterOS-2-gre-tun-languetteqcloud-Lighthouse-RouterOS-2-gre-tun-languette

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

qcloud-Lighthouse-RouterOS-2-gre-tun-ajouterqcloud-Lighthouse-RouterOS-2-gre-tun-ajouter

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

qcloud-Lighthouse-RouterOS-2-gre-tun-ipinfoqcloud-Lighthouse-RouterOS-2-gre-tun-ipinfo

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

qcloud-Lighthouse-RouterOS-2-gre-tun-awscpqcloud-Lighthouse-RouterOS-2-gre-tun-awscp

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

qcloud-Lighthouse-RouterOS-2-gre-tun-rqcloud-Lighthouse-RouterOS-2-gre-tun-r

3.1.2 配置隧道双端的 IP 地址

qcloud-Lighthouse-RouterOS-2-gre-ip-listqcloud-Lighthouse-RouterOS-2-gre-ip-list

  点选 IPAddress 后弹出 Address List 窗口。

qcloud-Lighthouse-RouterOS-2-gre-ip-ajouterqcloud-Lighthouse-RouterOS-2-gre-ip-ajouter

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

qcloud-Lighthouse-RouterOS-2-gre-ip-awscpqcloud-Lighthouse-RouterOS-2-gre-ip-awscp

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

qcloud-Lighthouse-RouterOS-2-gre-ping-arrivéeqcloud-Lighthouse-RouterOS-2-gre-ping-arrivée

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

3.2 创建 IPIP Tunnel

3.2.1 创建 Interface for IPSec

qcloud-Lighthouse-RouterOS-2-ipsec-tun-languetteqcloud-Lighthouse-RouterOS-2-ipsec-tun-languette

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

qcloud-Lighthouse-RouterOS-2-ipsec-tun-ajouterqcloud-Lighthouse-RouterOS-2-ipsec-tun-ajouter

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

qcloud-Lighthouse-RouterOS-2-ipsec-tun-awscpqcloud-Lighthouse-RouterOS-2-ipsec-tun-awscp

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

qcloud-Lighthouse-RouterOS-2-ipsec-tun-rqcloud-Lighthouse-RouterOS-2-ipsec-tun-r

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

3.2.2 配置隧道双端的 IP 地址

qcloud-Lighthouse-RouterOS-2-ipsec-ip-listqcloud-Lighthouse-RouterOS-2-ipsec-ip-list

  点选 IPAddress 后弹出 Address List 窗口。

qcloud-Lighthouse-RouterOS-2-ipsec-ip-ajouterqcloud-Lighthouse-RouterOS-2-ipsec-ip-ajouter

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

qcloud-Lighthouse-RouterOS-2-ipsec-ip-awscpqcloud-Lighthouse-RouterOS-2-ipsec-ip-awscp

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

qcloud-Lighthouse-RouterOS-2-ipsec-ping-arrivéeqcloud-Lighthouse-RouterOS-2-ipsec-ping-arrivée

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

四、测速

4.1 GRE 隧道测速

qcloud-Lighthouse-RouterOS-2-bandwidth-test-entrerqcloud-Lighthouse-RouterOS-2-bandwidth-test-entrer

  点选 ToolsBandwidth Test 后弹出 Bandwidth Test 窗口。

qcloud-Lighthouse-RouterOS-2-bandwidth-test-fenêtreqcloud-Lighthouse-RouterOS-2-bandwidth-test-fenêtre

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

qcloud-Lighthouse-RouterOS-2-gre-vitesseqcloud-Lighthouse-RouterOS-2-gre-vitesse

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

4.2 IPSec 隧道测速

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

qcloud-Lighthouse-RouterOS-2-ipsec-vitesseqcloud-Lighthouse-RouterOS-2-ipsec-vitesse

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

鸣谢

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

0 人点赞