拓扑
步骤
router ospf 100
redistribute bgp 65000 subnets
network 17.1.1.0 0.0.0.3 area 0
default-information originate
!
router bgp 65000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 8.1.1.2 remote-as 65001
neighbor 8.1.2.2 remote-as 65001
!
address-family ipv4
redistribute ospf 100
neighbor 8.1.1.2 activate
neighbor 8.1.2.2 activate
exit-address-family
!
ip route 0.0.0.0 0.0.0.0 Null0
router ospf 100
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 65001
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 11.11.11.11 remote-as 65001
neighbor 11.11.11.11 update-source Loopback0
neighbor 12.12.12.12 remote-as 65001
neighbor 12.12.12.12 update-source Loopback0
neighbor 14.14.14.14 remote-as 65001
neighbor 14.14.14.14 update-source Loopback0
neighbor 15.15.15.15 remote-as 65001
neighbor 15.15.15.15 update-source Loopback0
!
address-family ipv4
neighbor 11.11.11.11 activate
neighbor 11.11.11.11 route-reflector-client
neighbor 12.12.12.12 activate
neighbor 12.12.12.12 route-reflector-client
neighbor 14.14.14.14 activate
neighbor 14.14.14.14 route-reflector-client
neighbor 15.15.15.15 activate
neighbor 15.15.15.15 route-reflector-client
exit-address-family
!
router eigrp 100
network 17.1.2.0 0.0.0.3
redistribute bgp 65002 metric 1000000 1 255 255 1500
!
router bgp 65002
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 8.1.7.2 remote-as 65001
neighbor 8.1.8.2 remote-as 65001
!
address-family ipv4
redistribute eigrp 100
neighbor 8.1.7.2 activate
neighbor 8.1.8.2 activate
exit-address-family
!
router ospf 100
network 8.1.3.0 0.0.0.3 area 0
network 11.11.11.11 0.0.0.0 area 0
!
router bgp 65001
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 8.1.1.1 remote-as 65000
neighbor 13.13.13.13 remote-as 65001
neighbor 13.13.13.13 update-source Loopback0
!
address-family ipv4
neighbor 8.1.1.1 activate
neighbor 13.13.13.13 activate
neighbor 13.13.13.13 next-hop-self
exit-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 的路由