主要的诉求:
1、能够在外部网络随时接入到家里的内网、访问家里的各种设备;
2、家里的一些家电也带网络控制功能(所谓的智能家电),后续希望能够通过这个小网关实现电器自动控制和调节。
家庭网络情况:
上海电信500M(下行)/50M(上行)。
电信接入设备:烽火通信SDN网关,型号是 HG2821T-U,电信目前新开户以及升级上来的网络都是采用这种SDN网关,目前网上暂未找到成熟的方案进入设备进行一些配置。好在电信提供了APP跟网关设备绑定之后可以设置DMZ和UPnP,但是第一次在APP设置之后未生效,重启网关也无效。无奈拨打了电信的报修电话,电信工作人员上门之后给出的解决方案是换设备改桥接,当天工作人员换了三台设备都没有成功,约了第二天再换设备来处理,不过当天晚上的时候再试DMZ和UPnP倒是能用了。
网关接入设备:
NanoPi 2 Fire,2016年初以99元的价格购入,当时玩了一个月,安装了Ubuntu Mate,原计划是把这个小板子作为自己的开发环境使用,无奈IO性能太差,之后一直在角落里吃灰。后来买了一台ASRock的Beebox N3150作为开发机使用至今,N3150这里不展开说明。
NanoPi 2 Fire采用了三星S5P4418 SoC,1G内存,千兆网口,板子尺寸大概三分之二个信用卡大小,这个配置相对来说很不错,但是SoC发热比较大,正好有个闲置的USB风扇,对着吹用来降温。
技术方案选择:
1、VPN方案:WireGuard
2、电信网关设置DMZ到NanoPi 2 Fire
3、在操作系统镜像折腾上耗费了比较多的时间,NanoPi官方最新的镜像是4.4内核,刷到板子里不能用,发现原来新的镜像是适配新板子,对老版本的板子没有兼容。老版本的镜像是3.4内核,由于WireGuard最低需要3.10内核支持,一开始打算移植3.4内核的东西至3.16内核(LTS),也买好了串口线接入以备内核调试,尝试了2天最终还是放弃,主要原因是涉及的东西比较多,自己也不擅长这块,进展缓慢,时间投入不值得,不过对嵌入式系统的启动机制倒是了解的比较清楚以及对内核源码的结构加深了印象。最后选择了DietPi作为系统镜像而非官方镜像,DietPi官方没有提供NanoPi 2 Fire的镜像,有NanoPi M2的,查了一下资料发现NanoPi M2跟NanoPi 2 Fire的配置除了WiFi和蓝牙模块其他基本一样,尝试刷入M2的镜像到NanoPi 2 Fire,顺利启动。DietPi的镜像十分精简,镜像压缩包只有几十兆,十分推荐使用,DietPi也有树莓派的镜像。总结一下:国产板子的性价比很好,但是后续支持以及生态上还是差的比较多,出现问题自己研究解决比较痛苦,如有可能还是选择用户多的板子。
4、由于缺乏了原生内核支持,WireGuard的技术实现方案上选择了wireguard-go,目前使用下来良好。同时wireguard-go在比如MacOSX等没有原生内核支持的操作系统也可以使用。
待续。接下来记录一下折腾Home Assistant的东西。
发表回复