使用基于 UDP 的 VPN 通过蜂窝网络连接到具有不稳定连接的远程计算机?

网络工程 虚拟专用网 UDP
2022-02-20 06:28:56

我想知道是否有人可以提供一些网络指导。欢迎任何想法/建议。

我试图弄清楚如何从我的办公室计算机可靠地连接到机器人上的计算机。

与机器人的连接并不总是很好(不稳定),因为机器人总是在移动。连接通过 3G 路由器(机器人上的路由器是 Microhard 的 3G 子弹)http://www.microhardcorp.com/Bullet-3G.php(我只是添加链接以提供有关我的特定设置的更多信息)

机器人计算机运行 Ubuntu server 14.04,办公计算机运行 Ubuntu Desktop 14.04。

我看到的第一个地方是设置 VPN。

机器人计算机可以运行 VPN 服务器并允许客户端连接到它。

什么是最好的推荐 Ubuntu-ready VPN 软件?

VPN over UDP 效果最好?如果蜂窝连接暂时掉线到 VPN 连接会怎样?它会很快断开连接并需要很长的重新连接过程吗?

我们的路由器似乎也支持 VPN(NAT-T VPN 隧道)。这会被推荐吗?(我看过一些帖子说 NAT-T VPN 不是最安全的方法)

任何最佳实践建议将不胜感激。

提前感谢您的时间和帮助。

2个回答

我现在做这个确切的场景。我的机器人运行 ROS,但这并没有什么不同。我的公司在美国,我们使用的是 Verizon 4G,但没关系。

基本步骤是

  1. 我们在 EC2 (Ubuntu 14.04) 上运行 OpenVPN 服务器
  2. 每个客户端(机器人)都连接到 OpenVpn。我们也碰巧在上面运行了 Ubuntu 14.04。
  3. 由于机器人是 VPN 的客户端,因此每个机器人都必须拥有一个证书才能加入 VPN。
  4. 证书拥有所谓的通用名称。这将是每个机器人唯一的(在我们的例子中,每个机器人有多台计算机,因此每个主机/计算机都是唯一的)
  5. 这个通用名称与 OpenVPN CCD 功能一起使用。这是一种基于证书名称的静态 IP 分配。https://openvpn.net/index.php/open-source/documentation/howto.html#policy
  6. 如果您是明智的,那么您可以配置 DNS。

机器人基本上会无限期地尝试连接到 vpn,当它们连接时,它们将收到一个静态 IP。

话虽如此,我们已经构建了作为服务运行的功能,它将尝试各种版本的ifdown tun0 && ifup tun0service openvpn restart以确保连接性。我们有能力做到这一点,因为我们的机器人是完全自主的,除了监控目的。

这与问题无关,但既然你说它是 Ubuntu,如果你通过命令行连接,你应该考虑使用像 screen 或 tmux 这样的虚拟终端 - 你登录并开始你的工作,断开连接,重新连接,然后启动再次回到您所在的位置,因为您的控制台会话从未中断。