Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.ml
selfhosted·Selfhostedbymyszka

Means to privately connect to my home server other than Tailscale?

Wireguard is blocked in my country, so I no longer can use Tailscale or other Wireguard-based solutions. My home server is behind a NAT. What other ways of secure private connection can I use?

View original on lemmy.ml
150

84 replies

slrpnk.net

Can you set your NAT to port forward a port to your ssh host?

I'm currently using yggdrasil to deal with this problem, though I've also used tor hidden services.

7
myszkareply
lemmy.ml

Unfortunately I'm behind CGNAT and yggdrasil is also partly blocked here (works super slow)

1

This is what I do. For best security practice, make sure to use public key authentication and disable password authentication so nobody can even try to guess your password.

2
sopuli.xyz

Zerotier. They have their own protocol, and there's a free tier that lets you connect up to ten machines to make a network.

Also possible to selfhost, although I haven't done it.

5

Thanks! But zerotier is also blocked here 😅

1
lemmy.ml

I have successfully setup trojan / trojan-go on my server. It uses port 443 and will return a standard website if the connection is not recognized as an authorized trojan-go client. As stealth as it can get.

https://azadzadeh.github.io/trojan-go/en/

3

Out of curiosity, how is WireGuard blocked in your country? I would assume you cellular provider and or ISP sniffs for the default port (51820) - can’t you just put it on another port?

5

Yes it's what I use for normal VPN, but I need to get around the NAT somehow. There's been a PR for NetBird that implements AWG but it was never merged

1

Neat, I might have to set this up for myself. It sounds like it could get around some of the VPN blocking I've seen while traveling through airports.

9
palaver.p3x.de

https://github.com/erebe/wstunnel seems like the obvious solution.

Or maybe OpenVPN over normal TLS on port 443.

You could try to run Wireguard on a different port which would be otherwise used by some very common service, maybe there's some general exemption for port 21, 22, 53, 80, 443...

41

Wow, wstunnel seems to be a very elegant solution, thanks! However I still need to figure out how to get to my server behind a NAT

2

OpenVPN is my current method. Got it running on port 443 with user certificate authentication, and tls-crypt on top of that to completely mask the protocol from VPN detectors.

Also technically prevents DoS attacks, but that wasn't my primary goal.

11
hendrikreply
palaver.p3x.de

I'm not really an expert on VPN, but I believe solutions like Tailscale, Netbird, Pangolin all leverage the Wireguard protocol.

7

Yeah, WG is by far the best way to do this kind of networking.

4
lemmy.zip

I haven't tried it myself but I've been looking at NetBird.

Elevator pitch page

Maybe others who've used it or know more can chime in on if this is a good idea or not?

5
myszkareply
lemmy.ml

Yes, that's what I used to use! Love it, but wireguard is blocked

2

Sing-box is a VPN tool built to evade censorship https://github.com/SagerNet/sing-box . It is extremely resilient and stealthy.

See also, xray and v2ray, which are similar, but in my experience sing-box is a bit better documented (at least in English) and has better maintained client apps.

Setting any of these up can be complicated, but LLMs can get you pretty far if you have safe access.

14

Well you'd still depend on someone else's will to provide you with robust and uncensored internet connection. The actual solution is to build a decentralised people-owned network using Reticulum for example. Reticulum over WiFi HaLow already works very well for small-scale local networks.

1

That's an ideal solution. The best solution is what works immediately and within your capabilities.

8

The phrase "fun at parties" has been banned from my sight. I cast Quickened Spell: 1000 Downvotes

-1
exu
feditown.com

Self hosted networking! Legitimately one of my favourite topics

You won't get around the requirement of a publicly reachable endpoint. That can either be a small server with a public ip or dynamic DNS to your home with port forwarding for the VPN.

A classic option is OpenVPN. You can run it on Port 443 in TCP mode and while it won't be performant, it has a better chance of bypassing most simple blocks

Other than that I'm a fan of completely decentralized mesh VPNs.

The one I use and am most familiar with is Yggdrasil. Connections can be established over TCP, TLS or QUIC on any port you want.
I've written a somewhat lengthy comment under this post. One advantage to Yggdrasil would be its existing public network. If you can firewall of your home lab to the point where joining the public network doesn't expose a security risk to your local network, you could use that to transport your traffic instead of having your own public node or port forwarding.

The same post also mentions Anywherelan, it's intended to have better NAT handling out of the box by using community nodes.

Then there's also EasyTier mentioned at the bottom, it is a Chinese project and those tend to have good censorship resistance.

Finally I'll mention Nebula, it requires at least one coordination server but might also be an option

33
pawb.social

OpenVPN in TCP mode wrapped around Stunnel. That's the thing that works.

