乐高头脑风暴上的BGP网络

2020-11-09 01:57:22

从我7岁起,我就想要一个乐高头脑风暴机器人。我承认,在后来的几年里,我主要是想向自己证明,在我年轻的时候,它看起来是如此昂贵,我已经取得了一定的成就。…。

我知道它有一些运行MicroPython的能力,因为在产品描述中主要提到了这一点,这听起来像是一个非常容易被黑客攻击的平台。

然而,在打开盒子后不久,我意识到这根本不只是MindStorms EV3的更新。显然,Robot的发明者比AA电池稍贵一些,功能更少,而且使用的是脂肪电池而不是AA电池。

幸运的是,我通过商店的网站订购了它,这意味着根据法律,我可以在14天内退货,无论出于什么原因,它允许我打开盒子进行检查。

因此,在说服一些顽固的店员相信这不是消费品(这会剥夺我打开盒子的权利)后,我拿回了它,并订购了EV3。

两天后,我终于得到了我梦寐以求的东西。

当我在等待EV3的时候,我四处看看它是如何做MicroPython的,就像它在下载页面上的这段话一样。

现在,您可以使用EV3 Brick通过MicroPython释放Python编程的强大功能。只需将EV3 MicroPython镜像安装到任何Micro SD卡上,然后从其中启动EV3 Brick,即可立即开始编程。

经过几分钟的搜索,我找到了ev3dev,这是一个开放源码社区项目,允许您在上面运行Debian!

它看起来做得很好,而且显然足够好,乐高可以提供它的官方版本,这就是他们用来支持MicroPython的。

因此,我继续下载磁盘镜像,并使用dd将其刷新到microSD卡。然后,我将microSD卡插入EV3控制器并打开…。

令我惊讶的是,在通电后,我很高兴看到内核dmesg的输出在第一次尝试时就在EV3的LCD上滚动显示出来!

Robot@ev3dev:~$uname-aLinux ev3dev 4.14.117-ev3dev-2.3.5-ev3#1 Preempt Sat Mar 7 12:54:39 CST 2020 armv5tejl GNU/linuxbot@ev3dev:~$cat/etc/os-Release PRETTY_NAME=";ev3dev-stretch";NAME=";ev3dev-stretch";ID=ev3devID_LIKE=debianHOME_URL=";http://www.ev3dev.org";SUPPORT_URL=";http://www.ev3dev.org/support";BUG_REPORT_URL=";Https://github.com/ev3dev/ev3dev/issues";

在玩了大约两分钟后,我意识到了一些事情…。这款软件在Debian上运行的包库相当完整(它有大约64000个包,而普通的AMD64 Debian有大约66000个包),它能运行BIRD吗?

我猜想如果ARM926EJ-S CPU可以运行Debian之类的东西,那么它大概可以运行非常简单的BIRD配置,但是我对56MB的RAM不是很确定。

所以我继续输入sudo apt install bird,然后按Enter…键

Bot@ev3dev:~$sudo apt安装Birdread软件包列表...。正在完成正在生成依赖关系树,正在读取状态信息...。DoneSuggest套餐:bird-doc.。

(这实际上慢得令人痛苦,因为这款机器一点也没有强大的CPU)。

当我看到鸟医生的时候,我意识到,是的,它至少有鸟在回购中,所以这是一个很好的第一步。

我在这里只安装BIRD 1.6.3,因为如果我只运行IPv6守护进程并禁用IPv4守护进程,它可能会比BIRD 2使用更少的资源。

然后,我编写了一个快速的小鸟配置,让EV3(AS202314)向我的家庭路由器(AS210089)通告2a0d:1a45:666::/48,然后家庭路由器将处理其余的事情。

我应用了这一点,并在我的家用路由器上写下了配置的另一端,也应用了这一点。

然后我去了NLNOG的Look Glass戒指,我看到了AS202314宣布的/48!

然后我把它发给了一个朋友,他指出只有大约一半的消息来源可以看到这条路线,结果发现我忘了给AS202314一个RPKI ROA作为前缀,所以我补充了这一点。

然后,出于演示的目的,我安装了ngix,它运行得出奇地好,所以我有了一个网站,我可以在http://[2a0d:1a45:666::]/[1]上访问它。

这是出人意料的容易上手。向ev3dev人员致敬,因为他们为EV3制作了这个Debian衍生品。

虽然让EV3坐在那里宣布IPv6的/48本身并不有用,但这显示了该平台的灵活性。事实上,我可以做这件傻事,这意味着我可以做一些不涉及BGP的更酷的事情,比如运行Web服务器和其他事情。

如果这是你喜欢的,也许你会发现我的其他帖子很有趣,你也可以在Twitter上找到我的小项目和漫谈:@bitcynth。

感谢本·考克斯和莫莉·米勒帮助编辑这篇博客文章。