章节大纲

  • 介绍这个实验

    • 在此任务中,我们将使用 AS-161 中的 BGP 路由器发起前缀劫持攻击。我们的目标是劫持属于AS-154 的 IP 前缀。如果攻击成功,所有前往 AS-154 的数据包都会被路由到 AS-161,在那里它们会被丢弃。看上去,去往 AS-154 的数据包都进了 “黑洞”。


      在 BIRD 中,BGP 路由器所宣布的前缀可以来自不同的来源:这些前缀可能来自 direct 协议,即从附着到 BGP 路由器的实际网络接口获取。它们也可以来自 static 协议,其中包含预定义的路由。BGP 路由器要宣布一个它不拥有的前缀的最简单方式是使用 static 协议。以下示例创建了一个静态路由到 10.130.0.0/16 前缀,有关详细解释,请参阅教程中的 Section 3 。应注意的是,在该条目的过滤部分,我们需将其添加到 LOCAL_COMM 社区中, 否则,BGP 路由器将不会向外出口此路由。

      protocol static {
         ipv4 {
                 table t_bgp;
        };
        route 10.130.0.0/16 blackhole { bgp_large_community.add(LOCAL_COMM); };
      }
      
    •     AS-154 具有检测系统,攻击发起后,它立即检测到了攻击。它尝试打电话联系 AS-161 的上游服务提供商 AS-3,请他们阻止该攻击。不幸的是,AS-3 没有人接电话。由于服务中断导致的损失严重,AS-154 决定反击,希望夺回自己的网络前缀,而不是依赖于 AS-3。请重新配置 AS-154 的 BGP 路由器以成功实现此目标。

      protocol static {
        ipv4 { table t_bgp; };
        route <需填> via "net0" {
                 bgp_large_community.add(LOCAL_COMM);
        };
        route <需填> via "net0" {
                 bgp_large_community.add(LOCAL_COMM);
        };
        ... 
      }
  • 你需要提交一份带有截图的详细实验报告来描述你所做的工作和你观察到的现象。你还需要对一些有趣或令人惊讶的观察结果进行解释。请同时列出重要的代码段并附上解释。只是简单地附上代码不加以解释不会获得学分。实验报告的提交方式会由你的老师进行具体安排。