I have it set up to bypass VPN restrictions in some networks, but it also serves to bypass a lot more stuff if you know what you're doing.

DPI will only see TLS traffic, and assume it's HTTP. You can even try to fool it by modifying the packet headers, so dumb enough DPI will think you're connecting to the site you choose.

19

We have had success with this on port 443 and it appears to do a good job on networks that only allow browsing. Usual problems with TCP based VPN still apply.

2

Yes, I've tried that, but it's not robust enough. This is what I'll eventually resort to, if I don't find a better solution.

1

First, you need to verify whether you actually have a public IP or if your ISP has you stuck behind CG-NAT, because that dictates your options.

​If you're behind CG-NAT, ​Cloudflare Tunnel (cloudflared): This is usually the easiest path if you are mostly trying to access web-based services (HTTP/HTTPS) on your server. Your home server initiates the outbound connection to Cloudflare, so CG-NAT doesn't matter. You just set up a domain (or subdomains) for each service you want to reach. If you need full network-level or SSH access rather than just web apps, check out ZeroTier.

​If you have a direct public IP (even a dynamic one), you can run a reverse proxy like Caddy paired with a free DDNS provider like DuckDNS or FreeDNS. One nice thing about Caddy is that it handles getting and renewing real, valid Let's Encrypt SSL certificates automatically, so you don't have to deal with manual or self-signed certs at all.

​Dealing with the WireGuard block, if your country's ISP is using Deep Packet Inspection (DPI) to identify and drop WireGuard traffic, traditional VPNs like OpenVPN might get blocked pretty quickly too. If you still want a true VPN setup, look into AmneziaWG (it's a fork of WireGuard specifically modified to scramble packet signatures and bypass DPI) or obfuscated proxy protocols like V2Ray / Xray or Shadowsocks.

15
swg-empire.de

Port forward your SSH-server. You can forward ports through SSH to access web services or others running on the server or anything else in the network.

But only allow access through keys. And maybe try to use a different port than 22. That usually gets hammered a lot, trying to find accounts with weak passwords.

17

Yep, that a good option. But only with a key ! Not with a password.

Bot from everywhere will try to forcebrut attack with many password attempt.

I got in this situation in the past. Nothing wrong happened, but it was stressfull.

5

Changing the port doesn't actually accomplish much

Best practice is to just harden SSH so that not traffic gets nowhere

3

Based on what you planning to do, maybe mTLS could be a solution.

1

Tor Hidden Services, easy to set up on the server side, can be annoying on the client side but HTTP and SSH are fine. Can be a bit slow but IMHO still usable.

3
lemmy.world

I'm new to all this, how is wireguard banned and enforced? Seems odd

7

WG is not meant to be a stealthy protocol and is easy to detect at the ISP level. It has distinct characteristics that packet inspection tools can use to identify it by examining the traffic and block or flag it. Blocking it completely is trivial for any ISP, much less a nation.

There are modified versions like AmneziaWG that make it stealthier, or alternative protocols built to evade traffic inspection like xray or sing-box (these two are really more like protocol frameworks that have multiple protocols you can use). It's a bit of an arms race for packet inspection tools to be able to reliably identify these intentionally stealthy protocols, but the advantage is generally in your favor as long as you are using your own servers and not public VPNs. Though even then you need to take care to camouflage your traffic to be truly safe, like if you are shoving all of your traffic through one remote server that has approximately the same amount of traffic going out immediately etc that is something that can also be identified.

How much precaution is actually warranted depends on where you are and what the potential consequences are. You don't have to go to a full tinfoil hat paranoia level setup to avoid most blocking.

6

I'm an expert at nothing, but I would imagine that different VPN like WireGuard have different detectable signatures, much like different browsers have different signatures that can be detected. Also, for commercial VPNs, the IPs that the VPN company uses are easily identifiable.

2
lemmy.world

So this has been interesting to me as I'm travelling at the moment and wireguard has been blocked on the guest wifi I've been on across the hotels, I've had to rely on cellular instead.

I've just tried Teleport on my Unifi router and that works. I believe it uses wireguard, and it is taking up to 20secs to connect, but I'm now curious as to what it's doing to bypass the VPN restrictions that are blocking plain wireguard.

5

How is this even a thing? Businesses can't just have open network connections.

You could set up wireguard via stunnel maybe to port 22

2
lemmy.world

Wow. Do they block VPNs inside your country too?

