拓扑

实验01 - Phase3 - 图1

步骤

  • Hub 配置
  1. interface Tunnel0
  2. ip address 192.168.1.1 255.255.255.0
  3. no ip split-horizon eigrp 100
  4. ip nhrp authentication CISCO
  5. ip nhrp network-id 1
  6. ip nhrp redirect
  7. ip summary-address eigrp 100 1.0.0.0 255.0.0.0
  8. tunnel source 10.12.1.1
  9. tunnel mode gre multipoint
  10. tunnel key 1
  11. end
  • 需要在Hub上既做1个汇总,又会下放1个明细路由
  • 实际生产中,大部分情况下可以只下发0.0.0.0 的默认汇总路由,实验中是为了观察不同方案的效果
  • Spoke_2 上宣告2个 Lo
  • Hub 上对1.1.1.1 和 1.1.1.2 生成EIGRP 汇总路由
  • 在Spoke_1 上确认路由,既有1.1.1.0/24 的汇总路由,也有12.12.12.12 的明细路由

实验01 - Phase3 - 图2

  • 当Spoke_1 需要去到1.1.1.2 时,会发给192.168.1.1. 但是当第1个数据包到达Hub 192.168.1.1时,Hub会发现有更好的直接路径 —— 因为当前路径是Hair Pin 形式,非最优 —— 所以会发送 NHRP Indication 给Spoke

实验01 - Phase3 - 图3

  • 在R1上执行Traceroute 1.1.1.2,观察路由表变化 —— NHRP as Route Source 的效果 —— 之前Spoke路由表中没有1.1.1.2(Overlay) 以及 192.168.1.12(Underlay) 的条目,现在多了标识为 H 的路由
    • 新增了之前没有的路由

实验01 - Phase3 - 图4

  • 再在R1上执行 traceroute 12.12.12.12 —— 可以看到效果的前提是 Hub 上要关闭 no ip next-hop-self,也就是要执行 ip next-hop-self,让Hub 的192.168.1.1 成为 12.12.12.12 的下一跳,并将路由宣告给 Spoke_1 —— 这样才能执行 Next Hop Overrides,并看出效果,路由标识多了%
    • 修正了不算最优的路由

实验01 - Phase3 - 图5

  • show ip route next-hop-override 可以查看包含override 信息的路由表

实验01 - Phase3 - 图6

总结

  • No Phase
    • multi-tunnel in hub
  • Phase1 支持汇总路由,但不支持Spoke 之间动态建立连接
    • Hub tunnel gre multipoint mode
    • Overlay IGP协议跑起来的前提是 Underlay 网络要通 —— 实验中我们用到的是静态路由
    • ip nhrp
    • ip nhrp authentication 要配置的话,Hub 和 Spoke 都要配置
    • no ip split-horizon —— 使得两端互相可达
  • Phase2 支持动态建立连接,但不支持汇总路由,需要接收明细路由
    • Spoke tunnel gre multipoint
    • Hub + Spoke : nhrp
    • Hub:no summary, no next-hop-self, no ip split-horizon
    • Spoke:Pseudo Multicast,ip nhrp nhs 192.168.1.1 nbma 10.12.1.1 multicast
    • 执行 no split-horizon eigrp ASN 之前,Hub 不会向Spoke 下发明细路由
    • 执行 no next-hop-self eigrp ASN 之前,Spoke 上的明细路由都是指向Hub

实验01 - Phase3 - 图7

  • Phase3
    • Hub:ip redirect
    • Spoke:ip nhrp shortcut

注意点

  • Spoke 上的 ip nhrp nhs serverAddr —— serverAddr 是Hub 的 T0 接口地址
  • 部分命令在高版本IOS上是默认开启的,手动配置后不会在 show run 中显示出来。但为了保险起见,建议正常执行配置
    • ip nhrp map multicast
    • ip nhrp shortcut