当连接到 Internet 对等交换 (IXP) 时,有什么好方法可以确保人们不会向您发送他们不应该公布的前缀?
关于 bogons 我知道Team Cymru Bogon Reference项目,但是当涉及到从同行过滤任何其他内容时,我不知道从哪里开始。我的理解是这就是 RPKI 和类似的用途?
当连接到 Internet 对等交换 (IXP) 时,有什么好方法可以确保人们不会向您发送他们不应该公布的前缀?
关于 bogons 我知道Team Cymru Bogon Reference项目,但是当涉及到从同行过滤任何其他内容时,我不知道从哪里开始。我的理解是这就是 RPKI 和类似的用途?
正如其他人所说,RPKI 将是要走的路,但目前还没有。在交换点,我们通常对每个会话设置最大前缀限制。
此外,我们使用以下规则:
无默认路由
没有笨蛋,更确切地说是这个列表:
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;
没有超过 /24 的前缀
路径中没有私有 AS 编号
没有我们自己的前缀
对于 IPv6,我们也这样做,只是 bogons 不同。我在下面粘贴了我们的过滤器。请注意,语法可能有点奇怪,但这是由于瞻博网络匹配前缀的方式。对于 Cisco 语法,您可以转到此处:IPv6 BGP 过滤器建议(页面上的瞻博网络示例有问题,如果需要,请使用下面的示例。)
术语 ebgp-relaxed { 从 { 家庭 inet6; 路由过滤器 3ffe::/16 或更长; 路由过滤器 0000::/8 或更长; 路由过滤器 2001:db8::/32 或更长; 路由过滤器 2001::/32 确切的下一个策略; 路由过滤器 2001::/32 更长; 路由过滤器 2002::/16 确切的下一个策略; 路由过滤器 2002::/16 更长; 路由过滤器 fe00::/9 或更长; 路由过滤器 ff00::/8 或更长; 路由过滤器 2000::/3 前缀长度范围/49-/128; 路由过滤器 0::/0 或更长; } 然后拒绝; }
目前(直到 RPKI 更普遍),我们通常只过滤常见的 bogon 并应用最大前缀过滤器来交换对等点。我们还过滤了某些 ASN,我们确信这些 ASN 永远不会出现在大多数对等会话中,例如 Level3 或 Cogent,或者不应通过交换进行传输。
我们通常会发现,大多数常见的路由泄漏都不是在 1-2 位数字范围内。无论如何,这很难捕捉到,除非您通过构建前缀/ASN 列表或通过 radb 等过滤器过滤所有对等点。大多数泄漏最终接近 10k-100k+,这很容易被相当低的 (100-500 ) 最大前缀过滤器。然后,您可以根据需要调整每个会话。
根据您使用对等交换的方式,您有几种不同的选择:
首先,我将介绍 RPKI 并说虽然它是您绝对应该继续部署的东西,无论是为您自己的路线还是验证其他路线,不幸的是,它的使用率如此之低,以至于您此时无法期望它做这么多。这里真正的解决方案是 WHOIS - Merit 的 RaDB 可以说是最好的,因为它允许您一次返回所有 RIR 的结果。但是,如果您更喜欢直接查询每个 RIR,那就去吧。
现在,如果您在交换机上并且您只是从 IXP 的路由服务器获得一堆前缀,根据您可用的工具和路由器的功能,您有两种可能性:
1.按来源AS过滤
从本质上讲,这包括根据 WHOIS 中的前缀验证源 AS - 如果源 AS 与 WHOIS 中的不匹配,则删除前缀和任何可能也会公布的更多细节。这通常可以很好地防止意外劫持。绝大多数前缀都应该有这个数据。
2.按中转AS过滤
这更进一步,并过滤路径中未在 WHOIS 内授权的任何 AS 的路由——但是,您不能对每个前缀都这样做,因为不是每个人都会创建对象,指定他们的授权中转 AS 提供商是谁。
另一方面,如果您使用对等交换直接与其他人对等,那么您的生活就会变得更加简单;您可以在 WHOIS 中查找它们的前缀并允许使用这些前缀。在我看来,好的做法是允许对等方宣布最大长度为 /24 的更多细节,同时还在对等互连上设置合理的最大前缀值(即与他们拥有的子网数量成正比),以便他们可以“ t 用路由淹没你,但可以响应前缀劫持。
如果您正在寻找工具,请查看IRRToolSet和IRR PowerTools
你基本上已经回答了你自己的问题。您认为使用 RPKI 是必经之路的假设是绝对正确的。更具体地说,路由发起授权用于验证 AS 的前缀。显然 bogons 将无效,因为它们没有分配给任何人,所以这个问题会自行解决。RPKI 维基百科页面上提供了很多此类信息。另一个很好的资源是ARIN 的 RPKI 页面。
如果您需要配置帮助,我建议您创建另一个问题,要求提供特定的配置帮助。
还值得注意的是,RPKI 并不适用于所有情况,因为不是每个人都在使用它。在某些时候,您只需要信任您收到的路由。