Anyway, there's openvpn and there's nebula (I think nebula doesn't use wireguard.. do double-check), or you look into things built specifically to hide traffic (keyword: "vpn obfuscation").

No idea if VPN protocols other than wireguard may be blocked too (probably?).
No idea if trying too hard to circumvent government policies may get you added to some list you'd rather not be in.

9
Tigerreply
sh.itjust.works

Wireguard is effectively blocked in China, from my experience so far.

6
lemmy.zip

China uses deep packet inspection so that makes sense

I think the the great Firewall is less restrictive with QUIC traffic. It might be worth trying fragmented QUIC as from what I've read the GFW struggles to reconstruct the traffic

3

I use two services that do work and alternate between them: Mullvad with Obfuscation turned on, and Ghelper paired with Shadowrocket (China side ones used by Chinese devs)

1

From what I can tell, the issue with Wireguard is that the traffic is quite obvious. Other options might be blocked, but technically harder to implement said blocks.

5
lemmy.world

Big Netbird fan, and they support a fully self hosted version.

8

See if you can use ZeroTier. It doesn’t use wire guard but rather their own protocol as far as I know.

7
quokk.au

That's quite fascinating, didn't realize Wireguard could be blocked in that way (although the WG traffic is pretty obvious looking, so it makes sense). The only solution I know of without a need for a VPS is hosting everything on Tor. Wildly private and secure, but also wildly slow. Beyond that, there are a number of ways of using a VPS to similar effect, I know people have used Cloudflare Tunnel to similar effect in the past.

Also, there are apparently quite a number of wiregaurd derivatives which protect better against detection and blocking methods. amnezia and wstunnel are the two that came up. Likewise, you will need a VPS, and might even be able to set up a tailscale-like coordination server that way (maybe with headscale, or maybe with one of its competitors like NetBird).

ZeroTier might also get the job done, but I really don't know much about it.

Hope this helps, and good lucks!

6

Thanks! I do have a VPS. Can amnezia or wstunnel be used with headscale? That'd be amazing

1

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

Fewer LettersMore Letters
CGNATCarrier-Grade NAT
DNSDomain Name Service/System
ISPInternet Service Provider
NATNetwork Address Translation
SSHSecure Shell for remote terminal access
TLSTransport Layer Security, supersedes SSL
UnifiUbiquiti WiFi hardware brand
VPNVirtual Private Network
VPSVirtual Private Server (opposed to shared hosting)

[Thread #84 for this comm, first seen 21st Aug 2026, 16:20] [FAQ] [Full list] [Contact] [Source code]

5

I had luck with zerotier before switching to wireguard, but I imagine it has similar issues as talescale. Worth a try

5
lemmy.today

Can you switch to IPv6? My ISP NATs me on IPv4 but I'm clear through on IPv6 and so that's how I run everything.

I'm assuming the NAT is your ISP's, if it's yours then ignore me.

4
adultswim.fan

If you get a Mikrotik router it comes with a back to home VPN server and a dedicated DDNS.

You need to know a bit about network configuration, although the setup wizard is sufficient for most use cases.

When you enable to BTH VPN, it does all of the configuration for you. And it works for me behind a double NAT

2

I believe the back to home VPN from MikroTik is also wireguard. At least it is on mine. No idea if you can use a different VPN solution with it.

1
lemmy.zip

Possibly Tor? It supports TCP traffic so SSH should work

Outside of that I would look into censorship resistant protocols and techniques. What country are you in?

2
myszkareply
lemmy.ml

Tor is slow and... also blocked here 😁

I know of many working VPN protocols but I don't know how to use them to route traffic through an intermediary VPS (bc my home server is behind a NAT)

1

OpenVPN on port 443 would be my guess. Just regular nat or carrier grade nat.

2
lemmy.today

I'll recommend this new VPN thing :

https://rayfish.xyz/

Its new so its evolving quickly with weekly releases and nightly builds.

Lots of people have told me about their grievance list due to AI having a big part in the development. It's a bunch of guys in the team, so there's the human element there.

As for my opinion, it's the only VPN I've managed to get working on my own.

I lost connection yesterday and I am not sure what happened but my home computer and my phone were on the same VPN constantly for a week. Jumping from the house WiFi to 5g didn't break the VPN connection but it did take a few seconds the first time I did it.

My other option would be Tailscale.

Update on the lost connection. I had restarted my computer and that changed my firewall device name for the VPN. So it was not rayfish related. It's been pretty steady since.

-3

Looks promising, but the ai part throws me off too. But I'll give it a try

2
lemmy.ca

Can you port forward on the router?

0

Not really, but I wouldn't directly expose my server anyways

1
BCsvenreply
lemmy.ca

Why? wireguard doesn't respond if the keys are wrong.

1

WireGuard doesn't work at all because it is blocked in OP's country. OP wants an alternative. Dumping all security and encryption is certainly an alternative, but I am certain that this is counter to what OP is trying accomplish, given their initial choice of Tailscale (WireGuard on steroids).

1