I could be wrong, but what it seems like they’re trying to do is a pretty common use case in edge sensor/IoT platforms - you’ve got some sort of low powered devices in the field that you need to poll data from. It’s generally better practice to have those devices push, but for various reasons people still like to do polling. That’s not the use case that most people on this forum have, though, so their immediate thought is to set up 300 site-to-site networks, when that’s really not needed (disclosure: that was my first thought when I had to set up a product like this. I ended up with almost 100 /29’s before I figured out that was a stupid idea. And better solutions were developed).

The easiest solution for something like this (today) is to use something like Nebula or Tailscale on the actual device that takes care of things for you, more or less. Both will let you self-host your own control servers, let you expire keys/machines, deal well with weird NAT situations, and will even let you subnet route/relay if you need to. They also scale a lot better than OpenVPN does in terms of clients (I’ve got about 800 ovpn clients connecting in right now and even on powerful hardware it’s a mess). If you have to go the OpenVPN route, forwarding ports from the client VPN IP to the internal subnet (and keeping the internal subnet constant across all your client devices) is a much more clean solution.

My current deployment uses a couple of routes - 1) OpenVPN clients connecting in from our routers using individual user/pw combinations and certificates. 2) Nebula for all units going forward, which is actually a super easy PKI to manage programmatically. Of course, our main data channels actually don’t run over the VPNs in most cases, and we’ve got plenty of redundancy built in to do disaster recovery if necessary.

Again, I may be wrong, but this looks a lot like what we did early on in our product cycle, and what a lot of papers I review try to do in the beginning before they realize how hard it is to operate something like that at scale.