

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.




Never used VyOS so can’t help there. I do use OpnSense, TP-Link Omada EAP-650’s (with an isolated vLAN for the guest network) multiple vLAN’s for cameras, iot, management, Trusted devices, and DMZ, along with Wireguard for remote access and since my ISP only gives me an IPv4 address I use a Wireguard tunnel to Route64 for IPv6 connectivity, a cellular connection for backup internet connectivity, CrowdSec, Intrusion Detection, Caddy, and UnboundDNS.
I used multiple different Router OS’ since around 2005 and settled on OpnSense years ago. I stick around because there is rarely an issue and the reporting system makes it easy to visually spot issues.