实验02 BGP Next-hop Reachability - 图1

  • 在R4 上通过network 命令向iBGP 宣告 192.168.4.4. 可以看到这条路由会一直到R2,但是R1上没有。而且在R2和R3 上存在差别,R3上多了1个>标识,表示会写进路由表。在R3上看到的

实验02 BGP Next-hop Reachability - 图2

实验02 BGP Next-hop Reachability - 图3

  • 在R2上查看具体的BGP 路由条目,提示10.34.1.2 不可达。状态为 Not advertised to any peer

实验02 BGP Next-hop Reachability - 图4

方法1:通过IGP宣告

  • 在R2、R3间配置OSPF
  • R3 上配置OSPF,宣告10.34.1.0 网络,同时把和R4相连的接口设为 passive-interface。 因为宣告的目的已经可以实现,而实际情况中,不知道对端是什么情况,为了减少不必要的麻烦——对端也跑了OSPF,导致OSPF互相注入
  • OSPF 关系建立后,R2就知道了去往10.34.1.0 的路径,对应的BGP路由条目也发生了变化

实验02 BGP Next-hop Reachability - 图5

  • 此时,R1也学到了这条路由

实验02 BGP Next-hop Reachability - 图6

方法2:通过BGP宣告

  • 先 no 掉上一步R3 宣告10.34.1.0的设置
  • 在R3 上 通过BGP network 宣告10.34.1.0
  • 此时R2 多学到了 1条 BGP路由
    • 注意R3 向R2 传递eBGP 路由(192.168.4.4 )的时候,没有修改下一跳地址
    • R3向R2 传递iBGP路由(10.34.1.0)的时候,修改了下一跳地址(从0.0.0.0 到 10.23.1.2)

实验02 BGP Next-hop Reachability - 图7

  • R1 也多学到了1条去往10.34.1.0 的BGP路由,同时192.168.4.4 可达 —— 可以看到这种方式 “泄漏”了10.34.1.0

实验02 BGP Next-hop Reachability - 图8

方法3:通过 next-hop-self

  • 清理方法2的现场
  • 在R3 BGP中补1条命令:neighbor 10.23.1.1 next-hop-self
  • 在R2 上观察变化,下一跳地址变为了10.23.1.2

实验02 BGP Next-hop Reachability - 图9

  • 而在R1上,下一跳地址也变为了 10.12.1.2

实验02 BGP Next-hop Reachability - 图10

总结

  • 可以看到,方法3 最简单,不存在其他网络地“泄漏”或者协议配置的调整