我试图在示例拓扑上配置 BGP 对等体,现在考虑到 BGP 是路由互联网的协议,通过使用 CLI 命令的这种手动配置来建立数千个 EBGP 对等体肯定是不可能的。所以我想知道有没有办法自动化这个过程以及如何做到这一点?
在相关主题上,BGP 我读到 BGP 交换 RIB 信息并在建立对等组后进行更新。有人可以指出该 RIB 的确切内容是什么以及如何通过它们实施政策。?
我试图在示例拓扑上配置 BGP 对等体,现在考虑到 BGP 是路由互联网的协议,通过使用 CLI 命令的这种手动配置来建立数千个 EBGP 对等体肯定是不可能的。所以我想知道有没有办法自动化这个过程以及如何做到这一点?
在相关主题上,BGP 我读到 BGP 交换 RIB 信息并在建立对等组后进行更新。有人可以指出该 RIB 的确切内容是什么以及如何通过它们实施政策。?
您正在寻找BGP 动态对等互连,在 Cisco 世界中,它允许将整个子网范围指定为对等体,并将给定的接口设置为简单地侦听新连接。它实际上是一个较旧的功能,其使用的智慧曾经——而且现在——都可以说是有限的。
考虑到有(并且有)明确定义 BGP 关系的充分理由:安全性、可扩展性管理、策略应用的一致性、基础设施的稳定性等。似乎有定期推动 BGP 像 IGP 一样工作。我建议这比尝试让 OSPF 处理域间路由稍好,但仍然是错误的工作工具。
维护大量 BGP 对等信息的正确答案是使用 Ansible 或 Puppet 之类的工具(或大多数可以前端策略存储库的类似脚本工具),但如果您坚持使用动态形成对等体的机制,则上述方法有效,使用动态生成的 v6 链接本地地址来建立 NLRI(...参见 RFC 5549)。
许多供应商为自动化提供了一些基础设施,例如使用SNMP-set、Netconf、Ansible或Puppet。这允许您构建可以从数据库中提取对等配置并相应地提供 BGP 会话的脚本。哪种解决方案最有效因供应商而异。
一个非常酷的例子是Coloclue(一家荷兰非营利性 ISP)管理其对等会话的方式:它们允许您在包含其对等记录的github 存储库上执行拉取请求,一旦拉取请求被接受,配置为使用PeeringDB 的对等信息推送到他们的路由器。