Silver Peak SD-WAN Hub & Spoke 配置方法

Hub & Spoke 是一种常见的 WAN 拓扑,使用这种拓扑有两个地方需要考虑:

  • Hub 和 Spoke 之间的通信
  • Spoke 和 Spoke 之间的通信

Hub 和 Spoke 之间的通信和之前我们介绍过的 Internet backhaul 一样,需要从 Hub 向 SD-WAN Fabric 里面注入路由。Spoke 和 Spoke 之间的通信需要考虑的是从 Hub 如何将一个 Spoke 的路由传递给另外的 Spoke。路由控制最简单的就是从 Hub 注入一条默认路由,或者每个站点将自己的明细路由注入。

实验拓扑:

首先将需要用到的 overlay 配置成 Hub & Spoke 的拓扑:

接着定义 Hub,这里我们将 ECV-DC-1 和 ECV-DC-2 定义为 Hub:

在 template group 里我们应该让 EC 宣告直连路由并使用 shared subnet:

这样的配置会导致 ECV-DC-1 和 ECV-DC-2 向 SD-WAN Fabric 宣告的路由具有同样的 metric (ECV-HQ-1 和 ECV-HQ-2 同理),从而造成 asymmetric route,为了保证 WAN Optimization 中的 TCP Acceleration 正常工作我们需要路由保持 symmetric。新配置一个 template,将 local subnet metric 改为 49,应用到 ECV-DC-1 和 ECV-HQ-1 上,这样可以保证数据会优先流向它们。需要注意的是 template group 的顺序,下面的会 override 上面的:

查看一下 Spoke 的路由表确保 metric 正确:

Hub 和 Spoke 相互测试:

至此 Hub 和 Spoke 间的网络就建立完成了。

现在做 Spoke 和 Spoke 之间的测试,结果不通:

查看 Branch 1 的 flow:

可以看到虽然数据包虽然成功的匹配了 MyOverlay 但是在做路由的时候却进行了 pass-through 而不是使用 overlay tunnel。查看一下路由表:

ECV-Branch-1 只学到了 DC 的本地路由,而 Spoke 之间需要的路由并没有学到。查看一下 DC 的路由表:

DC 有所有 Spoke 的路由,这说明即使 DC 已经学到了 Spoke 的路由但是它不会自动的将这些路由注入到 SD-WAN Fabric 里。我们手动将 Branch 1 和 Branch 2 的路由注入到 SD-WAN Fabric 中(这里只用 ECV-DC-1 演示,同样的设定需要配置在 ECV-DC-2 上,但是需要调整 metric 从而保持 symmetric route):

注意这里添加的路由没有设定 next-hop,原因是该路由条目的目的只是为了把 Spoke 的数据引入到 Hub (相当于 control plane,Hub 不需要依靠该路由做真正的数据转发),Hub 之前就已经通过 Subnet Sharing 学到了去往 Spoke 的真正路由(Hub 应该使用该路由做数据转发)。

查看 Spoke 的路由表:

测试 Spoke 到 Spoke,还是不通,但是这时我们已经可以在 Hub 上看到 flow 了:

Hub 的 flow 显示 NO ROUTE,所以 Spoke 到 Spoke 的数据流到 Hub 就卡住了,为什么 Hub 没有路由呢,明明刚才已经通过 Subnet Sharing 学到了,查看 Hub 的路由表:

可以看到去往 192.168.40.0/24 有两个路由条目,一个是通过 Subnet Sharing 从 ECV-Branch-2 自动学到的,另一个是我们刚刚为了在 SD-WAN Fabric 中引入路由手动配置的。仔细观察会发现从 ECV-Branch-2 学到的路由 Metric 是 50, AD 是 10;手动配置的路由 Metric 是 60,AD 是 1。这就是问题所在,同样长度的 prefix 在做路由选择的时候会先比较 AD,AD 相同的情况才会比较 Metric。所以 Hub 会选择我们手动配置的路由,然后这个路由并没有 next-hop。解决该问题的办法是将手动配置的路由 AD 值也改为 10:

这样 Spoke 间的通信就成功了:

在 Hub 上查看 flow,我们可以看到之前讲到过的 HAIRPIN 也出现了:

最后一点需要注意的是在 template 里面有一个 Allow WAN to WAN routing 的选项,默认是开启的,如果关掉该选项 Spoke 间的通信就无法进行,该选项用于控制 hairpinning 的开启和关闭:

发表评论

电子邮件地址不会被公开。