New to Wireguard and VPNs... how exactly should this work? - eviltoast

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?

  • mikyopii@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    9 months ago

    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.

    • Nimrod@lemm.eeOP
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      Okay, I thought something seemed a bit odd about what I was doing. So for my use case, I only need to access my home network with my phone, or my laptop. So all I need is a wireguard server on my home network (currently the case, running wg-easy), and the wireguard client on my phone and laptop.

      I have that happening right now. And strangely when I am connected to my home wifi I am seeing the “last handshake” information in the wireguard app. But as soon as I turn off wifi and attempt to use my cell network, that line disappears from the app.

      Although the frontend webpage for wg-easy still shows my phone connected.

      Lets pretend it is connected. You’re saying I could simply type “192.168.3.69/login” into my phone’s browser, and I would see the mineos login page as if I was on my home’s wifi?? Because that would literally be perfect.

      • mikyopii@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        9 months ago

        If everything is correct… yeah it would. If you are using hostnames to connect home then you will probably need to use the FQDN for it to work.

        I was in vacation in Brazil and I would work on my server in the United States during my downtime.

        • Nimrod@lemm.eeOP
          link
          fedilink
          arrow-up
          2
          ·
          9 months ago

          Damn. That sounds perfect. That’s exactly how I was hoping it would work. But for some reason my phone won’t connect… I wonder how to troubleshoot it.

    • Nimrod@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      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…