BGP 负载共享不起作用

网络工程 bgp 负载均衡
2021-07-28 23:49:21

我正在尝试使用 BGP 构建弹性核心网络。我有两个路由器,R1 和 R2,它们连接到单个 ISP。ISP 有两个路由器(我们称它们为 R3 和 R4)。我已经成功地配置了与 R1 中的 R3 和 R2 中的 R4 的 BGP 对等互连。ISP 正在通过两条链路宣布默认网关。但是,我遇到了 BGP 无法通过 R1 和 R2 之间的 iBGP 会话重新宣布默认网关的困难。我的拓扑看起来像这样

我附上配置文件(相关信息已替换):

R1 配置

主机名路由器
日志文件/var/log/quagga.log
记录标准输出
日志时间戳精度 6
主机名 bgpd
bgp 配置类型 cisco
调试 bgp as4
调试 bgp 事件
调试 bgp 保活
调试 bgp 更新
调试 bgp fsm
调试 bgp 过滤器
调试 bgp 斑马
密码斑马
启用密码斑马
接口 bge0
 ipv6 nd抑制-ra
 没有链接检测
接口 bge1
 ipv6 nd抑制-ra
 没有链接检测
接口igb0
 ipv6 nd抑制-ra
 没有链接检测
接口igb1
 ipv6 nd抑制-ra
 没有链接检测
接口igb2
 ipv6 nd抑制-ra
 没有链接检测
接口igb3
 ipv6 nd抑制-ra
 没有链接检测
接口滞后0
 ipv6 nd抑制-ra
 没有链接检测
接口 lo0
 没有链接检测
接口 lo1
 没有链接检测
接口 pfsync0
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan3
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan4
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan5
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan101
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan106
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan107
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan109
 ipv6 nd抑制-ra
 没有链接检测
路由器 bgp 6001
 没有同步
 bgp 路由器 ID 1.1.2.253
 bgp 日志邻居变化
 网络 1.1.1.0
 网络 1.1.2.0
 邻居 2.1.1.249 远程作为 6000
 邻居 2.1.1.249 软重新配置入站
 邻居 2.1.1.249 前缀列表 3 中
 邻居 2.1.1.249 路由映射 R1-DC-MAP out
 邻居 1.1.2.254 远程作为 6001
 邻居 1.1.2.254 next-hop-self
 邻居 1.1.2.254 软重新配置入站
 最大路径 2
 没有自动总结
ip 路由 1.1.1.0/24 Null0
ip 路由 1.1.2.0/24 Null0
ip 前缀列表 1 seq 5 允许 1.1.1.0/24
ip 前缀列表 2 seq 5 允许 1.1.2.0/24
ip 前缀列表 3 seq 5 拒绝 1.1.1.0/23
ip 前缀列表 3 seq 10 允许任何
路由映射 R1-DC-MAP 许可 10
 匹配 ip 地址前缀列表 1
 设置为路径前置 6001 6001 6001
路由映射 R1-DC-MAP 许可 20
 匹配 ip 地址前缀列表 2
ip转发
线 vty
结尾

R2 配置:

主机名路由器
日志时间戳精度 6
主机名 bgpd
日志文件/var/log/quagga.log
记录标准输出
bgp 配置类型 cisco
调试斑马事件
调试斑马数据包
调试斑马纹
调试 bgp as4
调试 bgp 事件
调试 bgp 更新
密码斑马
启用密码斑马
接口 bge0
 ipv6 nd抑制-ra
 没有链接检测
接口 bge1
 ipv6 nd抑制-ra
 没有链接检测
接口igb0
 ipv6 nd抑制-ra
 没有链接检测
接口igb1
 ipv6 nd抑制-ra
 没有链接检测
接口igb2
 ipv6 nd抑制-ra
 没有链接检测
接口igb3
 ipv6 nd抑制-ra
 没有链接检测
接口滞后0
 ipv6 nd抑制-ra
 没有链接检测
接口 lo0
 没有链接检测
接口 lo1
 ipv6 nd抑制-ra
 没有链接检测
接口 pfsync0
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan3
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan4
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan5
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan101
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan106
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan107
 ipv6 nd抑制-ra
 没有链接检测
接口 vlan109
 ipv6 nd抑制-ra
 没有链接检测
路由器 bgp 6001
 没有同步
 bgp 路由器 ID 1.1.2.254
 bgp 日志邻居变化
 网络 1.1.1.0
 网络 1.1.2.0
 邻居 3.1.1.25 remote-as 6000
 邻居 3.1.1.25 软重新配置入站
 邻居 3.1.1.25 前缀列表 3 中
 邻居 3.1.1.25 路由映射 R2-SIX-MAP out
 邻居 1.1.2.253 远程作为 6001
 邻居 1.1.2.253 next-hop-self
 邻居 1.1.2.253 软重新配置入站
 没有自动总结
ip 路由 1.1.1.0/24 Null0
ip 路由 1.1.2.0/24 Null0
ip 前缀列表 1 seq 5 允许 1.1.2.0/24
ip 前缀列表 2 seq 5 允许 1.1.1.0/24
ip 前缀列表 3 seq 5 拒绝 1.1.1.0/23
ip 前缀列表 3 seq 10 允许任何
路由映射 R2-SIX-MAP 允许 10
 匹配 ip 地址前缀列表 1
 设置为路径前置 6001 6001 6001
路由映射 R2-SIX-MAP 许可 20
 匹配 ip 地址前缀列表 2
ip转发
线 vty
结尾

我在最新的 FreeBSD (10.2) 上使用 Quagga。

2个回答

...我有两个路由器,R1 和 R2,它们连接到单个 ISP。 ISP 有两个路由器(我们称它们为 R3 和 R4)。

路由器 R1 和 R2 将通过环回接口形成 iBGP 邻居。 quagga 配置缺少有关使用的 IGP (OSPF/IS-IS/RIP) 的信息。如果不工作 IGP,它可能无法工作,静态路由只会使事情变得更加复杂,并且不是适合此解决方案的 IGP。

ISP 正在通过两条链路宣布默认网关。但是,我遇到了 BGP 无法通过 R1 和 R2 之间的 iBGP 会话重新宣布默认网关的困难。我的拓扑看起来像这样。

由于 ISP 通过直接连接的链路向您的 eBGP 邻居 R1/R2 宣布默认网络,因此请询问 ISP 他们是否在连接到您的路由器的 BGP 路由器上启用了负载共享。ISP 会在他们这边看到 2 条通往您宣布的 IP 前缀的路径。

其次,如果路由器 R1/R2 正在接收“默认网络”,则这两个路由器 R1/R2 都需要将 0.0.0.0/0 重新分配到 IGP 中,或者执行与您的 ISP 相同的操作。R1/R2 需要向 IGP 通告默认网络。重新分配 0.0.0.0/0 可能过于复杂。将具有更高度量的 R1/R2 的默认值宣布为 IGP 是一种简单得多的设计。越简单越好。

您可以研究 BGP 中的“maximum-paths ibgp 2”命令,该命令在其他属性匹配的情况下处理负载平衡方面。