拓扑

步骤
- 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 ——
- 如上所述,在R1上删除1个 Tunnel,并调整配置
- 删除 tunnel destination 改为 tunnel mode gre multipoint
- 设置 network-id
- R3、R4 调整配置
- 修改Overlay 地址 和 R1的Overlay地址为同网段
- nhs 地址是Overlay 地址
interface Tunnel0
ip address 192.168.1.3 255.255.255.0
ip nhrp network-id 1
ip nhrp nhs 192.168.1.1
tunnel source 10.23.1.3
tunnel destination 10.12.1.1
end
- R1 上查看NHRP,可以看到远端站点已经完成注册

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

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

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

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

- 确认R3 到 R4 可达 —— 这里跑的只是Phase1,所以需要经过R1
