BPI R1的那些坑——香蕉派路由器的缺点和不足

作者: jarod_ch
上传时间为: 2014-12-02 02:38 PM
2014-12-02
阅读:

香蕉派的路由器板子——即BPI-r1到手已经有一段时间了,但是官方的系统支持一直不是很好,所以影响了大家在上面折腾各种应用。

我的做法是用原先的香蕉派板子来模拟r1的环境,然后在上面尝试构建路由器系统和进行其他的应用开发。具体的成功可以参考我的另外

一篇帖子: DIY 香蕉派BPI 路由器完整方案[有线+无线]

但是经过进一步的研究,发现r1的物理结构和我上面采用的双有线网卡(一个网卡接外网,一个接内网)的结构是不同的,r1的主板上面只有一个

有线物理网卡(另外的4个lan口实际上是通过交换机并联到那个唯一的网卡上的)。r1的这种单有线网卡的布局又被称为 "单臂路由器"   

为了说明其内部结构,下面我做了一张示意图来展示它的内部实际结构:

                  

                               图片左侧是双网卡的路由器,右侧是单臂路由器(即r1的实际物理结构)



也就是说r1实际上是在一个物理网卡上用vlan技术模拟出两个虚拟网卡,分别作为连接外网的设备和连接内网的设备,然后利用一个交换机芯片来接如局域网内的其他设备。这种做法是市面上不少家庭路由器采用的方案。

优点:

     节约成本,省点电

缺点:

      但是我觉得这个设计就是r1最大的坑,也是目前收到测试版的玩家遇到的最头痛问题,官方linux系统迟迟没有推出,除了那个fex问题外,这个配置估计也是折腾开发人员的重要原因。具体来说:

  1. 硬件工程师偷懒折腾死软件工程师

      因为只有一个物理网卡,但是却要负责两个网卡的工作,所以需要依赖一些软件技术来实现,主要是vlan(虚拟局域网),linux下的网桥之类的机制来实现,而这些都需要系统开发者和软件开发人员非常熟悉网络方面的知识,但是大部分玩家实际上是缺乏这些知识储备的。作为一种开源硬件,如果大部分玩家都搞不定,估计会严重打击大家折腾的积极性。

  2. 复杂性带来的维护性和安全性问题

     因为依赖复杂的网络设置,所以会带来后期开发的各种问题。简单举例来说,r1定位为智能路由器,那么后期在上面部署负责的web应用和服务是开发和折腾的方向。而r1依赖的vlan机制不是每个人都熟悉的,可能会因为vlan,网桥等的设置而导致错误,而大部分不具备相关知识的开发者

是无法独立解决的。而作为日常的路由器使用,估计也会遇到这些只有网络高手才能解决的问题。

  3. 安全性问题

    因为单臂路由器,实际上外网和内网是联通的,没有物理隔离措施,这会带来潜在的安全问题。普通的路由器估计问题不大,但是r1作为智能路由器和为了智能家居中心服务器的定位,这个安全问题是不容小视的。举例来说,如果用r1做一个智能家居的中心服务器来控制家庭照明,空调等设备。那么如果r1对电灯和其他设备的控制通讯没有安全验证机制,那么有可能出现这样一种情况。互联网上的某个不怀好意的人,通过伪造数据包,来发送控制你家庭内部的电灯、空调等设备。因为vlan的机制决定了来自互联网的数据是不经过路由器的防火墙过滤的,是直接可以进入局域网的。思科的防火墙原理相关的书籍在论述vlan的时候已经特别提醒了这个潜在的安全威胁。

   有没有办法解决呢? 有,在虚拟局域网(vlan)上构建虚拟防火墙!估计vlan已经让很多人晕菜了,至于这虚拟防火墙该如何构建那真是鬼知道了。而且就算你成功配置了虚拟防火墙,也同样会带来维护性的问题,一个疏忽大意导致的防火墙规则漏洞就可以让所有的安全措施形同虚设。

  4. 性能问题

   让一个网卡干两个网卡甚至三个网卡的工作,意味着千兆网卡的带宽和性能是被平分掉的,性能的损失是不言自明的。

建议:强烈要求给r1配上两个独立的物理网卡!!!!

其他建议:

    1、 提供DC的电源接口,由于r1带sata硬盘接口、无线网卡、交换机芯片,再加上未来的双有线网卡,耗电绝对是个问题。在microUSB线材质量

难以保证的前提下,还是DC接口比较安全。

    2、sata的硬盘位置最好能给一个屏蔽罩。

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示