I want to move away from Cloudflare tunnels, so I rented a cheap VPS from Hetzner and tried to follow this guide. Unfortunately, the WireGuard setup didn’t work. I’m trying to forward all traffic from the VPS to my homeserver and vice versa. Are there any other ways to solve this issue?
VPS Info:
OS: Debian 12
Architecture: ARM64 / aarch64
RAM: 4 GB
Traffic: 20 TB
Yeah, might be worth a shot. iptables is nice, but very verbose and somewhat obtuse.
I’d just clear out iptables completely and use
ufw
. Should be in Debian’s package manager.Here’s a cheat sheet: https://www.digitalocean.com/community/tutorials/ufw-essentials-common-firewall-rules-and-commands
What do you mean with “clear out iptables completely”? Should I remove the iptables package with
sudo apt remove iptables
?I believe
iptables --flush
should clear out any entries you’ve made. You can also reboot and clear them (unless you’ve got scripts bound to your interface up/down config that adds rules).Basically just need to get any custom iptables rules you made out of there and then re-implement any FW rules with
ufw
You can still use iptables alongside UFW, but I only use those for more complex things like port forwarding, masquerading, etc.
Alright, I switched to
ufw
and… it’s still not working. sighShould we just try something completely different? WireGuard doesn’t seem to be working on my VPS. Someone in the comments mentioned tunneling via SSH, sounds interesting.
That would work, but I’ve noticed performance isn’t as good as a UDP VPN that uses the kernel’s tun module. OpenVPN is also an option, but it’s a LOT more involved to configure (I used to run it before Wireguard existed).
The oddest part is you can’t get a netcat message through. That implies firewall somewhere.
What is the output of your
ufw status
?I’ve added some different ports for the future, but this is my
ufw status
:Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 51820 ALLOW Anywhere 2333 ALLOW Anywhere 80 ALLOW Anywhere 81 ALLOW Anywhere 443 ALLOW Anywhere 80/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 51820 (v6) ALLOW Anywhere (v6) 2333 (v6) ALLOW Anywhere (v6) 80 (v6) ALLOW Anywhere (v6) 81 (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6)
I can’t recall if
ufw
opens both TCP and UDP or just TCP by default.Try explicitly allowing 51820/udp with
ufw allow 51820/udp
I’ve added the firewall rule and it still says
no port[s] to connect to
whenever I runecho "Testing" | nc -u SERVER_IP -p 51820
. I feel like you’re trying to stay on a sinking ship, so I would suggest to try another method to see if we even can get the whole “bypass CGNAT with a VPS” thing to work at all.Update: I’ve tried setting up SSH tunneling instead and it STILL doesn’t work. I contacted Hetzner support about this issue and I’m hoping that they can resolve the firewall issues that I’m having.