UDP Tunneling solution recommendations
from umami_wasbi@lemmy.ml to selfhosted@lemmy.world on 09 Apr 2024 13:53
https://lemmy.ml/post/14248313

I want to host a small game server for friends and myself in my home but doesn’t want to open up the firewall. Any tunneling solutions supports UDP? Thnaks.

#selfhosted

threaded - newest

BearOfaTime@lemm.ee on 09 Apr 2024 14:23 next collapse

Wireguard/Tailscale? (I’m not sure how well they do with latency).

umami_wasbi@lemmy.ml on 09 Apr 2024 15:27 collapse

Isn’t tailscale serve only do tcp?

BearOfaTime@lemm.ee on 09 Apr 2024 22:32 collapse

You shouldn’t need serve or Funnel if your friends run the client and join your network.

Best part, they can choose to only run the client when they want to game.

That said, I notice a little lag when using RDP over it on the local net (while testing). Though that may be a round-Robin issue.

groet@feddit.de on 09 Apr 2024 14:42 next collapse

Most VPNs use UDP. So set up a wireguard, tailscale or openvpn.

But you still need to “open up the firewall”. UDP still works on ports the same way as TCP. I do agree however, that exposing a VPN port is more secure than exposing a port for a game server, as you don’t know about the security of that server software.

umami_wasbi@lemmy.ml on 09 Apr 2024 15:31 next collapse

Does that require my friends install & configure Tailscale/WG/OpenVPN? I tried that route like 2~3 yrs ago with OpenVPN and it doesn’t works well.

I would like to keep it as simple and easy as it can be. Aka no need extra software and config. Just fireup the game, connect, and play, as if the server is hosted on some VPS.

rtxn@lemmy.world on 09 Apr 2024 17:35 next collapse

At some point, you have to compromise.

  • You can open the port(s) used by the game on the firewall (assuming you have a publicly routable IP).
  • You can run OpenVPN or a proprietary solution, but you’ll have to open a port on the firewall, and I know from experience that they’re a bitch and a half to configure.
  • You can run Wireguard, but you’ll have to open a port on your firewall and have the other clients generate and send you their public keys.
  • You can run Tailscale (my preferred solution), which uses Wireguard and works without opening the firewall and without a publicly routable IP (e.g. behind CGNAT), but you’ll have to install the client, have the users sign in, and then add them to your tailnet, which IMO is much easier than setting up Wireguard peers manually.
  • You can use Tailscale Funnel, which exposes your tailnet to the public internet, but it’s in beta, has high latency, and only supports TCP, so you’ll have to figure out how to smash UDP datagrams through a TCP tunnel.
  • You can try Ngrok (my backup in case Tailscale can’t connect), which is a similar NAT traversal solution, but it only supports TCP and gives you a different IP and port every time you create a tunnel.
  • Twingate also exists, I guess, but I’ve only ever used it for SSH.
lemmyvore@feddit.nl on 09 Apr 2024 22:35 collapse

Tailscale […] install the client, have the users sign in, and then add them to your tailnet

You can just have them pass you the device enrollment links and add their devices to your tailnet. That way nobody else has to make an account.

Max_P@lemmy.max-p.me on 09 Apr 2024 18:47 collapse

Just fireup the game, connect, and play, as if the server is hosted on some VPS.

The best you can do without clients for the users is to set up a VPS and have your server VPN into it so the VPS can expose the game port through the VPN.

Other than that there’s no escaping either clients for everyone, or open ports on your router. Something somewhere has to be accepting incoming connections.

BearOfaTime@lemm.ee on 09 Apr 2024 17:38 collapse

I don’t think you need to open any ports for a mesh network to transmit UDP packets. It’s a full virtual network.

groet@feddit.de on 09 Apr 2024 19:23 collapse

If you want any system to connect to you, you need to open a port. You don’t need to do that for outgoing connections (the OS and your router will automatically open ports for the return connection). So if everybody connects to one central system, nobody needs to (explicitly) open any ports (except for the central connection point)

aBundleOfFerrets@sh.itjust.works on 10 Apr 2024 17:06 collapse

Thats one of the neat features of tailscale and zerotier, they can set it up so both ends are “outgoing” to the NAT so no port forwarding is needed

DetachablePianist@lemmy.ml on 09 Apr 2024 16:29 next collapse

You might try ZeroTier. You’ll each need a tiny client app, but its super easy to install and setup, and extremely secure. Free to use with up to 25 devices.

WIPocket@lemmy.world on 09 Apr 2024 16:41 next collapse

Can confirm, very easy to setup clients. And since its not a VPN but a VLAN, you wont run into problems connecting between different clients.

This is pretty much open-source Hamachi.

umami_wasbi@lemmy.ml on 11 Apr 2024 03:08 collapse

For non tech savy people, is ZeroTier easier to config than Tailscale? I tried Tailscale and everyone needs a account before start playing, which can be a fraction.

WIPocket@lemmy.world on 11 Apr 2024 05:47 collapse

Im not sure how difficult it is to setup a Tailscale client, honestly.

The Zerotier setup is just installing and joining a network by an id. The Windows version has a bit of a GUI, where you have to right-click on a status bar icon, click Join network, paste in the id and join. The Linux version of the client has a cli, which is imho even better, as you can just send them a whole command to copy into the terminal.

I admin a Zerotier network for a bunch of kids that wanna play Minecraft, and they havent had many problems setting up.

There is a bunch of information on self-hosting the whole system, but Ive honestly never tried any of that. It was just nice that this was “just the open-source LogMeIn Hamachi with a superior implementation of everything”.

possiblylinux127@lemmy.zip on 12 Apr 2024 00:29 collapse

Proprietary solution, no thanks

Decronym@lemmy.decronym.xyz on 09 Apr 2024 16:35 next collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
CGNAT Carrier-Grade NAT
IP Internet Protocol
NAT Network Address Translation
SSH Secure Shell for remote terminal access
TCP Transmission Control Protocol, most often over IP
UDP User Datagram Protocol, for real-time communications
VPN Virtual Private Network
VPS Virtual Private Server (opposed to shared hosting)

8 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

[Thread #669 for this sub, first seen 9th Apr 2024, 16:35] [FAQ] [Full list] [Contact] [Source code]

aBundleOfFerrets@sh.itjust.works on 10 Apr 2024 17:04 next collapse

Can’t recommend tailscale enough, it is much easier to set up than ZeroTier and has much more intuitive access control (so you could make it so your friends can only see the server and not each other for example)

Dalraz@lemmy.ca on 11 Apr 2024 00:21 next collapse

Tailscale/headscale are always recommended and they are good options but I want to recommend netbird as an alternative. This is what I have currently setup and it’s fantastic.

possiblylinux127@lemmy.zip on 12 Apr 2024 00:29 collapse

Tailscale and Netbird are what you are looking for. I highly recommend Netbird as it is much more user friendly. Just keep in mind it forwards all ports by default. You can change that in the access policies

i2p also can do it if you need privacy