自动建立 BGP 邻居关系

网络工程 路由器 bgp
2021-07-31 08:47:26

我试图在示例拓扑上配置 BGP 对等体,现在考虑到 BGP 是路由互联网的协议,通过使用 CLI 命令的这种手动配置来建立数千个 EBGP 对等体肯定是不可能的。所以我想知道有没有办法自动化这个过程以及如何做到这一点?

在相关主题上,BGP 我读到 BGP 交换 RIB 信息并在建立对等组后进行更新。有人可以指出该 RIB 的确切内容是什么以及如何通过它们实施政策。?

2个回答

您正在寻找BGP 动态对等互连,在 Cisco 世界中,它允许将整个子网范围指定为对等体,并将给定的接口设置为简单地侦听新连接。它实际上是一个较旧的功能,其使用的智慧曾经——而且现在——都可以说是有限的。

考虑到有(并且有)明确定义 BGP 关系的充分理由:安全性、可扩展性管理、策略应用的一致性、基础设施的稳定性等。似乎有定期推动 BGP 像 IGP 一样工作。我建议这比尝试让 OSPF 处理域间路由稍好,但仍然是错误的工作工具。

维护大量 BGP 对等信息的正确答案是使用 Ansible 或 Puppet 之类的工具(或大多数可以前端策略存储库的类似脚本工具),但如果您坚持使用动态形成对等体的机制,则上述方法有效,使用动态生成的 v6 链接本地地址来建立 NLRI(...参见 RFC 5549)。

许多供应商为自动化提供了一些基础设施,例如使用SNMP-setNetconfAnsiblePuppet这允许您构建可以从数据库中提取对等配置并​​相应地提供 BGP 会话的脚本。哪种解决方案最有效因供应商而异。

一个非常酷的例子是Coloclue(一家荷兰非营利性 ISP)管理其对等会话的方式:它们允许您在包含其对等记录github 存储库上执行拉取请求,一旦拉取请求被接受,配置为使用PeeringDB 的对等信息推送到他们的路由器