我想要访问运行可在 LAN 中访问的网络服务器的摄像机。
我正在使用 3G 调制解调器,并且我的 ISP 不允许端口转发,所以我无法从互联网访问相机。
我正在考虑使这项工作成功的先决条件,但不确定是否ssh
可以让我访问实时视频流。
我的想法是:
- 一个 rasperry pi,与相机位于同一个本地网络中。PI 将在启动时创建一个 ssh 隧道,通往位于云中的 VM,并可从互联网访问。
云中的 VM 配置为将所有命令重定向到 rasbery PI。
然后我就可以通过 ssh 连接到云中的 VM 并访问 rasbery pi。
那么我是否能以某种方式访问摄像头 IP?
答案1
好的,你已经了解了问题中的基本思想,所以我认为你只需要一个大致的指导来设置隧道并用它来做你想做的事情。
我个人的做法是在 raspi、云虚拟机和您自己的机器(如果需要,还有手机)之间设置 VPN。这样,任何可以运行所选 VPN 客户端的系统都可以登录 VPN,并访问该网络上的任何资源,例如相机,就像它是本地的一样。
设置 VPN 服务器的答案实在是太长了,但是我可以为您提供一个对我有用的指南:GitHub 上的 Raspi VPN 路由器。
您偶然发现的另一种解决方案是设置到 raspi 的 SSH 隧道。这也可以行得通,您可以使用 raspi 作为“socks 代理”,或者您可以在反向模式下使用 ssh 隧道,基本上就是“端口转发”相机,这样它看起来就像在虚拟机上本地运行一样。
但是这个解决方案并没有解释您将如何访问虚拟机,您可以选择使用通过 ssh 的解决方案,或者设置一个 Web 前端,让它像在虚拟机本地一样查看摄像头。
为了进行这项设置,您需要研究使用 raspi 作为反向 ssh 隧道,我个人认为这项设置起来更加繁琐,如果您不完全了解网络在做什么,可能会更加令人困惑。
我发现一个理想的指南是:Raspi 反向 SSH 隧道