拓扑

实验01 - mGRE - 图1

步骤

  • R1 上创建2个Tunnel,分别连通R3 和 R4 —— 这种架构 P2P 的弊病就是每新接入1个Spoke,在Hub 和 Spoke 都需要各自增加配置
  • 在 mGRE 上,Hub 上只需要1个Tunnel就可以和不同的Spoke连通
  • Hub 的配置上,需要做一些调整
    • 删除 tunnel destination
    • 改为 tunnel mode gre multipoint
    • 这个改动就引入1个问题,Hub 如何知道 Spoke —— 考虑借鉴ARP的思路,但是中间部分是3层,所以就引申出了 NHRP
  • 我们这个拓扑,就是典型的NBMA ——
    • 3层不支持广播
    • 1条线路可以和不同Router通信
  • 如上所述,在R1上删除1个 Tunnel,并调整配置
    • 删除 tunnel destination 改为 tunnel mode gre multipoint
    • 设置 network-id
  • R3、R4 调整配置
    • 修改Overlay 地址 和 R1的Overlay地址为同网段
    • nhs 地址是Overlay 地址
  1. interface Tunnel0
  2. ip address 192.168.1.3 255.255.255.0
  3. ip nhrp network-id 1
  4. ip nhrp nhs 192.168.1.1
  5. tunnel source 10.23.1.3
  6. tunnel destination 10.12.1.1
  7. end
  • R1 上查看NHRP,可以看到远端站点已经完成注册

实验01 - mGRE - 图2

  • R1上配置 ip nhrp map multicast dynamic,以支持组播。高版本IOS默认支持,无需手动添加 —— 可以看到R1已经拆出了各个Client的Underlay地址

实验01 - mGRE - 图3

  • 在Tunnel 和 Lo接口上跑起EIGRP网络,先在各个Router上给自创建1个 Lo0。确认EIGRP 邻居关系 —— R3只和R1有点到点的 Tunnel 关系,对应在EIGRP也是一样

实验01 - mGRE - 图4

  • 此时R1 可以 ping 通R3、R4,但是R3 和R4 之间无法ping 通 —— 因为默认的水平分割机制影响

实验01 - mGRE - 图5

  • 在R1的 T0接口上关闭水平分割,只支持 EIGRP,然后R3就学到了4.4.4.4 的路由

实验01 - mGRE - 图6

  • 确认R3 到 R4 可达 —— 这里跑的只是Phase1,所以需要经过R1实验01 - mGRE - 图7