微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 远程管理防火墙后面的多个设备

我正在寻找一种解决方案,让我可以从中央服务器远程访问多个设备.

这些设备预装了自定义软件,但其网络状况未知,可能在3G或NAT受限的WiFi环境下.

我想到的第一件事是使用反向SSH连接(使用ssh -R通过systemd服务或autoSSH),尽管这意味着每个设备都有一个重定向端口.这不是一个真正的问题,我怀疑我将同时运行超过50K的设备.

但是,我正在寻找一个更易于管理的基础架构,并且更具可扩展性,以防万一.我试着调查其他问题,但我找不到这个问题的答案.我看到有些人建议使用VPN隧道,将每个设备连接到中央设备.如果有人能够解释它是如何工作的那就太棒了,我真的不明白它是如何工作的,我在哪里设置每个设备ID /名称,以及如何在它全部运行后启动远程连接.

任何其他方法解决方案也是受欢迎的.

注1:我认为一个一个的远程访问就足够了,但是如果所有可用的(以便将命令发送到设备组)也会有所帮助(但如果一次解决一个问题,请不要停止回答).

注2:系统是基于debian的. (Raspbian.如果需要它也可以是Ubuntu)

解决方法

随着时尚的口号词“物联网”,我们经常会遇到这类问题.我将通过一些考虑添加一个冗长的答案,并邀请其他人进行编辑和改进.

>放弃对任何特定设备进行交互式访问的想法.您需要设备上的代理从管理服务器获取指令/命令,并且会回发它的健康状况以及任何结果/收集的数据.对于现场运算符来说,确认设备确实与管理服务器通信或出错是很有用的.
>您的设备需要打电话回家.
您希望您的设备连接到您的管理服务器,而不是相反.由于IPv4仍然被许多消费者和企业使用,因此仍然存在相当多的NAT,其中建立从设备到服务器的连接将比其他方式更顺利地工作(这将需要设置端口转发等) .
大多数消费者/小型企业防火墙的认行为是允许所有传出流量,因为那些通常不是真正管理的,这意味着打电话回家通常只需在没有进一步设置的情况下工作.
甚至许多托管网络也更愿意通过打开传入连接来允许传出连接.
>协议需要是HTTP或HTTPS.它在正常的TCP / IP上运行,即使不允许直接访问Internet,您的设备仍然可以轻松配置为使用Web代理.
>您的管理服务器需要侦听认Web端口,即80(HTTP)和/或443(HTTPS).跟随部落有很多话要说……
>您的设备需要能够使用DHCP进行自我配置,但您还需要为现场运算符提供一种方法来设置静态IP配置和/或代理服务器.
>您的设备需要同时支持IPv6和IPv4.
>自动登记 – 在部署之前,您可能不希望(手动)在管理服务器上注册每个设备的设备数量较多,而设备应该在打开电源并连接时自行注册.
>代理商不应该按照固定的时间表运行,您不希望成千上万的代理商在同一时刻为所有电话回家.

你可能想看一下现有的configuration management tooling,它已经提供了很多这样的功能.

如果您决定自己动手,请考虑利用Azure IoT gateway SDK,Google Compute IoTAWS IoT等框架

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