需求描述
计划设计一个系统,比如由box(嵌入式linux系统)、云服务器等组成,来实现远程调试PLC,基本框架如下
方案1
用户端运行openvpn client
box里面运行openvpn server
用户端openvpn client直接连接到box的openvpn server,再连接到plc
存在的问题是:box一般用4g上网,通过4g卡上网的时候分配到的IP是动态的并且基本是无法直接ping通的,所以客户端无法直接连接到server
方案2
用户端运行openvpn client
box运行openvpn client
在云服务器上运行openvpn server,两个client都连接到openvpn server,用户client就可以经过server连接到box client,进而连接到plc
存在的问题是,在用户多的情况下怎么实现不同的用户间隔离、设备间隔离、用户和设备间隔离?
比如下图,要求 用户A仅可见自己的设备BOX A,用户B仅可见自己的设备BOX B,这个要求好像是做不到的,连接到同一个openvpn server的client的等级是一样的,即要么都可见,要么不都不可见
问题
请问方案1和方案2存在的问题是否能解决,是否还有其他更合适的方案