是否可以远程影响 BGP localpref?

网络工程 bgp
2021-07-08 15:10:43

一位同事正在尝试实施主动/被动互联网多宿主。该设计需要向被动提供者发送社区(如下所列),以降低远程 AS 处对通告路由的本地偏好。文件多次指出,社区是供客户使用,我们并非这些供应商的客户。我认为让整个互联网能够改变本地偏好是一个巨大的安全风险。这在实际工作中会有滚雪球的机会吗?

1273:70     cable and wireless plc local pref 70
2828:1507   xo local pref 70
3356:70     level3 local pref 70
3549:100    global crossing local pref 100
4323:80     twtelecom local pref 80
1299:50     teliasonera local pref 50
3个回答

您在路线上标记的社区不太可能(但并非不可能)传播到您的上游。大多数提供商会在重新发布上游/下游路线之前将社区剔除。

如果您想以这种方式影响多个远程 AS,则需要使用 AS_PATH 前置。为您的备份/被动提供程序预先准备 2-3 次,然后大部分/所有流量将沿着您的主动路径流动,直到它失败。一旦失败的路线被撤回,流量应该转移到你的被动路径。

提供者应该有一个入站过滤器,以确保这些社区只被客户接受。如果没有,那就是供应商的问题。

不过,一些 Tier1 提供商确实接受来自任何地方的此类社区。这是基于 RFC 1998:https : //www.rfc-editor.org/rfc/rfc1998.html

您通常可以做的最好的事情是与您的提供商一起寻找社区,这些社区允许您指示提供商的每个同行前置 这假设您的提供者拥有这样的社区,并且拥有使其工作的对等关系。将您自己的公告预先发布给您的同行将与您的提供商的上游没有任何变化。尽管此方法不会更改从您的提供程序中删除的 AS 的localpref,但它在使返回给您的路径变得不那么受欢迎方面具有类似的影响。影响 localpref 上游有一个例外,我将在底部描述,尽管这可能是一个边缘情况。

某些提供商(例如 XO [AS2828])允许您以这样的方式通告您的前缀,即您的提供商为他们的某些对等方发布带有特定前缀的路由。

例如,XO 接受:

2828:1108为 AT&T预先准备一次 为
2828:1207Level3
2828:1303预先准备两次 为 Sprint 预先准备三次

在 Savvis 上,社区是3561:30151AT&T 的前身。

这些提供者通常有社区来向特定对等方指示 NO_EXPORT 或 NO_ADVERTISE 的知名社区。

我认识的一个 Tier 2 供应商 InterNAP 能够影响localpref上游,因为他们购买运输,所以他们是 Tier 1 的客户。他们拥有您可以使用的社区,他们尝试将这些社区转化为特定的第 1 层社区,用于您的上游广告,这些社区将localpref设置为对等、中级或高级值。请参阅http://www.onesc.net/communities/as6993/Internap-Customer-Guide-1.3.pdf

参考示例:
在 AS2828 Border
Savvis Prepend Community Attributes中将客户公告更改为某些对等方的 XO 社区

除了作为客户的直接经验之外,我与示例中使用的提供商没有任何关系。