拓扑

步骤
router ospf 100redistribute bgp 65000 subnetsnetwork 17.1.1.0 0.0.0.3 area 0default-information originate!router bgp 65000bgp log-neighbor-changesno bgp default ipv4-unicastneighbor 8.1.1.2 remote-as 65001neighbor 8.1.2.2 remote-as 65001!address-family ipv4redistribute ospf 100neighbor 8.1.1.2 activateneighbor 8.1.2.2 activateexit-address-family!ip route 0.0.0.0 0.0.0.0 Null0
router ospf 100network 0.0.0.0 255.255.255.255 area 0!router bgp 65001bgp log-neighbor-changesno bgp default ipv4-unicastneighbor 11.11.11.11 remote-as 65001neighbor 11.11.11.11 update-source Loopback0neighbor 12.12.12.12 remote-as 65001neighbor 12.12.12.12 update-source Loopback0neighbor 14.14.14.14 remote-as 65001neighbor 14.14.14.14 update-source Loopback0neighbor 15.15.15.15 remote-as 65001neighbor 15.15.15.15 update-source Loopback0!address-family ipv4neighbor 11.11.11.11 activateneighbor 11.11.11.11 route-reflector-clientneighbor 12.12.12.12 activateneighbor 12.12.12.12 route-reflector-clientneighbor 14.14.14.14 activateneighbor 14.14.14.14 route-reflector-clientneighbor 15.15.15.15 activateneighbor 15.15.15.15 route-reflector-clientexit-address-family!
router eigrp 100network 17.1.2.0 0.0.0.3redistribute bgp 65002 metric 1000000 1 255 255 1500!router bgp 65002bgp log-neighbor-changesno bgp default ipv4-unicastneighbor 8.1.7.2 remote-as 65001neighbor 8.1.8.2 remote-as 65001!address-family ipv4redistribute eigrp 100neighbor 8.1.7.2 activateneighbor 8.1.8.2 activateexit-address-family!
router ospf 100network 8.1.3.0 0.0.0.3 area 0network 11.11.11.11 0.0.0.0 area 0!router bgp 65001bgp log-neighbor-changesno bgp default ipv4-unicastneighbor 8.1.1.1 remote-as 65000neighbor 13.13.13.13 remote-as 65001neighbor 13.13.13.13 update-source Loopback0!address-family ipv4neighbor 8.1.1.1 activateneighbor 13.13.13.13 activateneighbor 13.13.13.13 next-hop-selfexit-address-family!
关注点
默认路由的不同宣告方式,以及导致的差异
- C2 做了1条默认路由,然后做了 OSPF 和 BGP 的双向重分布。C1 最终收到2条来自C2 的路由
- ip route 0.0.0.0 0.0.0.0 Null0
- OSPF: default-information originate
- 同时出现了汇总和明细路由

- C3也做了1条默认路由,然后做了 EIGRP 和 BGP的双向重分布,但是C4上只会收到1条0.0.0.0 默认路由,没有17.1.1.0 的明细路由。 如果去掉G0/2 上的汇总,在C4上是可以看到 17.1.1.0 的明细路由的,说明 0.0.0.0 覆盖了 17.1.1.0
- 在G0/2 接口上:ip summary-address eigrp 100 0.0.0.0 0.0.0.0

- C3 通过另外1种方式宣告默认路由,C4 倒是同时收到了来自EIGRP的 默认路由和明细路由,但是也带进来了8.1.7.x 和 8.1.8.x
- ip route 0.0.0.0 0.0.0.0 Null0
- EIGRP: network 0.0.0.0

- @20220824 复习 EIGRP 的默认路由宣告方式
- 通过出口(IP,物理接口)宣告 —— 本例中是2个出口,不适用
- 通过对内接口,执行 ip summary-address —— 即本例中最开始使用的方式,结果是C4 上只会收到默认路由,不会收到明细路由,不影响通信 正确方式
- 创建指向null0默认路由, ip router 0.0.0.0 0.0.0.0 null0,然后通过 redistribute static 向内宣告 —— C4上可以同时收到汇总 和 明细路由 —— 因为源头不同?正确方式
- 上面用到的在 EIGRP中 network 0.0.0.0 是错误方法,这个命令的意思实际是所有接口都开启EIGRP错误方式

- 子网掩码设置错误,BGP邻居关系可以建立,但是不会发送路由。
- 在C3上执行 show ip bgp ipv4 unicast neighbor 8.1.8.2 advetise-routes,可以查看C3 向 ISP5 发送的路由

- 现在遇到1个问题,
- C3 上如果宣告默认路由,又在BGP中执行对EIGRP的重分布,会把8.1.7.x 和 8.1.8.x 也带进去 —— 但8.1.7.x 和 8.1.8.x 实际并没有在EIGRP中 @20220822
- 但是 @20220823 没有观察到这个现象
- 参考上面 @20220824 的补充说明,问题已解决,确认是之前的设置存在问题。 不能使用 network 0.0.0.0
调整BGP路由的Weight,观察调整前后的路由变化

最终在两端的C1和C4看到的效果

C3 到17.1.1.0 目前走的是8.1.7.2,需要改成优先走8.1.8.2,有哪些方法
- 在C3 上修改走8.1.8.2 路由的 Weight
- Local Preference 在C3 上修改 无效
- 在ISP3 上修改来自ISP5 路由Local Preference 更高 无效 —— 影响的是去到17.1.2.0 的路由
