School Wifi is bad enough, and with the way modern networks are sub-netted, I thought doing things like streaming games with Nvidia GameStream, using applications like Synergy, or accessing a local Plex server was near impossible... before I found ZeroTier.
I'm not even a week into my first semester at Penn College of Technology but the Wifi has already gone out twice in my dorm and the Ethernet ports are in some of the least ideal locations. Now don't get me wrong, the IT infrastructure here is incredible: card readers at every door, a WAP in every dorm room, one dedicated Ethernet drop per student, campus-wide Wifi inside and out, but with that extensive infrastructure comes a lot of network segregation. Wireless devices can't see each other on the network, and my laptop's game stream client definitely won't be able to see my wired desktop. This segregation keeps the network slightly more secure and running a little faster, but it makes things that rely on LAN discovery struggle to function properly.
As I was pondering how to tackle this issue walking to class one day, I thought to myself: "I wish I had a VPN that all my devices could use that would only route some of their traffic through the VPN." It is possible to achieve this with OpenVPN, but that solution isn't necessarily practical for my situation, so I started looking into alternatives. This is where ZeroTier comes in.
As their tagline states, ZeroTier is "... a virtual networking layer that works the same everywhere." The big selling point here is that you can interconnect virtual machines, mobile devices, physical servers, desktop computers, and more. You can also scale up and connect entire LANs together with one of their edge devices, all seamlessly through one of their physical appliances or their client application.
In my configuration, I just needed to connect a laptop, desktop, Android phone, and my Nvidia Shield Android TV. This deployment fits well within their free plan and is extremely easy to setup. To get started, simply create an account and make a network. Once you've done that, install the client-side application on all your devices and connect to the network you've just created. Approve each device connection from your network dashboard and you're good to go.
Each of your devices will receive an IP address inside the ZeroTier network and the ZeroTier client will create a new virtual network interface in your system. From here you really have two options.. Your first option is to preform a direct connection using the assigned IP address in the ZeroTier network, or just let your applications discover each other as if they were all on the same LAN (this works great for things like Synergy or Nvidia GameStream).
So... the next question: Can I stream games to my phone from my desktop across campus?