我有一个相当简单的网络设置,如附图。网络分布在两个或多或少相似的数据中心,它们通过静态 OpenVPN 隧道连接。VPN 服务器和网关都在运行鸟OSPF,配置为骨干区域0。
每个“客户端”由一个 OpenVPN 客户端和它后面的多个主机组成,它们都属于一个公共 /64 块。OpenVPN 客户端打开两个到其中一个 DC 的连接(主连接和备份连接)。我需要的是,所有客户端主机都可以与任一 DC 中的任何应用程序服务器通信,反之亦然,但任何“客户端”都不应该知道任何其他“客户端”。我最初的想法是让 OSPF 也运行在 OpenVPN 客户端上,并让它们以这种方式宣传它们的 /64 块,但这意味着所有客户端都会看到所有其他客户端。
我想要做的是最好在路由级别阻止“客户端间”通信,这既是为了安全,也是为了防止任何过多的网络流量,因为有些客户端可能位于非常慢的链路后面。因此,本质上客户端只能看到 DC 网络,而 DC 可以看到所有客户端网络。这能以某种方式通过 BIRD 的过滤功能来实现吗(如果可以,怎么做?),或者我是否应该研究其他路由协议?
笔记:我问过这个问题网络工程他们让我在这里问这个问题,还告诉我可以研究 BGP 作为一种可能的解决方案。但是我对 BGP 一无所知,简单研究了一下,发现它的设置相当复杂。