L3/BGP - 允许配置 BGP 对等体连接模式

https://bugs.launchpad.net/neutron/+bug/2040001

此 RFE 旨在实现一个配置选项,允许操作员将 Neutron 动态路由 (n-d-r) 扬声器的默认 BGP 连接模式更改为所有支持的模式:ACTIVE(主动)、PASSIVE(被动)或 BOTH(两者)。

问题描述

在使用 n-d-r 时,扬声器的当前行为是在 ACTIVE 模式下工作,这不会在 TCP 179 端口上创建本地 TCP socket。因此,在交换机的 BGP 会话中,需要将其配置为 PASSIVE 模式,而不是主动发起 TCP 连接。

操作员可能拥有不完全符合 RFC 4271 [1] 关于 BGP FSM (8.2) 的交换机品牌。

当 n-d-r 和交换机具有正常的 BGP 会话时,操作员可以在交换机或 n-d-r 代理中执行维护窗口,会话可能会发生 flap 并暂时中断,并且在交换机端,BGP 会话状态可能会更改为 IDLE(空闲)。

根据 RFC 4271(8.2.2),当 BGP 会话处于 IDLE 状态时,它会拒绝所有入站 BGP 连接尝试,并启动到对等体 (n-d-r) 的 TCP 连接,而 n-d-r 扬声器将不会响应,因为 n-d-r 处于 ACTIVE 模式,并且没有用于此的监听端口。如果交换机正确遵循 RFC 关于启用 BGP PASSIVE 模式的规定,它将忽略它并接受来自 n-d-r 的传入连接,并且无论 IDLE 状态如何,连接都将被重新建立。

这绝对是一个交换机端的问题,但当发生这种情况时,我们可以允许操作员将 n-d-r 扬声器的默认行为从 ACTIVE 更改为 PASSIVE 或 BOTH,使用 n-d-r 配置选项,然后在 TCP 179 端口上打开本地 TCP socket,以便响应传入的 TCP 连接。

提议的变更

此提案实现了一个配置选项,允许操作员将 n-d-r 扬声器的默认 BGP 连接模式从 ACTIVE 更改为 PASSIVE 或 BOTH。对于没有上述问题的操作员,无需更改任何内容,因为 BGP 连接模式将保持为 ACTIVE。

要更改 n-d-r 扬声器的默认 BGP 连接模式,应通过 n-d-r 代理配置文件中的 [BGP] 部分启用一个新的配置选项。

* ``bgp_connect_mode = both``

支持的 bgp_connect_mode 值是

  • active 发起 TCP 连接以建立 BGP 会话,并且不需要在 179 端口上打开本地 TCP socket。 bgp_connect_mode 的默认值必须是 active,以保持当前行为。

  • passive 在 179 端口上打开本地 TCP socket,并等待来自 BGP 对等体的传入 TCP 连接。

  • both 在 179 端口上打开本地 TCP socket,并等待来自 BGP 对等体的传入 TCP 连接。 此外,可以发起连接以与对等体建立 BGP 会话。

Neutron 动态路由影响

当 n-d-r 代理启动时

  • 如果省略了选项 bgp_connect_mode 或其值为 active,则 BGP 连接模式将保持为 ACTIVE,并且不会在 179 端口上创建本地 TCP socket。

  • 如果选项 bgp_connect_mode 的值为 passive,则 BGP 连接模式将用作 PASSIVE,并且将在 179 端口上打开本地 TCP socket。

  • 如果选项 bgp_connect_mode 的值为 both,则 BGP 连接模式将用作 BOTH,并且将在 179 端口上打开本地 TCP socket。

由于 n-d-r 可能会以非特权用户身份启动代理,systemd 需要 n-d-r 代理服务具有 net bind capability,才能允许在 179 端口上创建本地 TCP socket。

安全影响

操作员必须确保在使用 bgp_connect_mode 作为 passiveboth 时 n-d-r 代理的安全,并创建本地防火墙规则以仅允许来自 BGP 对等体的传入 TCP 连接。

实现

负责人

主要负责人:* Tiago Pires <tiagohp@gmail.com> * Roberto Bartzen Acosta <rbartzen@gmail.com>

工作项

  • 实现新的配置选项。

  • 使用 Neutron 动态路由中现有的设施实现相关的单元和功能测试。

  • 编写文档。

测试

  • 单元/功能测试。

文档影响

用户文档

  • 关于 bgp_connect_mode 配置选项的信息。

参考资料