# What VPN / networking solution do you use for ROS robots?

**URL:** <https://discourse.openrobotics.org/t/what-vpn-networking-solution-do-you-use-for-ros-robots/57544>\
**Category:** ROS General\
**Tags:** ros2, networking, vpn\
**Created:** [August 20, 2026, 12:17pm UTC](https://discourse.openrobotics.org/t/what-vpn-networking-solution-do-you-use-for-ros-robots/57544 "2026-08-20T12:17:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kubja](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/kubja/32/7554_2.png) [@kubja](https://discourse.openrobotics.org/u/kubja)\
**Post date:** [August 20, 2026, 12:17pm UTC](https://discourse.openrobotics.org/t/what-vpn-networking-solution-do-you-use-for-ros-robots/57544/1 "2026-08-20T12:17:51Z")

</div>

For anyone running ROS across more than a single machine or LAN, how are you handling networking today?

I’m particularly curious about setups where you need remote access to robots, ROS 1/ROS 2 communication across sites or subnets, or connectivity between robots and backend/fleet systems.

**What do you use?**

_Poll ([view on site](https://discourse.openrobotics.org/t/what-vpn-networking-solution-do-you-use-for-ros-robots/57544/1))_

Would be great to hear in the comments what your setup looks like, especially for ROS 2/DDS discovery and multi-machine communication, and whether networking constraints influenced your choice.

---

<div class="post-metadata">

**Author:** ![chfritz](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chfritz/32/26180_2.png) [@chfritz](https://discourse.openrobotics.org/u/chfritz)\
**Post date:** [August 20, 2026, 2:39pm UTC](https://discourse.openrobotics.org/t/what-vpn-networking-solution-do-you-use-for-ros-robots/57544/2 "2026-08-20T14:39:45Z")

</div>

As you scale your fleet from 2 to 20 robots and beyond you should update your network architecture such that you _don’t_ need a VPN. As I always say: _robot should be clients_ ™. Meaning nothing in your logic should require inbound connections to robots. It should always be the robots connecting out. In the Transitive framework I chose MQTT as the base communication layer: all robots connect to a broker that lives in the cloud (or on-prem server for offline deployments), and keep that connection alive – reconnecting if necessary.

Sometimes you do need shell/SSH access to your robots, yes, but even for that you don’t need a VPN. With the above topology in place you can use a web terminal, either directly over MQTT or over a webrtc connection. Web terminals are nice because you can combine SSH + SCP in one interface, e.g., drag and drop files into the terminal for upload, click files listed by `ls` to download, like we did in the [Terminal](https://transitiverobotics.com/caps/transitive-robotics/terminal/) capability you can try.

[![](https://us1.discourse-cdn.com/flex022/uploads/ros/original/3X/9/8/984aa0a31fccc8e94ce2254e293882ecf21e6e41.jpeg "Transitive: Terminal — Easy remote access to your robots, incl. file transfer") ](https://www.youtube.com/watch?v=doYcVNRtbAU)
