RouterOS GREv6 实现跨地域快速组网
随着 IPv4 地址紧张,越来越多的运营商已经不对普通用户开放公网 IP 了。很多时候,我们又需要做跨地域的网络互联。除了使用服务器做中转,其实我们还可以把目光聚焦到 IPv6 上,IPv6 原生就为我们提供了端到端的连接,现在很容易就能拿到运营商的 IPv6 地址,也为这个方案的实施提供了必要基础。
今天,我们要聊的是使用 RouterOS 的 GREv6 隧道,进行跨地域组网。
前提
- 两端都是 RouterOS 设备,建议使用 6.x 版本的 ROS 系统,目前 v7 还是 BUGOS。。。
- 两端都有 IPv6 地址
拓扑
实验拓扑:Cloud 为互联网。
操作方法
需要使用 WinBox 连接 ROS。
如图,启用 ROS 的 IPv6 功能。
需要先启用 IPv6 支持,如果没有安装 ipv6 软件包,可以去官网下载导入进行安装。
给 ROS 配一个 IPv6 地址。
以我中国移动宽带为例,光猫可以 DHCPv6 下发前缀,我这边起一个 DHCPv6 Client 收一下就好了。操作位置是 IPv6->DHCPv6 Client。
定义一个地址池,然后找个接口从这个地址池里拿个地址。比如我直接把 v6 地址配给 PPPOE 接口了。
SiteA 和 SiteB 都如上操作,使得两端接口都有 IPv6 地址。
配置 GREv6 隧道。Interfaces->Interface,点击加号,选择 GRE6 Tunnel。
关于隧道,需要配置的几个点:
- MTU:建议配置一下,不配置就是动态 MTU。
- Local Address:本端的 IPv6 地址,如我,就是刚才 PPPOE 接口的 IPv6 地址。
- Remote Address:对端的 IPv6 地址,可以是个域名。比如你的 IPv6 前缀会变化,则可以搞一个 DDNSv6 去更新 v6 地址,供对端使用。如何做 DDNSv6,可以参见扩展阅读。
- IPsec Secret:启用 IPsec 的话需要配置一个 Secret,两端一样。
验证业务,当两端都配置好了 GRE6 Tunnel 接口之后,若双方协商并连接成功,则可以看到接口前面有一个 R 则为连接成功,在运行。
好了,隧道建立成功了,可以配 IPv4 地址并互指路由了。
配置 IPv4 接口地址,在 IP->Address List 中给 GRE6 Tunnel 增加一个 v4 地址。如下图,两端都要配置。
互指路由,Dst.Address 为对端地址端,Gateway 为对端 Gre6 Tunnel 的 v4 地址。
两端完成互指,则可以测试一下,正常应该就能 Ping 到对端设备了。
如果觉得互指路由比较麻烦,可以在 GREv6 隧道上直接跑 OSPF,可参见扩展阅读。
测试
环境:
SiteA:北京移动,500Mbps 下行,30Mbps 上行
SiteB:河北移动,300Mbps 下行,20Mbps 上行
延迟测试:AVG = 19 ms
带宽及稳定性测试:MAX = 52.2 Mbps