EDIT: It seems something is causing my wireguard hanshake to fail. I can't find much on this particular error except "try rebooting the wg server". I rebooted everything, and I can't get it to connect unless the clients are already connected to the home wifi.
So I installed wg-easy on my one of my virtual machines on my proxmox "homelab". It seems to be working, and I installed the client wireguard-tools on my phone (via app), and on my laptop (EndeavorOS), and on my minecraft server (mineOS also in proxmox).
The web client for wg-easy shows all 3 clients connected and transmitting data.
I used my routers app to open the port to the wg-easy server.
I attempted to use my phone's cell network to pretend like I am not home, and simply ping my minecraft server. I tried with the wg ip (10.8.0.x) and I tried pinging the normal wlan ip (192.168.x.x). Neither work. I'm really confused as to why this simple test didn't work. The documentation on wireguard's site is pretty sparse when it comes to testing your own setup. Doe anyone have any resource to help me understand how this should work?
Side note: I have to have wireguard installed on every computer in my home network if I want to be able to reach them, correct?
other side note: If I wanted to reach my minecraft webUI (mineOS) from outside my network, what address should I use?
You have WireGuard installed on your Minecraft server? On every computer? That isn't correct.
Once you are successfully connected to the VPN everything should behave like you are physically within your network even if you aren't. You should connect to your Minecraft server like normal.
The WireGuard iOS/Android app has a part where you can see when your last handshake was. If that isn't happening then you aren't connected.
This comment has been haunting me a bit. I have been struggling with my port forwarding in the rest of this thread, so I decided I need to investigate alternatives. I've heard good things about Tailscale, so I started googling. The following quote is directly from the Tailscale web-page: (emphasis mine):
"WireGuard is typically configured using the wg-quick tool. To connect two devices, you install WireGuard on each device, generate keys for each device, and then write a text configuration for each device. The configuration includes information about the device (port to listen on, private IP address, private key) and information about the peer device (public key, endpoint where the peer device can be reached, private IPs associated with the peer device). It’s straightforward, particularly for a VPN. Every pair of devices requires a configuration entry, so the total number of configuration entries grows quadratically in the number of devices if they are fully connected to each other."
I find it odd that they would say this, if the Wireguard VPN works as you stated. Any tutorial or article regarding wireguard fails to make this discussion obvious, so I am now even a bit more confused. (still won't solve my port forwarding issue. So I guess I'm stuck with Tailscale anyway...