如何筛选通过BGP从Internet Exchange(IXP)接收的非Bogon前缀?


14

当连接到Internet对等交换(IXP)时,有什么好方法来确保人们不会向您发送不应宣布的前缀?

关于Bogon,我知道Team Cymru Bogon参考项目,但是当涉及到过滤来自同行的其他内容时,我不知道从哪里开始。我的理解是这是RPKI和类似产品的作用?


为什么不只是eBGP与它们对等并在其路由表中添加黑洞前缀?

Answers:


13

正如其他人所言,RPKI将是路要走,但还不存在。在交换点,我们通常对每个会话都设置一个最大前缀限制。

此外,我们使用以下规则:

  1. 没有默认路由

  2. 没有四边形,更确切地说,此列表:

    route-filter 0.0.0.0/8 orlonger reject;
    route-filter 127.0.0.0/8 orlonger reject;
    route-filter 10.0.0.0/8 orlonger reject;
    route-filter 172.16.0.0/12 orlonger reject;
    route-filter 192.168.0.0/16 orlonger reject;
    route-filter 224.0.0.0/4 orlonger reject;
    route-filter 240.0.0.0/4 orlonger reject;
    route-filter 169.254.0.0/16 orlonger reject;
    route-filter 192.0.2.0/24 orlonger reject;
    route-filter 198.51.100.0/24 orlonger reject;
    route-filter 203.0.113.0/24 orlonger reject;
    route-filter 100.64.0.0/10 orlonger reject;
    
  3. 前缀不超过/ 24

  4. 路径中没有私有AS编号

  5. 没有我们自己的前缀

对于IPv6,我们执行相同的操作,只是双引号不同。我将过滤器粘贴在此下方。请注意,语法可能有点奇怪,但这是由于Juniper匹配前缀的方式所致。对于Cisco语法,您可以转到此处:IPv6 BGP过滤器建议(该页面上的Juniper示例有问题,请根据需要使用以下示例)。

术语ebgp-relaxed {
    来自{
        家庭inet6;
        route-filter 3ffe :: / 16 orlonger;
        route-filter 0000 :: / 8或更长;
        route-filter 2001:db8 :: / 32 orlonger;
        route-filter 2001 :: / 32确切的下一个策略;
        route-filter 2001 :: / 32更长;
        route-filter 2002 :: / 16确切的下一个策略;
        route-filter 2002 :: / 16更长;
        路由过滤器fe00 :: / 9或更长;
        路由过滤器ff00 :: / 8或更长;
        route-filter 2000 :: / 3前缀长度范围/ 49- / 128;
        route-filter 0 :: / 0或更长;
    }
    然后拒绝
}

11

此刻(直到RPKI更加普及为止),我们通常只过滤常见的bogon,然后应用max-prefix过滤器来交换对等体。我们还会过滤某些ASN,我们确定这些ASN不会在大多数对等会话中显示,例如Level3或Cogent,或者不应该在交换中传输。

我们通常会发现大多数常见的路由泄漏不在1-2位数字范围内。无论如何,这很难捕获,除非您通过构建前缀/ ASN列表或通过radb过滤来过滤所有对等设备。大多数泄漏最终都接近10k-100k +,这很容易被相当低的(100-500)捕获)最大前缀过滤器。然后,您可以根据需要调整每个会话的时间。


7

根据您使用对等交换的方式,您有几种不同的选择:

首先,我将介绍RPKI,并说尽管您一定要继续进行部署,无论是针对您自己的路线还是对其他路线进行验证,但不幸的是,它的使用率非常低,以至于您现在不能指望它能做那么多事情。真正的解决方案是WHOIS-Merit的RaDB可以说是最好的,因为它可以让您立即返回所有RIR的结果。但是,如果您希望直接查询每个RIR,请直接进行查询。

现在,如果您正在交换中,而您只是从IXP的路由服务器中获得了一堆前缀,这取决于您可以使用的工具和路由器的功能,则有两种可能:

   1.按来源AS过滤

从本质上讲,这包括针对WHOIS中的前缀验证前缀的源AS-如果源AS与WHOIS中的前缀不匹配,则删除前缀以及可能还会宣布的更多特定信息。通常,这是防止意外劫持的良好保护。绝大多数前缀应具有此数据。

   2.按公交AS过滤

这将更进一步,并过滤WHOIS中未授权的路径中具有任何AS的路由-但是您不能为每个前缀都执行此操作,因为并非每个人都会创建对象来指定其授权的传输AS提供者。


另一方面,如果您使用对等交换直接与他人进行对等,那么您的生活就会变得更加简单;您可以查询WHOIS中的前缀,并允许使用这些前缀。我认为良好的做法是允许对等方宣布最大长度为/ 24的更多详细信息,同时还为对等方设置合理的最大前缀值(即与他们拥有的子网数成正比),以便他们可以不会向您发送路由,但可以响应前缀劫持。

如果您正在寻找工具,请查看IRRToolSetIRR PowerTools


5

您基本上已经回答了自己的问题。您认为使用RPKI是必经之路的假设是绝对正确的。更具体地说,使用路由发起授权来验证AS的前缀。显然,由于没有将其分配给任何人,因此将是无效的,因此该问题将自行解决。RPKI Wikipedia页面上提供了很多此类信息。另一个好的资源是ARIN的RPKI页面

如果您需要配置帮助,建议您创建另一个问题,以寻求特定的配置帮助。

还值得注意的是,RPKI不能适用于所有情况,因为并非所有人都在使用它。在某些时候,您只需要信任您要接收的路线即可。


0

询问您的同行他们将宣布哪个AS宏,并使用IRRToolSet或rpsltool或irrpt为他们构建过滤器。鼓励他们在IRRdb中发布正确的信息。不要忘记aut-num在最近的友好IRRdb中更新您自己的对象以反映邻接关系。

RPKI并非前进之路,因为它无法防止路由泄漏。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.